我有一台运行 Fiddler 的 Windows 7 主机和一台 Ubuntu VirtualBox 客户机。在主机上,我运行一个客户端应用程序(本机,不是 .NET 或 Java),它允许我设置服务器名称和端口,但没有代理设置选项。它连接到在 Ubuntu 客户机中运行的 REST 服务器。
它可以很好地拨打和接听客户机的电话,但我无法让 Fiddler 记录流量。我尝试设置规则(虽然我不确定我是否做对了),并尝试使用 Fiddler 作为反向代理并在 Ubuntu 机器上设置传出端口的说明,但没有成功。
如果我将客户端指向 127.0.0.1 和端口 8888,我可以看到第一个请求,但仅此而已(并且客户端显然无法按照这样的配置工作)。
有人知道我可以采取什么步骤来让 Fiddler 记录流量吗?
答案1
我终于让它工作了,虽然我完全不确定这是“最佳”解决方案,但它捕获了我需要的所有流量。
我做了以下事情:
- 在 Fiddler 中,我转到规则->自定义规则...
- 我在函数顶部添加了以下内容
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
}
- 我将客户端应用程序设置为 IP
127.0.0.1
和端口8888
。 - 我添加了一个过滤器来限制流量仅来自我的客户端应用程序。
虽然这很肮脏,但是却能起到作用。