因为Fiddler是一个HTTP代理服务,它位于客户端和服务器端之间,而安装好Fiddler的只可以对HTTP协议进行抓包。
如果需要对HTTPS的协议进行抓包分析,就需要对Fiddler工具进行配置,使得Fiddler工具也可以抓到HTTPS协议的包。
如果没有进行任何的配置就想用Fiddler来抓包分析是实现不了的,即使抓出来也是看不懂的加密内容。因为没有受信任的Fiddler根证书,不能让客户端相信Fiddler伪造的CA证书,从而得到Pre_master。
1. 配置证书
1. Tools菜单 —> Options… —> HTTPS —> 勾选Decrypt HTTPS traffic
说明:
勾选Decrypt HTTPS traffic选项:Decrypt HTTPS traffic
:意思是解密HTTPS流量(请求)。
2. 勾选后,然后会弹出一个对话框,如下图:
意思是:为了能够拦截HITTPS通信,Fiddler生成了唯一的根证书。您可以将Windows配置为信任此根证书,以禁止显示安全警告。单击“是”以重新配置Windows的受信任CA列表。
3. 然后接着弹出对话框如下:点击是,确认安装此证书。
4. 是否确认将证书添加到计算机根目录列表?点击是。
5. 最后提示:成功将Fiddler的根证书添加到计算机根列表中。
2. 勾选设置
当勾选Decrypt HTTPS traffic
选项的时候,会提示你安装证书,安装好证书之后,HTTPS选项界面如下:
我们在继续勾选Ignore server certificate errors (unsafe)
选项:忽略服务器证书错误(不安全)。
之后点击OK就可以抓取HTTPS的请求了(我试过了不需要重启)。
3. 重置证书
我们在完成上面Fiddler配置后,还是无法抓取HTTPS请求。
我们可以点击Tools菜单 —> Options… —> HTTPS —> Actions。
选择最后一个选项Reset All Certificates:重置所有证书。
提示:Fiddler将删除所有拦截证书,并重新创建新的根证书以用于解密流量。
选择确定。
确定是否删除证书:选择是。
提示:Fiddler生成的证书已从“当前用户”存储中删除。
点击确定。之后Fiddler会自动弹出证书的安装,同上面第2点的步骤一。
如果还不行,可以再点击第一个选项Trust Root Certificate
:信任根证书。
之后会安装一些Fiddler的相关证书,这样基本上可以解决Fiddler无法抓取HTTPS请求的情况。
4. 验证证书是否安装成功
点击Tools菜单 —> Options… —> HTTPS —> Actions
选择第三项:Open Windows Certificate Manager
打开Windows证书管理器。
打开Windows证书管理器,选择操作—>查看证书,在搜索框中输入Fiddler
来查看证书。
查看结果:
然后可以选择一个证书,进行打开、删除、导出等操作。
方式二:
WIN+R打开电脑命令提示符,输入certmgr.msc
并回车,打开Windows证书管理器。
之后步骤同上。
5. HTTPS选项界面说明
Fiddler can decrypt HITTPS sessions by re-signing traffic using self-generated certificates.
Fiddler可以使用自行生成的证书对流量进行重新签名,从而对HITTPS会话进行解密。
Capture HTTPS CONNECTs:建立HTTPS连接通信。
这个就是我们之前常看到有tunnel to...443请求的原因,他是HTTPS建立通信时候所发出的请求。
我们使用Rules菜单 —> Hide CONNECTs操作,把这些请求隐藏了。
Decrypt HTTPS traffic:解密HTTPS请求。
from all processes : 抓取所有的HTTPS程序, 包括本机和手机 。
from browsers only : 只抓取浏览器中的HTTPS请求。
from non-browsers only : 只抓取除了浏览器之外的所有HTTPS请求。
from remote clients only : 抓取远程的客户端的HTTPS,可以代表手机。
Ignore server certificate errors (unsafe):忽略服务器证书错误(不安全)
一般勾选上。
check for certificate reyocation:检查证书吊销。
Certificates generated by CertEnroll engine:由CertEnroll引擎生成的证书。
Skip decryption for the following hosts:跳过以下主机的解密。
Actions:
Trust Root Certificate:信任根证书。
Export Root Certificate to Desktop:将根证书导出到桌面。
Open Windows Certificate Manager:打开Windows证书管理器。
Learn More about HTTPS Decryption:了解有关HTTPS解密的更多信息。
Remove Interception Certificates:删除拦截证书。
Reset All Certificates:重置所有证书