之前公司的app使用的http协议,因此不需要安装证书也能够转包。
后来改成https协议后,在使用fiddler进行抓包时,一直出现tunnel to 443。
百度了好久也没有具体的解决办法,后来发现需要在手机端安装fiddler的证书才行,安装后,再次抓包,立即解决。
要解密HTTPS流量,还需要在移动设备上安装刚刚设置的根证书;
具体步骤如下,以Android手机为例:
1.要保证pc端的fiddler打开,如图
2.打开手机浏览器,输入http://[FIDDLERSERVER]:[Port]/FiddlerRoot.cer,此时会下载fiddlerRoot.cer文件。
eg: 以我的ip为例,输入http://192.168.0.65:8888/FiddlerRoot.cer
3.下载完成后,进入 设置->系统安全->从存储设备安装证书,选择刚刚下载的fiddlerRoot.cer文件,点击安装,提示安装成功。
安装成功后,在系统安全->信任的凭据 可以看到刚刚安装的证书,如下图:
4.再次打开fiddler进行抓包,这样抓包解析成功了。
5. api24解决方案:安卓没有提供系统层面上的设置,所以只能在应用上下功夫了,需要在应用代码配置中进行配置,相当于开发者留后门,否则就只能root设备,然后绕过证书验证了。严格意义上来说,安卓这是无解的。下面提供代码配置内容吧
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
</trust-anchors>
</debug-config>
</network-security-config>
有疑问的可以查看下面这个帖子,但是需要 梯子
https://textslashplain.com/2016/07/27/using-fiddler-with-ios-10-and-android-7/
---------------------