很多新手学习
fiddler
抓包都会对
https
网站抓包难或者抓不起来的问题无所适从,想寻求解决办法,下面我进行简单介绍一下https抓包的方法。
有的网站是
https
类型的,使用
fiddler
抓包的时候会提示证书有问题,甚至无法访问,这时候该怎么办呢?
最典型
的网站就是目前的百度网站了,百度在近些年采用了
https
的技术,也算是前沿领域的一个先导者吧,所以我们还是有必要向它看齐的,今天咱们的任务就是能够保证
fiddler
能够正常的给百度抓包就算完成任务了。
https
抓不到包,归根结底是因为证书的问题,
fiddler
是有支持
https
抓包的证书的,需要的,只是我们正确的将证书安装到浏览器的证书列表之中,这样浏览器才会觉得通过
fiddler
的代理证书来访问是安全的访问,才能正常把网页打开。
原理明白了,我们需要如何操作呢?
(1)首先我们需要给
fiddler
开始支持
https
的捕获和解析功能。在
fiddler
中,选择工具→选项,点击
HTTPS
选项卡,按下图所示勾选项目,一般会默认勾选好。
(2)然后点击Actions按钮,选择
Export Root Certificate to Desktop
,将根证书导出到桌面
(3)然后到火狐浏览器的选项设置中,找到隐私与安全,一般证书的导入在类似关键字眼的地方,在最底下就有证书的部分,点击查看证书,把桌面的证书导入,导入时需要你勾选所有的信任。
(4)最后重启
fiddler
和火狐浏览器,打开百度首页,看看是否能抓包了
很不幸的是,通常情况下,这种办法都不成功,我在好些电脑尝试了很多遍总之没有成功。那怎么办呢?没关系,咱们还有后招。
把fiddler
和浏览器全部关闭,使用
WIN+R
键把运行呼出,输入“
certmgr.msc
”,这是我们系统的证书管理器。
点击操作→查找证书,关键词搜索
fiddler
,然后把找到的证书全部删除(因为有可能以前安装过证书不生效删除不干净所以能用的证书就不能用,所以我们先全部删除证书)。这时候我们可以尝试按刚才的步骤把根证书导出来,然后再次导入,有的电脑可能到这一步就发现可以了,成功了,可以抓到百度页面的包了。
如果这时候导出证书的时候提示类似这样的:
Export
Failed:The
root certificate could not be
located
。告诉我们根证书无法导出,又该怎么办呢?这时候我们可以点击动作中的
Reset All Certificates
来重新设置
fiddler
的证书,一路选择是来信任添加即可,添加完成后就可以导入根证书了,然后类似刚才的操作就会发现成功抓包了。谷歌浏览器类似,我们将会在视频中进行演示,每个浏览器需要单独导入一次(也可能不用)。另外,如果出现证书无法导出的情况,网上也流传着下载一个证书生成器来修复的办法,我个人测试似乎没啥效果,但是也是一个办法,提供给大家万一作为参考。
证书生成器下载地址:
http://
www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2
使用方法也很简单,下载完成后双击自动安装,遇到警告啥的直接忽略,然后再去导出试试看就可以了,仅做参考办法。
Fiddler在验证证书时会出现这个问题:
要解决这个问题的话,首先需要cd 到你安装Fiddler的目录,然后输入下面这句话:
makecert.exe -r -ss my -n “CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com” -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012
亲测有效哦