使⽤fiddler实现⼿机抓包
⼿机上⽆法直接查看⽹络请求数据,需要使⽤抓包⼯具。Fiddler是⼀个免费的web调试代理,可以⽤它实现记录、查看和调试⼿机终端和远程服务器之间的http/https通信。
fiddler没有⼿机客户端,都是安装在PC上,要实现对⼿机上的程序抓包,则需要对PC上的fiddler和⼿机端做⼀些配置。步骤如下:
⼀、PC端fiddler配置
1. 安装HTTPS证书
⼿机上的应⽤很多涉及到个⼈信息,采⽤⽐较安全的HTTPS加密过,⽽fiddler默认只捕获http会话⽽不抓取HTTPS报⽂,导致打开fiddler后就打不开https⽹页(⽐如百度),解决办法:打开Fiddler->Tool->Fiddler Options->HTTPS tab,勾选上并Capture HTTPS CONNECTs(捕获 HTTPS 连接)和 Decrypt HTTPS traffic (HTTPS 请求解密),并安装证书(⾸次使⽤⽆证书,会弹出是否信任fiddler 证书和安全提⽰,直接点击yes就⾏),重启Fiddler⽣效。
fiddler HTTPS配置
2. 允许⼿机远程连接
如果想要捕获⼿机上的通信数据,就需要⼿机连接上Fiddler代理,⽽Fiddler默认是不允许其他设备进⾏连接的,解决办法:点击 Fiddler->Tools -> Options,在 Connections ⾯板选中 Allow remote computers to connect 允许其他设备连接(此操作需重启Fiddler⽣效)。
允许远程接⼊
3. 查看IP地址
电脑ip地址可通过cmd命令⾏输⼊ipconfig查询,或⽹络连接信息中到,最直观的⽅法是将⿏标置于fiddler右上⾓的online中即可显⽰电脑的ip地址。如下图我的IP是192.168.1.106。
电脑IP
⼆、⼿机端配置
需要在移动终端(⼿机或pad)上指定代理服务器为Fiddler所在主机IP(需要处于同⼀⽹络),端⼝默认8888。
1. 接⼊⽹络
要保证⼿机和安装有fiddler的电脑处在同⼀局域⽹内,⼿机能ping通电脑。⽅法:家⽤或办公环境把PC和⼿机WLAN连接上同⼀个路由器的⽆线SSID获取到同⼀⽹段内的IP地址即可。台式机要插⼊⽆线⽹卡才能连WiFi,最好⽤笔记本电脑和⼿机连同⼀WiFi很⽅便。如下图,我的⼿机IP是192.168.1.104,与电脑192.168.1.106可互通,就能访问192.168.1.106:8888。
⼿机IP
2. ⼿机安装根证书
在⼿机上需要安装Fiddler根证书,因为Fiddler是通过⾃⼰⽣成的证书对⽹络请求重新签名进⾏https会话解密的,如果不安装证书的话只能抓取HTTP请求。
下载证书.png
证书.png
(2)为证书命名后点击确定;
为证书命名
(3)要求设置⼀个⼿机密码,⾃⼰设置⼀个,记住密码就⾏,最后不⽤了去系统-安全-密码中去掉即可;
手机改自己家wifi密码设置密码
3. ⼿机代理设置
更改⼿机⽆线⽹的代理⽅法:打开系统设置-WLAN,长按WiFi接⼊的SSID修改⽹络,点击⾼级选项,代理选择⼿动,主机名输⼊fiddler的电脑ip地址192.168.1.106,端⼝号输⼊8888,保存即可。
代理设置
三、抓包
PC上和⼿机上的配置完成后就可以操作⼿机,在电脑上⽤fiddler抓包了,⽐如访问⼀些⽹站和APP,fiddler中就会显⽰捕获到的⼿机上HTTP/HTTPS通讯记录,抓包成功。
四、还原⼿机状态
抓包结束后,需要⼿动还原⼿机状态,⽅法如下(不同机型可能有些微差别):
(1)停⽌电脑对⼿机的⽹络监控:系统设置-WLAN,长按wifi修改⽹络,⾼级选项到代理,去掉⼿动代理即可;
(2)删除⼿机中证书:安卓系统设置系统设备安全受信任的凭据⽤户,点击证书删除即可;
(3)删除⼿机上密码:⼿机系统—安全—密码,删除系统密码即可。