如何用 fiddler 捕获 https 请求

如何用 fiddler 捕获 https 请求

安装完 Fiddler 后,我们每次打开浏览器输入 url,Fiddler 便会捕获到我们的 http 请求(Fiddler 是以代理 web 服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888. 当浏览器打开时 Fiddler 会自动设置代理,退出的时候它会自动注销代理,这样就不会影响别的程序)。但是,如果要捕获 https 的请求,我们还需要进行一些额外的设置。

要抓取走 HTTPS 的 JS 内容,Fiddler 必须解密 HTTPS 流量。但是,浏览器将会检查数字证书,并发现会话遭到窃听。为了骗过浏览器,Fiddler 通过使用另一个数字证书重新加密 HTTPS 流量。Fiddler 被配置为解密 HTTPS 流量后,会自动生成一个名为 DO_NOT_TRUST_FiddlerRoot 的 CA 证书,并使用该 CA 颁发每个域名的 TLS 证书。若 DO_NOT_TRUST_FiddlerRoot 证书被列入浏览器或其他软件的信任 CA 名单内,则浏览器或其他软件就会认为 HTTPS 会话是可信任的、而不会再弹出“证书错误”警告。

首先,打开 Fiddler,在菜单栏中依次选择 【Tools】->【Fiddler Options】->【HTTPS】,勾上如下图的选项。

675542-20151124210753687-177921438.png

勾上后,Fiddler 会提示你安装一个证书。安装完后点击上图中的 “Export Root..” 按钮,将证书下载到桌面。

接着将证书导入到浏览器。这里以 chrome 举例,依次选择 【设置】->【管理证书..】 将保存在桌面的证书导入即可(其他浏览器类似,通常有个“证书”选项设置)。

675542-20151124210802531-539798183.png

也可以直接双击下载下来的证书,进行安装。

675542-20151124210810484-1206875482.png

我们打开 www.baidu.com,这时就可以愉快地捕获 https 请求了!

675542-20151124210825812-1427894859.png

细心的你可能会发现,在 https 的请求中夹杂着一些 http 的请求,并且该 session 的 Host 参数是个诡异的 “Tunnel to”,什么鬼? StackOverflow 里早已有精彩解答,或者可以直接看这里,简单地说 fiddler 当做代理转发 https 请求的时候,就会产生 “CONNECT Tunnels”,所以大可忽略它。

ps:据说如果要捕获移动端的 https 请求,在手机上也要安装证书,详见 Fiddler学习:捕获HTTPS会话配置。可是我好像没设置也可以捕获,不知何故,待查。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109237.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SqlSessionFactory配置

    SqlSessionFactory配置SqlSessionFactory配置<transactionManagertype=”jdbc”>//typejdbc依赖jdbc实现事务控制manage本身对事务不做任何控制,交给外部容器//后端数据库源<dataSourcetype=”POOLDE”> <propertyname=”driver”value=””/> &…

    2022年6月5日
    196
  • 小程序入坑指南 | 鹅厂优文

    小程序入坑指南 | 鹅厂优文

    2022年4月2日
    55
  • 用EasyRecovery挽救数据

    用EasyRecovery挽救数据

    2021年8月18日
    71
  • navicat 在线激活码[免费获取]

    (navicat 在线激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月22日
    627
  • 线程同步的四种方式

    线程同步的四种方式转载地址: http://blog.csdn.net/ebowtang/article/details/29905309一,什么是线程同步和互斥同步就是协同步调,按预定的先后次序进行运行。如:你说完,我再说。这里的同步千万不要理解成那个同时进行,应是指协同、协助、互相配合。线程同步是指多线程通过特定的设置(如互斥量,事件对象,临界区)来控制线程之间的执行顺序(即所谓的同步)也可以说是在线程之间通过…

    2022年7月15日
    17
  • latex中的希腊字母表_LaTeX怎么念

    latex中的希腊字母表_LaTeX怎么念希腊字母,我们从小学开始认识它,但对它的读音我依旧靠蒙(说蒙真的感觉好羞愧啊)。尤其在大学数学分析中,希腊字母超级多,很多经典的公式,都由希腊字母来表示。它自然成为数学领域不可或缺的符号,将数学复杂的内容变为了清晰易懂的,平易近人。今天,为什么要谈希腊字母呢?还得从前天我写LaTeX时用ε\varepsilon说起,在百度百科查到的是ϵ\epsilon,,符号不是我要的,顿时对百度的憎恶感突增好几倍

    2022年10月13日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号