zoukankan      html  css  js  c++  java
  • fiddler使用——配置抓取https,出现提示“禁用解密”“单击配置”

      自己在设置fiddler抓https的时候,浏览器总是提示:此证书不受信任;中午没午睡下午一直昏沉沉的,弄了好久,终于想起来是证书的问题;度娘有个不错的答案,这里分享一下!给以后有相同问题的朋友,也同时作为自己的一个记录。(PS:自己喜欢用火狐,所以自己是在火狐上设置的,其他大同小异,这位童鞋说的比较清楚)

    -------------------------------------------------------------以下为转载内容---------------------------------from @韩子迟------------------------------------------------

    如何用 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】,勾上如下图的选项

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

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

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

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

    细心的你可能会发现,在 https 的请求中夹杂着一些 http 的请求,并且该 session 的 Host 参数是个诡异的 "Tunnel to”简单地说 fiddler 当做代理转发 https 请求的时候,就会产生 "CONNECT Tunnels",所以大可忽略它。

    ps:据说如果要捕获移动端的 https 请求,在手机上也要安装证书!

  • 相关阅读:
    Kafka 配置
    Zookeeper的Watcher机制
    Ubuntu18.04下希捷移动硬盘Seagate Backup Plus读写慢
    Spring Boot 使用Jar打包发布, 并使用 Embedded Jetty/Tomcat 容器
    再谈C#委托与事件
    C#委托和事件例析
    PHP:session无法使用
    C++:实现类似MFC的IsKindOf功能
    C++:复制构造函数
    C++:运算符重载
  • 原文地址:https://www.cnblogs.com/pingguo-softwaretesting/p/pingguo-softwaretesting.html
Copyright © 2011-2022 走看看