引言
这是本猿关于《微信小程序数据采集》系列文章的第一篇《抓包工具Fiddler安装及使用》,微信小程序本质上还是一个运行在浏览器中的web应用,任然依靠tcp/http协议传输数据。Fiddler能帮我们抓取并解析tcp/http协议传输的数据,下面进入正题正式开启《微信小程序数据采集》之旅!
1.1 Fiddler简介
Fiddler 是一个 HTTP 协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的 HTTP 通讯。Fiddler 提供了电脑端、移动端的抓包、包括 http 协议和 https 协议都可以捕获到报文并进行分析;可以设置断点调试、截取报文进行请求替换和数据篡改,也可以进行请求构造,还可以设置网络丢包和延迟进行 APP 弱网测试等。
1.2 抓包原理
如上图,Fiddler 作为一个代理,先是捕捉到客户端的 request 请求,然后再自己转发到服务器端,服务器接收到请求时,会返回一个响应 response ,Fiddler 还是会继续捕捉到服务器的响应请求,再来转发给客户端,简单来说, Fiddler 就是作为一个中间人。
安装及配置
2.1 安装
2.2 Fiddler配置
- 点击工具栏中 Tools——>Options...
- 切换到 HTTPS 选项卡,勾选 Capture HTTPS CONNECTs,勾选 Decrypt HTTPS traffic,Fiddler就可以截获HTTPS请求
- 点击第2步后,就会弹出证书安装提示,若没有弹出提示,勾选Actions-> Trust Root Certificate,安装证书
- 重启Fiddler
浏览器抓包
Fiddler配置完成后,重启Fiddler就能抓取PC中发出的tcp请求了,最典型的就是通过浏览器访问网页或者接口。我们打开浏览器访问百度,如下图
安卓App/IosApp抓包
4.1配置fiddler允许远程计算机链接
安卓App抓包前先配置fiddler代理接口为8888并且“允许远程计算机链接”,然后重启fiddler。
4.2 安卓/ios安装fiddler证书
保证手机和pc在同一个局域网,手机浏览器访问:http://<电脑ip地址>:8888,比如我的就是:http://192.168.1.105:8888。
然后点击“FiddlerRoot certificate”,根据提示安装,证书会安装到用户证书中。
4.3 安卓/ios配置代理
完成上面配置就能抓取App请求接口了,不过安卓7.0后只信任系统证书不在信任用户证书,基本上这条路就无效了。