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端设置
- fiddler的菜单栏选择
Tools
的Options
选项,在弹出框选择HTTPS
选项,勾选Decrypt HTTPS traffic
,然后弹出框选择Yes
。弹出框的大致意思是配置Windows去信任fiddler的证书。
- 安全警告选择
是
即可。提示是将从下面的证书机构安装证书。
- 将fiddler的证书(DO_NOT_TRUST_FiddlerRoot)安装到本地的证书根目录,选择
是
。
- (可选)当你在上一步中点击了
是
之后,如果有用户账户控制提示的话,就点击是
就OK了。 - 添加证书成功,点击
确定
即可。
此时,fiddler端暂时设置完毕。
Chrome设置代理
此时,默认你的Chrome是没有其他的代理工具的,如果有,可以添加一个代理规则或者暂时停止使用。
然后,我们来配置使用fiddler的代理,首先,我们在前面部分知道,fiddler默认代理的是本地127.0.0.1:8888
端口。
现在,开始配置。
- Chrome打开
设置
- 下拉点击
高级
的系统
选项,选择打开您计算机的代理设置
。如果你之前有使用别的代理插件,先停用掉。
- 此时,会打开你Windows系统的代理设置,填写相关配置并保存。
- 现在,就可以使用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中导出证书
- fiddler的菜单栏
Tools
▶Options
▶HTTPS
▶保证Decrypt HTTPS traffic
选项处于勾选状态▶Actions
▶Export Root Certificate to Desktop
,将fiddler证书导出到桌面。
- 提示证书已经导出到桌面了。
- 桌面上你可以看到导出的证书
FiddlerRoot.cer
,你可以双击打开。
OK,现在,fiddler的证书有了,我们就可以将该证书安装到Firefox中了。
Firefox导入fiddler证书
- Firefox浏览器的
设置
▶选项
▶隐私与安全
▶证书
▶查看证书
。
- 在打开的证书管理器中,选择
导入
。
- 本地选择桌面的fiddler证书,然后会有一个
下载证书
的提示,选择是
即可。
- 现在fiddler的证书已经导入了。点击证书管理器右下角的
确定
就行了。
- 重启浏览器,现在Firefox浏览器就能成功的抓到了https的包了。
PS:本地的fiddler证书导入之后,就可以删掉了。
如何查看证书是否安装成功
我们可以在本地查看fiddler的证书,怎么查看呢?
-
有两种方式打开系统的证书管理器。
- 从fiddler直接打开。
Tools
▶Options
▶HTTPS
▶Actions
▶Open Windows Certificate Manager
- 第二种方式是系统的搜索框搜索
cert
,选择管理计算机证书
即可。
- 从fiddler直接打开。
-
(可选)如果有用户账户控制提示,点击是即可。
-
在证书管理器中,选择
操作
▶查找证书
。
- 输入
fiddler
点击立即查找
就会在下面看到fiddler的证书了。
如果你没有查到该证书,你是抓不到https包的。
重置fiddler证书
如果证书过期或者你发现无法抓取HTTPS包了,我们可以尝试重置fiddler证书,然后重新生成一个fiddler证书就可以了。
- fiddler的菜单栏
Tools
▶Options
▶HTTPS
▶保证Decrypt HTTPS traffic
选项处于勾选状态▶Actions
▶Rest ALL Certificates
,重置fiddler的证书。
- 是否重置证书,选择
确定
。
- 是否从本地的证书列表中删除证书,选择
是
。
- (可选),如果遇到用户账户控制,选择
是
。 - fiddler证书从本地证书列表中删除成功,点击
确定
,此时你会发现Decrypt HTTPS traffic
选项已经取消勾选了。
- 根证书存储这里,选择
是
。
- fiddler的根证书从本地删除成功,选择
确定
。
- 此时,又进入了配置fiddler证书的环节了,你一路下一步即可。
至于Firefox的证书,你有要重新从fiddler中导出到桌面,然后在导入到Firefox的证书管理器中了,这我就不啰嗦了。当然,其中在浏览器导入fiddler证书之前,你可以把原来的证书删除掉,然后再导入新的证书。记着操作完别忘了重启浏览器,不然不生效!
欢迎斧正,that's all