前言
抓包在很多方面有所应用,比如常见的去广告,破解会员等等,具体自由发挥。本文测评了几种常用的软件和方法,推荐最后一个方法,敬请阅览。
电脑代理 fiddler
这个方法是利用同局域网内的 wifi 来实现的,利用系统自带的 wifi 代理设置即可在电脑上看到手机上传输的数据包。
具体端口要对应下图中 fiddler 里面设置的端口号
- 缺点:安装步骤比较复杂,还需要把证书进行转换再放入安卓手机的系统证书中(证书转换),过程繁琐而且没办法指定应用程序,整个手机的数据包都在 fiddler 中显示。使用完之后还需要删除安卓手机 wifi 中的代理设置,否则电脑的 fiddler 关闭后手机无法联网。
证书转换
步骤如下
- Android 支持以 .crt 或 .cer 文件格式 X.509 证书。
- 将.crt 或 .cer 转换为*.0 文件
- crt 格式文件
- openssl x509 -inform PEM -subject_hash_old -in CA_Name.crt | head -1
- 得到类似字符串:9a5ba575
- cat CA_Name.crt(或者 CA_Name.cer) > 9a5ba575.0
- openssl x509 -inform PEM -text -in CA_Name.crt -out /dev/null » 9a5ba575.0
- 放入/system/ca-certificates/files/
- cer(非.crt)格式文件
- openssl x509 -inform DER -subject_hash_old -in CA_Name.cer | head -1
- 得到类似字符串:9a5ba575
- cat CA_Name.cer > 9a5ba575.0
- openssl x509 -inform DER -text -in CA_Name.cer -out /dev/null » 9a5ba575.0
- 放入/system/ca-certificates/files/
- 实际测试,可能会报错,可能后缀对应的格式不正确,报错后不管格式,DER 换成 PEM 试试
手机免 root 抓包软件(packet capture)
这款算是比较常见常用的 https 抓包软件。
有着免 root 的优势,原理是将证书装入用户信任凭据,再利用手机自带的 VPN 代理将流量交由软件来处理,可以抓到大部分的网页的数据包,但是对于一些第三方 APP 就无能为力了。有些软件加入了防代理措施(一般是检测到 VPN 连接自动关闭软件),这款软件就无法使用了。作者曾经使用这款软件很长时间,直到今天找到更好的抓包软件才将它卸载掉。
手机抓包软件 httpcanary
今天在摸索如何抓第三方软件中的 https 链接,由于作者的手机是安卓 9 的系统,因此用户信任凭据对其他的应用是无效的,可以使用方法 1 电脑 fiddler 抓包来实现,但是作者觉得太过于麻烦,不值得。于是在网络上搜索,结果发现了这款软件。
这款软件的最新版可以在酷安上下载,高级版需要支付 28 元人民币,下方会提供 2.8.1 破解版的下载地址供大家使用,可以进行重发数据包,破解版需要手动导出系统证书并复制到系统中。
这款软件可以在设置中直接把证书设置为系统证书
非常的方便,大部分的数据包可以直接在手机上抓到和分析了,但是如果有防代理措施(一般是检测到 VPN 连接自动关闭软件)的话还是需要使用到方法 1 的电脑抓包。