开发者社区> 韦玮> 正文

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

简介: 作者:韦玮 转载请注明出处 常规设置: Fiddler默认只能抓取HTTP协议的网页,不能抓取HTTPS协议的网页,而我们很多时候,都需要抓HTTPS协议的网页,比如抓淘宝数据等。
+关注继续查看

作者:韦玮

转载请注明出处

常规设置:

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的包,请细看这篇文章,不要漏掉每一个细节。作者韦玮,转载注明出处。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
软件测试|HTTPS 原理以及fiddler解密
软件测试|HTTPS 原理以及fiddler解密
56 0
fiddler使用——配置抓取https,出现提示“禁用解密”“单击配置”
fiddler使用——配置抓取https,出现提示“禁用解密”“单击配置”
176 0
Fiddler 抓包https配置 提示creation of the root certificate was not successful 证书安装不成功
Fiddler 抓包https配置 提示creation of the root certificate was not successful 证书安装不成功
84 0
HTTP协议初见/Fiddler抓包工具使用(HTTP协议1)
HTTP协议初见/Fiddler抓包工具使用(HTTP协议1)
1202 0
Fiddler - 使用 Fiddler 监控本地 HTTP 请求,谷歌浏览器提示“隐私设置错误”
Fiddler - 使用 Fiddler 监控本地 HTTP 请求,谷歌浏览器提示“隐私设置错误”
211 0
HTTP/HTTPS抓包工具-Fiddler
HTTP/HTTPS抓包工具-Fiddler
289 0
记一次使用Fiddler抓包工具抓取Https协议数据的踩坑过程
记一次使用Fiddler抓包工具抓取Https协议数据的踩坑过程
229 0
HTTPS协议下Fiddler抓包
https就是加过密的http,使用https后,浏览器客户端和web服务器传输的数据是加密传输的,只有客户端和服务端知道具体内容。采用HTTPS的网站都需要去数字证书认证机构(Certificate Authority,CA)申请证书。通过这个证书,浏览器在请求数据前与web服务器有几次握手验证,以证明相互的身份,然后对http请求和响应进行加密。
129 0
初探HTTP协议和Fiddler抓包原理
协议是指双方进行通信所必须共同遵守的约定。超文本传输协议(HyperText Transfer Protocol, HTTP)是互联网上应用最广泛的一种网络协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。
88 0
Fiddler 技术篇-捕捉https协议设置,抓取百度https实例演示
Fiddler 技术篇-捕捉https协议设置,抓取百度https实例演示
148 0
+关注
韦玮
韦玮,企业家,资深IT技术专家/讲师/作家,畅销书《精通Python网络爬虫》作者。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
阿里巴巴HTTP 2.0实践及无线通信协议的演进之路
立即下载
CDN助力企业网站进入HTTPS时代
立即下载
基于浏览器的实时构建探索之路--玄寂
立即下载