如何在 Edge 浏览器上将 Fiddler 与 Windows Defender Application Guard 结合使用

如何在 Edge 浏览器上将 Fiddler 与 Windows Defender Application Guard 结合使用

我使用的是最新的 Windows 10 企业版(个人电脑)。

我安装了最新的 Fiddler 和 Edge 浏览器(稳定版和金丝雀版)。

Fiddler 的根证书已安装并受信任,它可以检测并解密我电脑中来自所有应用程序的所有 HTTPS 连接,但 Edge 中的 Windows Defender 应用程序防护窗口无法连接到互联网。

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

我该如何修复此问题,以便可以使用 Fiddler 监控 WDAG 容器内的流量?

提前致谢

答案1

由于存在轻微的不兼容性,Fiddler 无法与 Application Guard 一起工作。

Microsoft 常见问题解答中有关应用程序防护的内容包含以下部分:

如何配置 Microsoft Defender 应用程序防护以与我的网络代理(IP-Literal 地址)配合使用?

Microsoft Defender 应用程序防护要求代理具有符号名称Microsoft Defender Application Guard 要求代理具有符号名称,而不仅仅是 IP 地址。IP-Literal 代理设置(例如)192.168.1.4:81可以注释为itproxy:81或使用记录(例如P19216810010IP 地址为 的代理) 192.168.100.10。这适用于 Windows 10 企业版 1709 或更高版本。这些将用于组策略或 Intune 中网络隔离下的代理策略。

如果你启动 Fiddler 并转到设置 > 网络和 Internet > 代理,您将在“手动代理设置”下看到:

  • “使用代理服务器”设置已自动开启
  • 地址已变成http=127.0.0.1:8888;https=127.0.0.1:8888

这里的问题是 Application Guard 不接受这样的 URL,因为它要求通过名称而不是 IP 地址来识别代理。

如果您现在尝试将该 URL 更改为https=localhost:8888以为其命名,然后单击“保存”按钮,Fiddler 将立即关闭捕获,并将显示一个黄色的大通知,内容为:“系统代理已更改。单击以重新启用捕获”。如果您单击黄色标题...“设置”中的代理 URL 将返回到http=127.0.0.1:8888;https=127.0.0.1:8888(!)。

据我所知,这种情况是无法解决的:这两个应用程序互相不兼容。这也许是设计使然。

答案2

这是因为它底层是一个虚拟机,所以无法使用主机的环回网络。

我没有使用 fiddle,但我确实让我的虚拟机通过代理连接到互联网

这是我的解决方案:

  1. 安装 docker 桌面。docker 提供了一个指向主机的特殊主机名“host.docker.internal”。任何虚拟机(包括 Windows Defender 应用程序防护)都可以利用这一点。

  2. 在主机上将系统代理设置为 host.docker.internal:port 就可以了。

相关内容