【问题标题】:Fiddler - Unable to capture https trafficFiddler - 无法捕获 https 流量
【发布时间】:2014-12-15 17:02:42
【问题描述】:

我在名为server1.corp.mycompany.net 的服务器上安装了提琴手。当我从本地计算机浏览到 https://server1/default.aspx 时,它不会捕获流量。但如果我在服务器上打开 IE 并浏览 https://server1/default.aspx,它就可以工作。

我已启用“捕获 https 流量”。看起来是这样的:

我错过了什么吗?

我正在使用Fiddler4

【问题讨论】:

    标签: asp.net iis-7 fiddler


    【解决方案1】:

    如果您希望从本地计算机捕获到服务器的流量,则需要在本地计算机上安装 Fiddler。这就是 Fiddler 默认的工作方式,它只捕获来自您计算机上的浏览器的流量。

    如果您想检查所有进入服务器的流量,那么像 Wireshark 这样的东西会更合适。

    【讨论】:

    • 使用 Wireshark 不太可能有用,因为 HTTPS 流量是加密的,解密它非常重要。
    • @EricLaw 虽然我自己没有这样做,但他们的文档听起来像是not too difficult,并提供了看起来很容易遵循的分步说明。他们的文档说“SSL 解析器功能齐全,甚至支持高级功能,例如 SSL 解密,如果可以提供加密密钥并且 Wireshark 是针对 GnuTLS(而不是 OpenSSL 或 bsafe)编译的。这适用于 RSA 私钥。”
    • 易于遵循是有问题的。此配置要求您公开私钥(通常违反策略),并且需要使用 RSA。
    • @EricLaw 我认为不容易遵循是有问题的。然而,安全性值得商榷。但是出于开发目的,在企业环境中更改密钥是微不足道的,并且很容易生成一个新密钥并由您的 CA 签名,我不认为这太糟糕了。从问题来看,这看起来是一个企业环境。
    【解决方案2】:

    您的选择是:

    1. 在客户端计算机上运行 Fiddler。它将显示来自该机器的出站请求。
    2. 在一台机器上运行 Fiddler 并将另一台机器上的代理设置指向第一台机器。 Fiddler 将显示来自其代理设置指向 Fiddler 的任何客户端的出站请求。
    3. reverse proxy 运行 Fiddler。这将显示对目标的入站请求。

    根据您的情况,您可能需要 #3。

    【讨论】: