Skip to content

before

win10 + chrome 80.0.3987.116(正式版本) (64 位) + firefox73.0.1 (64 位)

默认的,Fiddler只能代理HTTP请求,那如何让Fiddle代理HTTPS请求呢?这就需要一些证书和其他配置了。

另外,Chrome和IE都是读取系统管理的证书的,而Firefox则是自己管理证书。所以,接下来我们需要分开配置证书。

配置Chrome和IE证书

fiddler端设置

  1. fiddler的菜单栏选择ToolsOptions选项,在弹出框选择HTTPS选项,勾选Decrypt HTTPS traffic,然后弹出框选择Yes。弹出框的大致意思是配置Windows去信任fiddler的证书。

1832670476434931712.png

  1. 安全警告选择即可。提示是将从下面的证书机构安装证书。

1832670476854362112.png

  1. 将fiddler的证书(DO_NOT_TRUST_FiddlerRoot)安装到本地的证书根目录,选择

1832670477206683648.png

  1. (可选)当你在上一步中点击了之后,如果有用户账户控制提示的话,就点击就OK了。
  2. 添加证书成功,点击确定即可。

1832670477458341888.png

此时,fiddler端暂时设置完毕。

Chrome设置代理

此时,默认你的Chrome是没有其他的代理工具的,如果有,可以添加一个代理规则或者暂时停止使用。

然后,我们来配置使用fiddler的代理,首先,我们在前面部分知道,fiddler默认代理的是本地127.0.0.1:8888端口。

现在,开始配置。

  1. Chrome打开设置

1832670477621919744.png

  1. 下拉点击高级系统选项,选择打开您计算机的代理设置。如果你之前有使用别的代理插件,先停用掉。

1832670477806469120.png

  1. 此时,会打开你Windows系统的代理设置,填写相关配置并保存。

1832670477982629888.png

  1. 现在,就可以使用fiddler抓到你的Chrome浏览器的https请求了。

1832670478636941312.png

如果不好使,请重启浏览器和fiddler,再不行的话,我们选择重置fiddler证书尝试一下。

另外,IE和Chrome浏览器配置差不多,都是使用的是系统的代理设置,所以IE的就不演示了,并且,IE和Chrome都是读取的是系统的https证书,所以,无需其他配置。

我们往下看火狐浏览器的代理设置。

配置Firefox证书

正常来说,如果你的Firefox浏览器配置了手动代理,也就是fiddler监听的127.0.0.1:8888,则可以正常的抓到HTTP的包的,但是无法抓取https的包。

1832670479039594496.png

那如何配置才能抓取https的包呢?相对于IE和Chrome浏览器读取系统的证书来说,Firefox因为是自己管理https证书,所以我们需要将fiddler的证书导入到Firefox的证书管理器中,那哪来的fiddler的证书呢?以及如何导入呢?我们一步步来做。

fiddler中导出证书

  1. fiddler的菜单栏ToolsOptionsHTTPS▶保证Decrypt HTTPS traffic选项处于勾选状态▶ActionsExport Root Certificate to Desktop,将fiddler证书导出到桌面。

1832670479438053376.png

  1. 提示证书已经导出到桌面了。

1832670479907815424.png

  1. 桌面上你可以看到导出的证书FiddlerRoot.cer,你可以双击打开。

1832670480092364800.png

OK,现在,fiddler的证书有了,我们就可以将该证书安装到Firefox中了。

Firefox导入fiddler证书

  1. Firefox浏览器的设置选项隐私与安全证书查看证书

1832670480620847104.png

  1. 在打开的证书管理器中,选择导入

1832670481929469952.png

  1. 本地选择桌面的fiddler证书,然后会有一个下载证书的提示,选择即可。

1832670482713804800.png

  1. 现在fiddler的证书已经导入了。点击证书管理器右下角的确定就行了。

1832670483242287104.png

  1. 重启浏览器,现在Firefox浏览器就能成功的抓到了https的包了。

1832670483930152960.png

PS:本地的fiddler证书导入之后,就可以删掉了。

如何查看证书是否安装成功

我们可以在本地查看fiddler的证书,怎么查看呢?

  1. 有两种方式打开系统的证书管理器。

    1. 从fiddler直接打开。ToolsOptionsHTTPSActionsOpen Windows Certificate Manager

    1832670484244725760.png

    1. 第二种方式是系统的搜索框搜索cert,选择管理计算机证书即可。

    1832670484777402368.png

  2. (可选)如果有用户账户控制提示,点击是即可。

  3. 在证书管理器中,选择操作查找证书

1832670486094413824.png

  1. 输入fiddler点击立即查找就会在下面看到fiddler的证书了。

1832670486698393600.png

如果你没有查到该证书,你是抓不到https包的。

重置fiddler证书

如果证书过期或者你发现无法抓取HTTPS包了,我们可以尝试重置fiddler证书,然后重新生成一个fiddler证书就可以了。

  1. fiddler的菜单栏ToolsOptionsHTTPS▶保证Decrypt HTTPS traffic选项处于勾选状态▶ActionsRest ALL Certificates,重置fiddler的证书。

1832670487260430336.png

  1. 是否重置证书,选择确定

1832670487780524032.png

  1. 是否从本地的证书列表中删除证书,选择

1832670488007016448.png

  1. (可选),如果遇到用户账户控制,选择
  2. fiddler证书从本地证书列表中删除成功,点击确定,此时你会发现Decrypt HTTPS traffic选项已经取消勾选了。

1832670488250286080.png

  1. 根证书存储这里,选择

1832670488636162048.png

  1. fiddler的根证书从本地删除成功,选择确定

1832670488942346240.png

  1. 此时,又进入了配置fiddler证书的环节了,你一路下一步即可。

1832670489298862080.png

至于Firefox的证书,你有要重新从fiddler中导出到桌面,然后在导入到Firefox的证书管理器中了,这我就不啰嗦了。当然,其中在浏览器导入fiddler证书之前,你可以把原来的证书删除掉,然后再导入新的证书。记着操作完别忘了重启浏览器,不然不生效!

1832670489684738048.png

欢迎斧正,that's all