各位同学们大家好!我是讲师雪山凌狐。本套教程同时参加活动http://bbs.125.la/forum.php?mod=viewthread&tid=14106986
很多新手学习fiddler抓包的同学们都会对https网站抓包难或者抓不起来的问题无所适从,想寻求解决办法,没问题,这节课就来解决你的疑问!
最典型的网站就是目前的百度网站了,百度在近些年采用了https的技术,也算是前沿领域的一个先导者吧,所以我们还是有必要向它看齐的,今天咱们的任务就是能够保证fiddler能够正常的给百度抓包就算完成任务了。
https抓不到包,归根结底是因为证书的问题,fiddler是有支持https抓包的证书的,需要的,只是我们正确的将证书安装到浏览器的证书列表之中,这样浏览器才会觉得通过fiddler的代理证书来访问是安全的访问,才能正常把网页打开。
原理明白了,我们需要如何操作呢?
首先我们需要给fiddler开始支持https的捕获和解析功能。在fiddler中,选择工具→选项,点击HTTPS选项卡,按下图所示勾选项目,一般会默认勾选好。
然后点击动作按钮,选择Export Root Certificate to Desktop,将根证书导出到桌面。
然后到火狐浏览器的选项设置中,找到隐私与安全,一般证书的导入在类似关键字眼的地方,在最底下就有证书的部分,点击查看证书,把桌面的证书导入,导入时需要你勾选所有的信任。
然后重启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
使用方法也很简单,下载完成后双击自动安装,遇到警告啥的直接忽略,然后再去导出试试看就可以了,仅做参考办法。
还有无法成功的朋友也可以私下跟我联系,酌情进行指导。
好了,讲了这么多相信大家对这一块知识也有一定了解了。有的同学可能还感兴趣如何抓取 手机访问网页时的包 ,这一块知识我们下节课跟大家进行讲解。
课后作业:
敲黑板!布置课后作业了!
请大家将证书安装好,保证能够正常抓取和访问百度首页的包。
以下是我们的视频教程:
高清源文件下载:
感谢大家的收看,我们下期再见!