天天看点

Fiddler手机抓包实践总结

初识Fiddler

之前公司开发的时候简单的用过一次Fiddler,主要用来将服务器端的js替换成本地修改过的js进行测试。当初用到的主要是AutoResponder,截图如下,因为跟主题无关,不做赘述。

Fiddler手机抓包实践总结

进入主题:Fiddler手机抓包

1. 搞懂Fiddler的原理

Fiddler会在本地创建一个代理服务器,用来转发所有通过本地发出的网络请求和相应,因为数据都需要通过这个“中间人”-代理服务器,所以它就能够把所有的数据包都拿到,并进行解析。例如对Https进行解密。

他是用的代理地址是127.0.0.1,端口号是8888

2. 开始实践

软件环境:Windows10,Fiddler4,IOS13

前提条件:安装Fiddler的机器,跟手机在同一个网络里, 否则IPhone不能把请求发送到Fiddler的机器上来。

2.1 Fiddler的设置

网上有说需要手动设置浏览器的代理,但我在实践过程中并不需要,有可能是Fiddler版本的问题,Fiddler4会自动进行设置。

Tools --> Options,进入HTTPS,勾选项需要跟下图一致:

Fiddler手机抓包实践总结

进入Connections,勾选项需要跟下图一致:

其中“Allow remote computers to connect”一定要勾选,用来允许手机连接到本地,设置代理服务器用的。

Fiddler手机抓包实践总结

在Fiddler4设置完上面两项之后,重启Fiddler。

打开Cheome浏览器“设置--高级--系统--打开您计算机的代理设置--手动设置代理”,可以看到使用代理服务器开关已经打开,地址为:http=127.0.0.1:8888;https=127.0.0.1:8888;ftp=127.0.0.1:8888

Fiddler手机抓包实践总结

2.2 手机端设置代理

先查看Fiddler所在机器的ip,例如是11.12.13.123。

然后设置手机代理,因为每个人手机不同,这里不做截图说明,免得误导各位,网上一抓一大把。

IPhone设置代理:https://jingyan.baidu.com/article/08b6a5916a4e5614a80922c2.html

Android设置代理:https://jingyan.baidu.com/article/f0e83a256436ec22e4910169.html

需要说明的是:代理ip为:11.12.13.123,端口号:8888,其他都不需要填。

2.3 手机端安装证书

接下来用系统自带浏览器打开:http://11.12.13.123:8888, 会显示如下页面:

Fiddler手机抓包实践总结

会提示你安装证书,IOS13需要到“settiings -- general -- profile”里面,Android直接点击下载的文件进行安装即可(类如下面的图)。

Fiddler手机抓包实践总结

证书安装成功后,你打开手机浏览器访问一下百度,如果在Host里面看到有m.baidu.com,就说明成了,Fiddler已经可以抓包了。

Fiddler手机抓包实践总结

使用技巧和踩坑总结

1. Filters的使用

左侧抓包的记录会很多,我们往往只关注制定host下面的网络请求,可以在Filters下面进行过滤:

Fiddler手机抓包实践总结

2. 你的IPhone如果正在使用VPN,将无法抓包

解决方案:请关闭你的VPN

3. IPhone下设置完代理,可以打开网页但app提示网络问题

解决方案:应该是证书不一致的问题。

4. tunnel to 443无法抓包

参考一下这个方案:https://www.jb51.net/softjc/600014.html