Fiddler是一个强大的抓包工具,可以通过它抓取、查看和调试PC端、手机终端和远程服务器之间的http/https等通信。
Fiddler没有手机客户端,都是安装在PC上,要实现对手机上的程序抓包,则需要对PC上的Fiddler和手机端做一些配置。
此文介绍如何使用fiddler实现苹果手机抓包,具体步骤如下:
一、对PC端的Fiddler进行配置
1、Fiddler默认只捕获http会话而不抓取HTTPS报文,所以我们要先允许捕获HTTPS。
操作步骤:
①打开Fiddler,点击Tool-> Options-> 切换到HTTPS 栏;
②勾选上并Capture HTTPS CONNECTs(捕获 HTTPS 连接)和 Decrypt HTTPS traffic (HTTPS 请求解密),并安装证书(首次使用无证书,会弹出是否信任fiddler证书和安全提示,直接点击yes就行);
③之后点击【ok】保存,重启Fiddler生效。
2、允许远程设备(比如,手机)远程连接
如果想要捕获手机上的通信数据,就需要手机连接上Fiddler代理,而Fiddler默认是不允许其他设备进行连接的,所以我们要配置先允许远程设备连接。
操作步骤:
①打开 Fiddler,点击Tool-> Options-> 切换到Connections 栏;
②在 Connections 面板选中 Allow remote computers to connect 允许其他设备连接;
③点击【ok】按钮保存,重启 Fiddler生效。
3、查看PC端电脑IP地址
操作步骤:直接在Fiddler中,将鼠标移到Online上即可查看。所以我的电脑IP就是10.3.15.108,端口号我的是8088。
二、手机端配置
1、手机接入网络,需要能够和装了Fiddler的PC端IP地址ping得通,最好是手机和电脑连接同一个wifi。
如图,我的手机连接的wifi,ip地址是10.3.41.70,电脑IP是10.3.15.108
在电脑上打开命令行,输入ping 10.3.41.70(改成你手机所连的wifi 的IP),可见可以ping通。
2、手机安装根证书。
操作步骤:
①使用手机的safari浏览器,输入网址http://10.3.15.108:8088/(就是您的PC端电脑IP地址+端口号),跳转到 Fiddler Echo Service 证书下载页;
②点击【FiddlerRoot certificate】,弹出“此网址尝试下载一个配置描述文件,您要允许吗?”,点击【允许】按钮;
③下载完成,弹出提示“已下载描述文件”;
④根据提示,回到手机的【设置】-【通用】中,找到“描述文件”,可以看到下载的证书在那里。
⑤选择安装文件,点击【安装】,根据提示完成安装即可。
注意!安装成功后,必须要回到【设置】-【通用】-【关于本机】中,对证书进行信任设置,否则会出现无法抓到包的情况。
3、安装完证书之后,设置手机代理
操作步骤:
①进入【设置】,查看连接的WIFI,进入HTTP代理,设置为手动,然后填写服务器:输入fiddler的电脑ip地址10.3.15.108和端口8088,点击【存储】保存即可。
三、开始抓包
配置好PC端的Fiddler和手机安装证书和设置代理后,就可以在手机上操作app,就可以捕获所进行的操作,然后在Fiddler查看发送的请求和响应了。
如果还是抓不到包,需查看一下是不是电脑的防火墙,是否没有允许Fiddler程序通过防火墙。勾选上允许,就可以了。
四、完成测试后,需要恢复代理方式,并移除证书。
1、恢复代理方式,关闭即可
2、移除证书
回到手机的【设置】-【通用】中,找到“描述文件”,点击进入详细页面,点击【移除描述文件】即可。