fiddler是一个很好用的抓包软件,比wireshark这种更偏向底层的更加简单易懂。它把每一个http请求都给单独列了出来,其中包括请求和响应,在请求和响应里面可以查看各种格式的内容,是个居家旅行,撸码开发必备良品。
Fiddler官网:https://www.telerik.com/download/fiddler 请使用fiddler-classic
-
fiddler配置
电脑打开fiddler,手机电脑同一网段。fiddler打开https抓包(Tools->Options->HTTPS
),同时配置好端口(Tools->Options->Gateway
)。(监听端口默认8888,我个人习惯改成了8889)
对于普通的http请求的app,不需要进行这些配置,因为实在是太简单了。
-
电脑ip查看
win+R,输入cmd
回车。召唤出cmd,然后输入ipconfig
,ipv4的地址就是电脑的ip地址
-
手机配置代理
打开手机,连接和电脑同一网络的WiFi,找到高级设置或者代理设置,代理选择手动
,然后主机名输入上一步拿到的电脑的ipv4地址,端口输入fiddler配置的监听端口。
-
手机安装Fiddler证书
手机打开浏览器,访问刚刚输入的ip:端口
,比如我的就是192.168.10.121:8889
,在这个界面放大,找到这个蓝色的下载链接,点击下载
手机设置安装CA证书,小米手机在安全->最下面更多安全防护->加密和凭据->安装证书
,在download文件夹找到刚刚下载的fiddler-cert文件安装即可。
注意:每台电脑的证书都不一样,甚至如果重置了fiddler的证书也需要重新下载安装,否则证书会失效!表现就是手机浏览器访问任意网址都提示该网址不安全,证书异常或者证书无效。 -
打开app进行抓包
首先需要关闭左小角的capture,避免抓到电脑的包。然后手机上执行对应的操作就可以看到抓到的请求数据了。
Q & A
-
按照流程操作了还是没数据,并且app/浏览器提示证书错误或者有问题,可能是缺少了fiddler的安卓和ios插件,需要下载安装证书后,重置并重新安装证书。
插件下载地址:https://www.telerik.com/fiddler/add-ons
下载安装后,需要重置所有证书,再重复之前的下载安装证书步骤。
APP根本没有任何提示,并且可以正常操作。可能是APP内置设置了不走手机的系统代理,所以没有抓到,这里的知识就需要到下一节进行讲解了。