1-Fiddler - HTTPS证书配置

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的证书。

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

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

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

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

Chrome设置代理

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

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

现在,开始配置。

  1. Chrome打开设置

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

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

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

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

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

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

配置Firefox证书

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

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

fiddler中导出证书

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

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

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

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

Firefox导入fiddler证书

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

重置fiddler证书

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

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

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

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

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

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

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

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

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


欢迎斧正,that's all
posted @ 2020-04-03 09:11  听雨危楼  阅读(5409)  评论(0编辑  收藏  举报