Fiddler手机抓包 - zLulus/My_Note GitHub Wiki

思路

1、手机连电脑wifi,设置代理,走过电脑的代理拦截
参考资料:http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureForAndroid

2、电脑与手机连接同一个局域网,手机设置代理

3、装个模拟器,用电脑模拟器抓包

4、从路由器抓包

补充:数字证书

https请求需要安装数字证书,使用fiddler,下载软件提供的数字证书,在手机上安装

概念

数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名)。它是由权威机构——CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。

手机-下载并安装Fiddler的数字证书

打开Fiddler,在菜单栏中选择Tool-Options-HTTPS
找到Actions下拉框,Export Root Certificate To Desktop
qq 20171019090537 将桌面的.cer导入手机,并在手机设置里面添加数字证书
1
也可以查询电脑的ip,在手机浏览器中打开 IP:端口号(8888),下载证书并安装

手机抓包-Fiddler的相关设置

2

手机连接电脑的wifi-设置代理

IP为连接电脑的IP
1

注意——fiddler抓不到的情况分析

fiddler并不是支持全部协议

fiddler并不支持全部协议,目前已知的有http2、tcp、udp、websocket等,如果应用走了以上协议,那么fiddler肯定是抓不到的。
http2:因为fiddler是基于.net framework实现的,因为.net framework不支持http2,所以fiddler无法抓取http2

证书写死在app中,fiddler不能抓取

fiddler抓包的原理是中间人攻击,也就是说,两头瞒,欺骗客户端&&欺骗服务器端,如果https证书写死在app里,也就是说,app不信任fiddler颁发给它的证书,app只信任自己的证书,fiddler没法瞒客户端了,因此fiddler也就抓取不到包了。
再多说几句,如果是自己开发的app,开发调试方便起见,可以使用类似wireshark的工具导入服务器证书,抓包解密。
原文:https://blog.csdn.net/wangjun5159/article/details/52202059