关于调试:Fiddler 可以解密为什么要用 HTTPS

Why make use of HTTPS when Fiddler can decrypt it

本问题已经有最佳答案,请猛点这里访问。

我刚刚发现 Fiddler 可以解密 HTTPS 流量。

例如,我使用 HTTPS 在本地主机上部署了一个网站。在 Fiddler 中检查数据包时,我能够查看所有信息,因为它可以选择解密。

我的问题是,既然 Fiddler 可以轻松解密,为什么还要使用 HTTPS?


Fiddler 执行 MITM 技术。

要使其工作,您需要信任其证书:

http://www.fiddler2.com/fiddler/help/httpsdecryption.asp

如果你不这样做,它就不会解密任何东西...

how can Fiddler2 debug HTTPS traffic?

A: Fiddler2 relies on a"man-in-the-middle" approach to HTTPS
interception. To your web browser, Fiddler2 claims to be the secure
web server, and to the web server, Fiddler2 mimics the web browser.
In order to pretend to be the web server, Fiddler2 dynamically
generates a HTTPS certificate.

Fiddler's certificate is not trusted by your web browser (since
Fiddler is not a Trusted Root Certification authority), and hence
while Fiddler2 is intercepting your traffic, you'll see a HTTPS error
message in your browser [...]


为了解密 HTTPS 流量,您必须首先将 Fiddler 的根证书安装到您的"可信/根证书"列表中。 Fiddler 的根证书不是您的操作系统默认附带的根证书。当您尝试安装它时,操作系统通常会警告您。

这样做,您就明确地开始信任由 Fiddler 的根证书签署的任何证书。当您现在发出 https 请求时,Fiddler 将与您一起执行中间人攻击。

假设您以 https://google.com 的形式提出请求。 Fiddler 现在将充当实际的 Google 服务器,并将为 Google.com 创建一个虚拟证书并使用 Fiddler 的根证书对其进行签名。您将收到这个由 Fiddler 签名的虚拟证书。此证书将通过您设备的验证,因为 Fiddler 的根证书现在在您的受信任证书中。现在,您的设备将开始通过安全的 HTTPS 连接与 Fiddler 通信。 Fiddler 会将您的消息转发到 Google.com 并返回给您。当然,Fiddler 将能够解密它们。

需要注意的是,从 Fiddler 到 Google 的流量将通过第二个安全 https 通道发生。

所以不用担心https提供的安全性。