Fiddler实现手机抓包
本篇文章内容介绍Fiddler手机抓包
阅读目录
- 手机抓包的作用
- Fiddler手机抓包的原理
- 手机抓包环境的准备
- 设置Fiddler允许远程电脑连接
- 设置手机的WLAN网络和代理
- 测试Fiddler监听手机HTTP
- iOS手机安装证书
- 测试Fiddler监听手机HTTPS
- Android手机安装证书
- 卸载Fiddler证书
手机抓包的作用
Fiddler不但可以监听PC计算机上的HTTP/HTTPS报文,也可以监听手机上发出的HTTP/HTTPS报文。
要学习Fiddler手机抓包,那么要知道Fiddler对手机的抓包有什么用呢?
1.用于对移动端站点的接口进行测试,分析数据。
2.用于修改手机的请求或响应 。
3.用于Fiddler对手机端的响应进行重定向,把HTTP请求转发到本地开发环境,提高程序调试和测试的效率。
例如:对运行在微信公众号中的站点的接口进行测试或调试,还有微信小程序,小程序只能在手机上运行,所以必须用手机抓包。
Fiddler手机抓包的原理
手机抓包环境的准备
1.电脑上已经安装Fiddler
2.手机和电脑处在同一局域网
设置Fiddler允许远程电脑连接
要想让电脑上的Fiddler能监听手机上的报文,我们首先要设置Fiddler允许远程电脑连接,启动Fiddler,单击菜单栏中Tools->Options->Connections选项卡,勾上“Allow Remote computer to connect”,点击“OK”(设置后记得要重启Fiddler)
设置手机的WLAN网络和代理
只设置Fiddler允许远程连接还不够,还要设置手机的网络和代理
(1)设置手机的网络连接和电脑处于同一个无线网络
(2)手动设置手机WLAN的HTTP代理
先要让手机的和电脑处于同一个无线网络,然后把手机的HTTP代理设置为和电脑一样的ip地址, 要知道电脑的网络ip地址, 可通过cmd命令ipconfig查看电脑的ip地址
从上图得知我的电脑ip地址是192.168.1.124,所以手机连的无线局域网中把HTTP代理设置的服务器ip填此地址,端口号填8888, 如下图所示
测试Fiddler监听手机HTTP
我们此时就可以来监听手机发出的HTTP报文了,在手机浏览器中输入http://www.5khouse.com,前往此地址
此时fiddler就能监听到手机浏览器发出的HTTP报文了,如下图所示
但是如果浏览器里面输入的是https://www.baidu.com,则会出现如下无法访问的情况
这是因为Fiddler要监听HTTPS的数据报文,手机里面必须安装Fiddler证书。
iOS手机安装证书
这里以iphone XR为例,打开iOS手机内置的的Safari浏览器,在地址栏中输入http://ipaddress:8888 ,这里我的 ipaddress 就是我计算机的内网地址 192.168.1.124,所以就是 http://192.168.1.124:8888
前往此地址
点击FiddlerRoot certificate,选择允许
点击安装
如果手机设置了锁屏密码,则弹出密码框要求输入锁屏密码,输入完密码后点击安装就把证书安装成功了。
测试Fiddler监听手机HTTPS
接下来测试fiddler监听手机端HTTPS报文,在此之前先保证Fiddler本身是可以监听HTTPS请求报文的,设置如下:
访问https://www.baidu.com,但是往往此时仍然无法访问HTTPS网站,这是因为安装的证书默认没有启用,需要手动去开启。
在手机中依次进入 设置 –> 通用 –> 关于本机 –> 证书信息设置,将Fiddler的证书开关打开就好了
Android手机安装证书
安卓系统的手机用上面这种方法经常不容易成功,可以把证书从电脑中导入手机里面进行安装,
单击菜单栏中Tools->Options->HTTPs选项卡,点击”Actions”,在弹出的列表中选择“Export Root Certificate to Desktop”
点击过后,证书就会导出到桌面上,证书的文件名为FiddlerRoot.cer 。
接下来把证书复制到手机当中,可以采取通过PC端的微信发到手机微信中
接收的文件是存放在tencent->MicroMsg->Download路径中
通过进入手机的 设置->更多设置->系统安全->从SD卡安装->内部存储空间,找到tencent->MicroMsg->Download文件夹中的这个文件,点击安装,会提示为证书取一个名字,随便取一个好记的名字。
点击”确定”按钮就安装好了。
卸载手机的Fiddler证书
想要卸载Fiddler证书,这里以iOS系统为例
在手机中依次进入 设置 –> 通用 –> 描述文件 ,将Fiddler的证书移除就好了