1.简介
经过上一篇对Fiddler的配置后,绝大多数的Https的会话,我们可以成功捕获抓取到,但是有些版本的Firefox浏览器仍然是捕获不到其的Https会话,需要我们更进一步的配置才能捕获到会话进行抓包。
2.宏哥环境
1.宏哥的环境是Windows 10版本 64位系统(32位的同学自己想办法哦),如下图所示:
2.宏哥安装的FireFox的版本是:56.0 。如下图所示:
3.FireFox代理设置
一般来说对于Firefox 浏览器只要你开启系统代理或者手动设置代理就能正常的抓包。在Firefox中的设置下找到网络设置选择系统代理或者手动设置代理都可以,如下图所示:
4.Firefox 证书设置
一般情况下,经过前边的配置,就可以抓取FireFox的Https会话,但是有些Firefox的版本需要手动去安装一下证书,才可以正常的去抓取信息。否则用fiddler抓包时候,打开百度网页:https://www.baidu.com 就会出现提示:网页不安全。如下图所示:
上边图中的这个提示我们应该再熟悉不过了,就是因为客户端(浏览器)没有安装证书才会有这个不安全的提示信息。那么要解决这个问题我们只需要在Firefox浏览器里安装证书即可。
那么问题随之而来,证书从何而来呢???宏哥想让大家想一下,我们正常情况下是安装服务器配置好的证书就可以了,现在在客户端和服务器中间插入了Fiddler这个第三者。因此不用想了,证书当然是从Fiddler这里来的了。
4.1Fiddler生成证书
首先我们可以从Fiddler中手动的导出证书,前提是已经按照宏哥前边的操作已经配置好了Fiddler,可以直接导出。具体操作步骤如下:
1.打开菜单栏选择Tools-->Options-->HTTPS,如下图所示:
2.点击Actions选择Export Root Certificate to Desktop(将根证书导出到桌面),如下图所示:
3.导出到桌面,此时桌面上会多一个文件:FiddlerRoot.cer,如下图所示:
4.2安装证书到Firefox中
1.打开右上角浏览器设置-->选项-->下面的隐藏与安全---->找到证书--->点击查看证书(打开证书管理器)-->证书机构-->导入。如下图所示:
2.选中刚刚导出在桌面的证书文件:FiddlerRoot.cer 导入,点击“打开”,如下图所示:
3.打开文件后,会弹出个框,勾选三个选项,点击“确定”就完成操作啦。如下图所示:
安装证书后,Fiddler就能捕获FireFox发出的Https请求了。如果其他浏览器也有同样的问题,也可以单独安装证书。这是针对比较老一点的FireFox浏览器解密 HTTPS 流量的解决办法如果已经安装了证书会提示已经存在。
5.检查是否能捕获FireFox的Https会话
可以看到没有安全提示了,而且Fiddler已经抓包成功了,如下图所示:
6.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 | 只抓远程客户端请求, 一般手机抓包会用! |
6.小结
如果还不能成功,那就重启浏览器,重启电脑了。其他浏览器也基本上是这样操作的。
6.1可能遇到的坑
重启电脑和浏览器后,如果还是有问题,不能够成功。请执行下边的操作:
6.1.1fiddler设置
1.打开菜单栏选择Tools-->Options-->HTTPS,如下图所示:
2.点击Actions,点击里面的子菜单的Reset All Certificates,点击确定,如下图所示:
3.重启浏览器,重启Fiddler后。就OK了。