如何在 Fiddler 中记录与 VirtualBox 服务器通信的本机应用程序的 HTTP 流量?

如何在 Fiddler 中记录与 VirtualBox 服务器通信的本机应用程序的 HTTP 流量?

我有一台运行 Fiddler 的 Windows 7 主机和一台 Ubuntu VirtualBox 客户机。在主机上,我运行一个客户端应用程序(本机,不是 .NET 或 Java),它允许我设置服务器名称和端口,但没有代理设置选项。它连接到在 Ubuntu 客户机中运行的 REST 服务器。

它可以很好地拨打和接听客户机的电话,但我无法让 Fiddler 记录流量。我尝试设置规则(虽然我不确定我是否做对了),并尝试使用 Fiddler 作为反向代理并在 Ubuntu 机器上设置传出端口的说明,但没有成功。

如果我将客户端指向 127.0.0.1 和端口 8888,我可以看到第一个请求,但仅此而已(并且客户端显然无法按照这样的配置工作)。

有人知道我可以采取什么步骤来让 Fiddler 记录流量吗?

答案1

我终于让它工作了,虽然我完全不确定这是“最佳”解决方案,但它捕获了我需要的所有流量。

我做了以下事情:

  1. 在 Fiddler 中,我转到规则->自定义规则...
  2. 我在函数顶部添加了以下内容OnBeforeRequest()

代码:

if (oSession.host=="127.0.0.1:8888") {
    oSession.bypassGateway = true;
    oSession.host="192.168.56.1:9876"; // This is the IP/Port of my guest OS / service
}
  1. 我将客户端应用程序设置为 IP127.0.0.1和端口8888
  2. 我添加了一个过滤器来限制流量仅来自我的客户端应用程序。

虽然这很肮脏,但是却能起到作用。

相关内容