Http协议代理工具有很多,比如Burp Suite、Charles、Jmeter、Fiddler等,它们都可以用来抓取APP报文,其中charles和Burp Suite是收费的,Jmeter主要用来做接口测试,而Fiddler提供了免费版,本文记录一下在Windows系统中如何用Fiddler代理工具抓取手机APP报文。
安装fiddler
先安装fiddler,下载地址为:Fiddler | Web Debugging Proxy and Troubleshooting Solutions (telerik.com)
下载成功后,双击FiddlerSetup.exe文件安装。
为了能够解码https报文,点击“Tools->Options…”菜单。勾选“Decrypt HTTPS traffic”,选择信任Fiddler根证书,添加证书
选择 …from remote clients only
就会只抓取远程客户端的报文。
然后点击“Actions”按钮,可看到“Trust Root Certificate”可以点击,已经做了上一步信任证书的操作,这里就不需要点击了。
点击“Export Root Certificate to Desktop”导出证书。打开浏览器的管理证书页面,比如Google浏览器:chrome://settings/security,导入前面导出的Fiddler证书。
设置Fiddler代理
点击Tools -> Options… -> Connections,设置一个端口,勾选“Allow remote computers to connect”,然后重启Fiddler。
重启后浏览器访问http://192.168.0.104:8899/,其中192.168.0.104是我电脑的IP地址,8899是设置的Fiddler端口。
手机安装证书
手机要和PC处于同一局域网下,可以将它们连接到同一个WiFi。
然后手机浏览器访问地址http://192.168.0.104:8899/,点击 FiddlerRoot certificate下载证书,下载完成然后安装。
设置手机代理
手机进入连接的WiFi设置页面,配置代理:
配置完成后,Fiddler就可以抓取手机上的报文了。
抓取APP报文
比如手机访问百度,可在Fiddler上抓取到百度的HTTPS报文:
抓取到手机APP报文后就可以使用接口测试工具比如Jmeter进行APP接口测试了。
- https://dragoscampean.medium.com/how-to-debug-mobile-app-requests-and-test-their-apis-c58dcc1d7c7f
- https://www.jianshu.com/p/724097741bdf
- https://blog.csdn.net/qq_37394476/article/details/126277391
- https://www.telerik.com/fiddler
如果把来找我咨询的人比喻成述途的羔羊,通常他们手上都有地图,却没有去看,或是不知道自己目前的位置。但我相信你不属于这种情况。你的地图是一张白纸,所以即使想决定目的地,也不知道路在哪里,正因为是一张白纸,才可以随心所欲地描绘地图,一切全在你自己。——东野圭吾《解忧杂货店》
本文标题:使用Fiddler抓取手机APP报文
文章作者:hiyo
文章链接:https://hiyongz.github.io/posts/api-test-guide-for-mobile-app-with-fiddler/
许可协议:本博客文章除特别声明外,均采用CC BY-NC-ND 4.0 许可协议。转载请保留原文链接及作者。