使用fiddler抓取HTTPS协议数据与疑难杂症终极解决方案

原创 2017年01月21日 21:58:17

作者:韦玮

转载请注明出处

常规设置:

Fiddler默认只能抓取HTTP协议的网页,不能抓取HTTPS协议的网页,而我们很多时候,都需要抓HTTPS协议的网页,比如抓淘宝数据等。今天,韦玮老师会为大家讲解如何使用Fiddler抓取HTTPS协议的网页。

打开Fiddler,点击“Tools--Fiddler Options--HTTPS”,把下方的全勾上,如下图所示:

Clipboard Image.png

然后,点击Action,选择将CA证书导入到桌面,即第二项,导出后,点击上图的ok保存配置。

Clipboard Image.png

然后在桌面上就有了导出的证书,如下所示:

Clipboard Image.png

随后,我们可以在浏览器中导入该证书。我们打开火狐浏览器,打开“选项--高级--证书--导入”,选择桌面上的证书,导入即可。随后,Fiddler就可以抓HTTPS协议的网页了。如下图所示。

Clipboard Image.png

疑难问题解决:

作者:韦玮

转载请注明出处

有些同学可能已经按照我们正常的流程在feiddler中设置好了https抓包,但死活抓不了。未设置的同学先按https://ask.hellobi.com/blog/weiwei/5159 这篇文章进行设置,设置好后无法抓包请见如下解决步骤。

(1)首先,看看火狐浏览器的配置,是不是下方“为所有协议使用相同代理”的地方没有勾选上,如果是,请勾选上。

f1.png

有一部分同学做到这一步应该能解决无法抓https的问题。如果还不行,请继续往下看。

一般这个时候,还不行,应该就是你的证书问题了,有些同学可能会问,我是按照正常流程导出并安装的证书,也会有问题?

对的,就是这么奇怪。

(2)接下来,请在下面这个地方输入certmgr.msc并回车,打开证书管理。

f2.png

打开后如下所示:

f3.png

请点击操作--查找证书,如下所示:

f5.png

然后输入fiddler查找所有相关证书,如下所示:

f6.png

可以看到,我们找到一个,您可能会找到多个,不要紧,有多少个删多少个,分别右键--删除这些证书,如下所示:

f7.png

全删之后,这一步完成。

(3)再接下来,打开火狐浏览器,进入选项-高级-证书-查看证书,然后找以DO_NOT开头的关于Fiddler的证书,以字母排序的,所以你可以很快找到。如下所示,我们找到两个,不用多说,右键,然后全部依次删除。你可能找到一个或多个,反正找到多少个删多少个就行,另外,特别注意,请如图中【个人、服务器、证书机构、其他】等标签依次查找,以免遗漏,切记切记!

f9.png

这些全删之后,这一步完成,现在证书已经全部清理了,进入下一步。

(4)下载 FiddlerCertMaker.exe,可以去官网找,如不想麻烦,直接下载我提供的,链接如下:

链接: https://pan.baidu.com/s/1bQBhxG 密码: cu85

下载了这个之后,直接打开,不管出现什么错误,直接忽略,直到出现如下界面为止:

f10.png

然后点击确定,关掉它。

(5)有了证书之后,请重启Fiddler(关掉再开),重启之后,访问https的网站,比如淘宝首页,有可能成功了,但你也有可能会发现如下错误:

"你的连接并不安全" 等类似提示

见到这里,你应该开心,离成功近了。

(6)果断的,打开fiddler,“Tools--Fiddler Options--HTTPS”,然后把下图中同样的地方勾上(注意一致),然后点击actions,然后先点击Trust Root…,然后,再点击Export Root…,此时,导出成功的话,在桌面就有你的证书了。务必注意:这一步成功的话,把第(7)步跳过,不要做了,直接进入第(8)步,如失败,请继续第(7步)。

f11.png

(7)务必注意:上一步成功的话,把这一步跳过,不要做了。如果,你在导出的时候出现:creation of the root certificate was not located等错误,不要慌。接下来在cmd命令行中进入Fiddler安装目录,比如我的是C盘,所以进入如下图所示Fiddler2目录,然后直接复制下方make那一行代码,然后直接cmd中运行,出现如下所示succeeded提示,出现这一步提示之后,再按步骤(6)的方法导出证书,就能成功了:

f12.png

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

(8)好,证书导入到桌面后,请打开火狐浏览器,然后进入选项-高级-证书-查看证书-导入-选择刚导出的桌面的证书-确定。

(9)随后,为了保险,Fiddler重启,火狐浏览器也重启一下,然后开始抓HTTPS的包,此时你会发现“你的连接并不安全" 等类似提示已经消失,并且已经能够抓包了。

这篇文章已经非常非常详细,如果你怎么样都抓不到HTTPS的包,请细看这篇文章,不要漏掉每一个细节。作者韦玮,转载注明出处。


相关文章推荐

精通Python网络爬虫-书籍介绍

精通Python网络爬虫是韦玮老师最新书籍,主要定位于Python网络爬虫入门、进阶(初中级)的从业人员。...

使用Python做接口测试

写接口的时候需要对接口进行测试,一般会选用postman这种工具,但是需要一个一个的用鼠标去点他,尤其有些返回值需要手动去更新就更麻烦了,使用脚本自动去测试可以减轻一定的工作量.反正闲着也是闲着,在代...

Android Studio疑难杂症解决方案o( ̄ヘ ̄o#)

Gradle版本错误、你的主机阻止了一个远程连接

extaspnet下的一些疑难杂症解决方案汇总

最近一个web项目用到了extaspnet这个开源的框架因资料相对匮乏所以在这里我把在QQ交流群里解答的一些网友问题也罗列在这边,方便大家查阅1.如何在后台动态修改window的宽度,高度?答:前台a...
  • vazumi
  • vazumi
  • 2011年03月25日 20:20
  • 4200

TCP协议疑难杂症全景解析

个人收藏转自 谢谢博主的总结和分享 http://blog.csdn.net/dog250/article/details/6612496 说明: 1).本文以TCP的发展历程解析...

电脑疑难杂症解决方法

  • 2011年10月25日 20:28
  • 161KB
  • 下载

从TCP三次握手说起–浅析TCP协议中的疑难杂症(1)

说到TCP协议,相信大家都比较熟悉了,对于TCP协议总能说个一二三来,但是TCP协议又是一个非常复杂的协议,其中有不少细节点让人头疼点。本文就是来说说这些头疼点的,浅谈一些TCP的疑难杂症。那么从哪说...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用fiddler抓取HTTPS协议数据与疑难杂症终极解决方案
举报原因:
原因补充:

(最多只允许输入30个字)