Filddler 笔记

确保你的Android设备和你安装Fiddler的电脑都连接到一个WiFi AP上

Fiddler默认是不抓取HTTPS包的,需要进行相应的配置。

打开Fiddler, Tools -> Fiddler Options -> HTTPS 勾选 “ Capture HTTPS CONNECTs “ , 勾选 “ Decrypt HTTPS traffic “

如果你要监听的程序访问的HTTPS站点使用的是不可信的证书,则请接着把下面的 “ Ignore server certificate errors “ 勾选上。

Tools -> Fiddler Options -> Connections 监听端口默认是8888,当然你可以把它设置成任何你想要的端口。请一定要勾选上 “ Allow remote computers to connect “ 。

打开手机wifi,输入wifi ssid password ,勾选 “ 显示高级选项 “ 。在接下来显示的页面中,点击 “代理”,选择 “手动”, 在 “代理服务器主机名” 和 “代理服务器端口” 中写上前面得到的地址和端口,最后点“保存”。

Fiddler本质上是一个HTTPS代理服务器,其自己带的证书显然不会在Android设备的受信任证书列表里。

有些应用程序会查看服务器端的证书是否是由受信任的根证书签名的,如果不是就直接跳出。为了保险起见,我们要将Fiddler代理服务器的证书导到Android设备上。导入的过程非常简单,打开设备自带的浏览器,在地址栏中输入代理服务器的IP和端口,例如本例中我们会输入192.169.191.1:8888,进入之后会看到一个Fiddler提供的页面:点击页面中的“FiddlerRoot certificate”链接,接着系统会弹出对话框,输入一个证书名称,然后直接点“确定”就好了。

Fiddler抓包优点:

  1. 手机不需要root就可以抓包;

  2. 可以用真机抓包,有些程序是抗动态分析的,能够判断自己运行在模拟器中。

缺点:

  1. 必须要用WiFi连接

  2. 要抓包分析的应用程序必须自己支持代理服务器的设置。

可能遇到的问题

手机无法连到代理1

在电脑中开启了猎豹wifi,开启fidder软件,配置代理端口8888,手机连接猎豹wifi,在wifi高级中配置fidder代理

手机配置代理:wifi(连接猎豹wifi)–>高级
代理:手动
主机名:通过ipconfig 查询出的电脑IP地址
端口:fidder 设置的端口8888 (fidder–tools–options–connections–fidder listens on port:)
在使用过程中发现手机连接上猎豹wifi,并设置代理主机名、代理端口后,依然无法正常上网,无法使用fidder代理,最终找到原因是因为IE导致,修改IE 配置如下所示:
IE -> 设置 -> Internet选项 -> 连接 -> 局域网(LAN)设置 -> 局域网设置(L) -> 代理服务器 -> 为LAN使用代理服务器(这些设置不用于拨号或VPN链接)(X) 把前面的复选框取消掉

手机无法连到代理2

控制面板 -> 系统和安全 -> Windows Defender 防火墙 -> 允许的应用

References

[1] Fiddler教程
[2] Fiddler 教程
[3] Fiddler抓取Android真机上的HTTPS包
[4] fiddler抓取https请求(android/ios)
[5] Wireshark和Fiddler分析Android中的TLS协议包数据(附带案例样本)
[6] 无法连接使用Fidder代理
[7] Fiddler:手机连接代理后无法上网的问题
[8] ConfigureFiddler