before
写在前面的话,目前,移动端抓包越来越难了,大家反抓包反的比较严。
另外,还有些注意事项:
- 确保你电脑端的防火墙处于关闭状态。
- 移动端设备和电脑处于同一个局域网内,如连接的是同一个WiFi。
移动端抓包原理
想要Fiddler抓取移动端设备的数据包,其实很简单,先来说说移动设备怎么去访问网络,看了下面这张图,就明白了。

可以看得出,移动端的数据包,都是要走路由器出去,所以我们可以把自己的电脑开启热点,将手机连上电脑,Fiddler开启代理后,让这些数据通过Fiddler,Fiddler就可以抓到这些包,然后发给路由器(如图):

开始干吧!
fiddler设置
在开始进行移动端设备设置之前,我们还需要对fiddler进行设置。
- fiddler菜单栏
Tools▶Options▶HTTPS选项,勾选Capture HTTPS CONNECTs和Decrypt HTTPS traffic。

- fiddler菜单栏
Tools▶Options▶Connections选项,勾选Allow remote computers connect,允许远程计算机连接。

然后重启fiddler。
fiddler的 IOS App抓包设置
iOS设备包含iPhone、iPad系列设备。
- 手机端,
设置▶无线局域网▶配置代理▶默认是关闭的,我们选择手动,然后配置ip:port,ip是电脑的ip,port是fiddler监听的端口,最后点击右上角的存储。

- 手机端,此时fiddler就可以抓到移动端普通的HTTP包了。但是依然无法抓取https包。所以,我们需要为移动端配置证书。浏览器访问
ip:port,ip是电脑的ip,port是fiddler监听的端口。然后选择下载证书。

- 手机端,证书下载完毕,现在需要进行安装,
设置▶点击已描述文件文件▶点击刚才下载的DO_NOT_TRUST_FiddlerRoot▶点击右上角的安装▶输入密码认证▶点击右上角的安装,提示框点击安装▶此时验证完成,点击右上角的完成,此时证书算是安装完毕。

- 证书安装成功后,在
设置▶通用▶关于本机▶证书信任设置中,信任刚安装的Fiddler证书。

- 现在,我们就可以通过fiddler抓取app的包了。下图是抓取UC浏览器的包截图。

fiddler的Android App抓包设置
- 手机端,
设置▶WLAN▶代理▶选择手动▶然后下面的输入框中,主机名输入你的电脑的IP,端口则是fiddler监听的8888端口,然后点击右上角的对勾。

- 手机端,现在打开一个浏览器,输入
IP:port,IP是电脑的IP,port是fiddler监听的端口;然后下载证书。

- 手机端,
设置▶更多设置▶系统安全▶加密与凭据▶从SD卡(存储设备)安装▶点击下载好的FiddlerRoot.cer进行安装▶用户安全验证(输密码或指纹),这里截不到屏▶在弹出框为证书命名,然后点击确定。

- 手机端,证书添加完成后,我们就可以在
信任与凭据中的用户栏查看到刚才添加的证书了。

- 现在fiddler就能抓到手机端的包了。下图是浏览器访问的必应的搜索页面。

需要注意的是,现在某些服务器对于反抓包采取的措施比较严,所以,fiddler并不能抓到所有的包。
欢迎斧正,that's all
see also: