zoukankan      html  css  js  c++  java
  • Fiddler如何抓取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)首先,看看火狐浏览器的配置,是不是下方“为所有协议使用相同代理”的地方没有勾选上,如果是,请勾选上。

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

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

    对的,就是这么奇怪。

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

    打开后如下所示:

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

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

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

    全删之后,这一步完成。

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

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

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

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

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

    然后点击确定,关掉它。

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

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

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

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

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

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

    这样你就可以抓到包了。

  • 相关阅读:
    [0] RUP、FDD、SCRUM
    [0] Visual studio 2010 快捷键大全
    [0] Node.js
    Laravel开发:Laravel核心——服务容器的细节特性
    Laravel开发:Laravel核心——Ioc服务容器
    Composer的Autoload源码实现2——注册与运行
    Composer的Autoload源码实现1——启动与初始化
    PHP自动加载功能原理解析
    Lumen开发:phpunit单元测试
    php闭包简单实例
  • 原文地址:https://www.cnblogs.com/tiechui2015/p/9198967.html
Copyright © 2011-2022 走看看