fiddler使用——配置抓取https,出现提示“禁用解密”“单击配置”

2021-05-25 10:54:07 浏览数 (1)

自己在设置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 请求,在手机上也要安装证书!

0 人点赞