经过上一篇对Fiddler的配置后,绝大多数的Https的会话,我们可以成功捕获抓取到,但是有些版本的Firefox浏览器仍然是捕获不到其的Https会话,需要我们更进一步的配置才能捕获到会话进行抓包。
1.宏哥的环境是Windows 10版本 64位系统(32位的同学自己想办法哦),如下图所示:
2.宏哥安装的FireFox的版本是:56.0 。如下图所示:
一般来说对于Firefox 浏览器只要你开启系统代理或者手动设置代理就能正常的抓包。在Firefox中的设置下找到网络设置选择系统代理或者手动设置代理都可以,如下图所示:
一般情况下,经过前边的配置,就可以抓取FireFox的Https会话,但是有些Firefox的版本需要手动去安装一下证书,才可以正常的去抓取信息。否则用fiddler抓包时候,打开百度网页:https://www.baidu.com 就会出现提示:网页不安全。如下图所示:
上边图中的这个提示我们应该再熟悉不过了,就是因为客户端(浏览器)没有安装证书才会有这个不安全的提示信息。那么要解决这个问题我们只需要在Firefox浏览器里安装证书即可。
那么问题随之而来,证书从何而来呢???宏哥想让大家想一下,我们正常情况下是安装服务器配置好的证书就可以了,现在在客户端和服务器中间插入了Fiddler这个第三者。因此不用想了,证书当然是从Fiddler这里来的了。
首先我们可以从Fiddler中手动的导出证书,前提是已经按照宏哥前边的操作已经配置好了Fiddler,可以直接导出。具体操作步骤如下:
1.打开菜单栏选择Tools-->Options-->HTTPS,如下图所示:
2.点击Actions选择Export Root Certificate to Desktop(将根证书导出到桌面),如下图所示:
3.导出到桌面,此时桌面上会多一个文件:FiddlerRoot.cer,如下图所示:
1.打开右上角浏览器设置-->选项-->下面的隐藏与安全---->找到证书--->点击查看证书(打开证书管理器)-->证书机构-->导入。如下图所示:
2.选中刚刚导出在桌面的证书文件:FiddlerRoot.cer 导入,点击“打开”,如下图所示:
3.打开文件后,会弹出个框,勾选三个选项,点击“确定”就完成操作啦。如下图所示:
安装证书后,Fiddler就能捕获FireFox发出的Https请求了。如果其他浏览器也有同样的问题,也可以单独安装证书。这是针对比较老一点的FireFox浏览器解密 HTTPS 流量的解决办法如果已经安装了证书会提示已经存在。
可以看到没有安全提示了,而且Fiddler已经抓包成功了,如下图所示:
Fiddler默认上抓到的是我们web端和移动端所有的请求请求,如果web端上打开了网页并且同时手机也在发送请求会话的时候, 那么这时候就需要开启过滤功能了。
我们通过Fiddler菜单栏中的Tools--->Options-->HTTPS修改..from all processes这一项,如下图所示:
选项含义如下表:
选择项 | 描述 |
---|---|
from all processes | 抓所有进程所产生的请求会话 |
from browsers only | 只抓浏览器进程所产生的请求会话 |
from non-browsers only | 只抓非浏览器的请求 |
from remote clients only | 只抓远程客户端请求, 一般手机抓包会用! |
如果还不能成功,那就重启浏览器,重启电脑了。其他浏览器也基本上是这样操作的。
重启电脑和浏览器后,如果还是有问题,不能够成功。请执行下边的操作:
1.打开菜单栏选择Tools-->Options-->HTTPS,如下图所示:
2.点击Actions,点击里面的子菜单的Reset All Certificates,点击确定,如下图所示:
3.重启浏览器,重启Fiddler后。就OK了。
?每天学习一点,今后必成大神-
往期推荐(由于跳转参数丢失了,所有建议选中要访问的右键,在新标签页中打开链接即可访问):
Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试
Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南
Python+Selenium自动化系列,通宵700天从无到有搭建一个自动化测试框架
Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架
Jmeter工具从基础->进阶->高级,费时2年多整理出这一份全网超详细的入门到精通教程