YiluPHP
这家伙很懒,什么都没有留下...

经验 Fiddler无法抓到https的解决方法

浏览数 69100 最后修改时间
电脑换了硬盘,重装了系统,今天安装Fiddler后无法抓到来自手机的https请求,有以下表现
1、在手机浏览器上访问网页提示证书不可信任;
2、选择继续访问后,网页上的文字加载出来了,但是图片显示不了;
3、安卓手机调用接口,在fiddler中有的请求显示Host为Tunnel to,有的能正常抓包,而使用iPhone手机访问,则全是Tunnel to,如下图:


在网上找了很多方法都没有用,自己也尝试过重装Fiddler、重装手机里的证书,都没有用,最后通过以下方式解决了。
这个问题引起的原因是
在新版本的Chrome、IOS、Android中,默认拒绝有效期超过398天的证书,然而Fiddler默认签发的证书有效期长达5年,因此需要修改其证书签发参数。
具体操作如下:
方法一:
在Fiddler的命令面板QuickExec中打开about:config


添加 fiddler.certmaker.GraceDays 有效期从5天前开始
添加 fiddler.certmaker.ValidDays 有效期为360天


方法二:
直接Fiddler的命令面板中执行
prefs set fiddler.certmaker.GraceDays 5
prefs set fiddler.certmaker.ValidDays 360

然后
重启Fiddler
在Fiddler中重新生成证书(这个过程会删除旧证书)

重启Fiddler
删除手机里已经设置为信任的个人证书
重新安装手机里的证书
这样就搞定了。
我来说说