Fiddler无法抓到https的解决方法
电脑换了硬盘,重装了系统,今天安装Fiddler后无法抓到来自手机的https请求,有以下表现
1、在手机浏览器上访问网页提示证书不可信任;
2、选择继续访问后,网页上的文字加载出来了,但是图片显示不了;
3、安卓手机调用接口,在fiddler中有的请求显示Host为Tunnel to,有的能正常抓包,而使用iPhone手机访问,则全是Tunnel to,如下图:
在网上找了很多方法都没有用,自己也尝试过重装Fiddler、重装手机里的证书,都没有用,最后通过以下方式解决了。
这个问题引起的原因是:
在新版本的Chrome、IOS、Android中,默认拒绝有效期超过398天的证书,然而Fiddler默认签发的证书有效期长达5年,因此需要修改其证书签发参数。
具体操作如下:


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

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
prefs set fiddler.certmaker.ValidDays 360
然后
重启Fiddler
在Fiddler中重新生成证书(这个过程会删除旧证书)

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