如何用 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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 精读论文题目_in large part as a consequence

    精读论文题目_in large part as a consequence基于高鲁棒性的弹性扭曲视差容忍图像拼接算法

    2022年9月15日
    0
  • C++线程同步 CCRITICALSECTION(临界区类)附自己写的测试代码

    C++线程同步 CCRITICALSECTION(临界区类)附自己写的测试代码当多个线程访问一个独占性共享资源时,可以使用“临界区”对象。任一时刻只有一个线程可以拥有临界区对象,拥有临界区的线程可以访问被保护起来的资源或代码段,其他希望进入临界区的线程将被挂起等待,直到拥有临界区的线程放弃临界区时为止,这样就保证了不会在同一时刻出现多个线程访问共享资源。CCriticalSection类的用法如下:定义CCriticalSection类的一个全局对象(以使各个线

    2022年7月20日
    16
  • 自动登陆抽屉(1)

    自动登陆抽屉(1)

    2021年6月7日
    101
  • 深度学习:自动编码器基础和类型

    深度学习:自动编码器基础和类型本文转载自《机器之心》,原文链接:https://mp.weixin.qq.com/s/QuDa__mi1NX1wOxo5Ki94A,如有侵权请联系删除。很显然,深度学习即将对我们的社会产生重大显著的影响。Mobibit创始人兼CEOPramodChandrayan近日在codeburst.io上发文对自动编码器的基础知识和类型进行了介绍并给出了代码实例。机器之心对本文进行了…

    2022年6月3日
    32
  • SM4算法原理_sgp4算法

    SM4算法原理_sgp4算法前面的文章介绍了SM4算法的C语言实现,源码可见我的另一篇文章:https://blog.csdn.net/cg129054036/article/details/83012721;这篇文章介绍SM4算法原理,这部分可能会比较枯燥,但数学要求也不是太高。目录1.概述2.参数产生3.轮函数4.密钥扩展5.加密/解密过程1.概述2012年3月,国家密码管理…

    2022年10月5日
    0
  • 查询linux版本信息的命令_查系统版本命令

    查询linux版本信息的命令_查系统版本命令通常使用命令uname在Linux下面察看版本信息-a或–all:显示全部的信息;-m或–machine:显示电脑类型;-n或-nodename:显示在网络上的主机名称;-r或–release:显示操作系统的发行编号;-s或–sysname:显示操作系统名称;-v:显示操作系统的版本;-p或–processor:输出处理器类型或”unknown”;-i或-

    2022年8月21日
    5

发表回复

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

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