[技术]Fiddler实现手机抓包,Android抓包https
首先上工具,当然是笔记本+手机了。笔记本安装Fiddler。
第一步:笔记本设置Fiddler相关参数。
配置fiddler允许监听到https(fiddler默认只抓取http格式的,本文方案直接一步到位抓取https数据包)。
打开Fiddler菜单项Tools->Options->HTTPS,
勾选CaptureHTTPS CONNECTs,点击Actions(生成一个fiddler证书),
勾选Decrypt HTTPS traffic和Ignore servercertificate errors两项,点击OK(首次点击会弹出是否信任fiddler证书和安全提示,直接点击yes就行),见图

配置fiddler允许远程连接
上一步之后,选择HTTPS旁边的Connections,勾选allow remote computers to connect,默认监听端口为8888(下图Fiddler listens on port就是端口号),若端口被占用可以设置成其他的,配置好后保存,建议重新启动fiddler,点击ok完成之后,PC端配置完成,如下图

第二步:接下来开始配置手机端,以安卓为例,iOS方法参考安卓
首先保证手机和电脑在同一个网络,或者电脑笔记本自带无线热点分享也行。
然后找到抓包电脑的ip地址,电脑ip地址可通过cmd,输入ipconfig查询,或网络共享中ipv4找。
如图是我测试笔记本共享热点的ip连接,也是等一下会用到的代理ip地址,端口就是上面提到的fiddler listens on p 8888

手机连接同一个网段,或者像我这样连接配置了Fiddler的笔记本共享的热点,连接上去。连接的时候显示高级选项,代理设置为手动,并填下上面步骤中确定的ip地址和端口,点击连接,如下图:

打开手机浏览器,输入http://ip:端口号,例如我的设置:http://192.168.137.1:8888,前往之后会跳转到证书下载页,见下图:
然后点击FiddlerRootcertificate下载Fiddler证书到手机上,再安装证书。
安装证书的时候,随便填写一个名字就ok了。

安装证书如果要求设置一个手机密码(其实就是手机锁屏密码),那自己设置一个,记住密码就行,最后不想用这个密码可以去设置-系统-安全-密码,把密码去掉。具体以手机设置方式为准。
这样,电脑端Fiddler就可以抓取到手机的http和https的包了。
其他问题:
停止电脑对手机的网络监控
手机-系统设置-wifi,找到代理,去掉即可;
删除手机中证书
安卓系统设置—安全—收信任的凭证—用户,点击证书删除即可;
删除手机上密码
手机系统—安全—密码,删除系统密码即可;
附录:关于fiddler在使用过程中导致firefox无法上网
这个问题,是fiddler的证书firefox不信任引起的,需要把证书加到firefox证书列表里面去,

具体方法见网友提供的思路:关于fiddler在使用过程中导致firefox无法上网
