经过上一篇对 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 了。