【问题标题】:Using fiddler with a C# application + ip:port proxy将提琴手与 C# 应用程序 + ip:port 代理一起使用
【发布时间】:2013-07-28 03:44:43
【问题描述】:

我正在从事一个涉及使用 ip:port 代理的项目。我的 C# 应用程序使用 geckofx Web 浏览器,它允许我指定一个代理来路由流量。我需要能够看到提琴手中的流量,但是每当我尝试通过我的 C# 应用程序的网络浏览器加载网页时(配置了 ip:port 代理,我在提琴手中看不到任何流量。我也看不到任何没有代理的流量。

浏览像 chrome 这样的网络浏览器,我可以看到通过的所有流量......我错过了什么?为什么我无法从我的 C# 应用中查看流量?

【问题讨论】:

    标签: c# tcp proxy fiddler


    【解决方案1】:

    Fiddler 是一个代理服务器;它会看到发送给它的流量。它在启动时将自己注册为默认系统代理,并在关闭时恢复它。如果您的应用程序手动指定另一个代理,它不会将其流量发送到 Fiddler。

    要解决此问题,请将客户端配置为指向 Fiddler 并将 Fiddler 配置为“链接”到您的上游代理,或者将您的其他代理配置为“链接”到 Fiddler。

    前者可能最简单:在“工具”>“Fiddler 选项”中设置上游代理,或者在 Fiddler 未运行时将其设为 IE 的默认代理。

    【讨论】:

    • 如果我需要运行多个 C# 应用程序实例,每个实例都使用不同的 ip:port 代理,该怎么办?
    • 同样的指导适用;您可以将这些代理链接到 Fiddler。或者,您可以添加自定义标头(例如 X-Proxy-To: ip:port)并让 Fiddler 检测该标头并在 Session 上设置 X-OverrideGateway 标志,然后删除标头。
    • 非常感谢您的回复。我只是不明白您所说的“将这些代理链接到 Fiddler”是什么意思。对于自定义标头,您的意思是从我的 C# 应用程序添加自定义标头,然后让提琴手将流量路由到代理?在这种情况下,我是否只需将 geckofx 代理设置为使用 localhost?
    • 如果您控制“ip:port”代理,您可以将它们配置为通过 Fiddler 实例发送流量。如果你不控制它们,这显然是行不通的。对于自定义标头路由,是的,您从 C# 应用程序添加自定义标头并将其代理设置指向 127.0.0.8888,然后您在 Fiddler 中的代码在决定下一步将流量发送到哪里时查看该标头。现在,如果您无法添加自定义标头,那么您的应用程序会向 Fiddler 发送一条 HTTP 消息,该消息实际上是“对于来自此进程的所有后续请求(请参阅 X-ProcessInfo)将流量发送到 ...”
    【解决方案2】:

    如果您在网址中使用localhost,则需要在localhost 的末尾添加一个点(.),如下所示:

    http://localhost.:56789/YourPage.aspx
    

    注意:56789 是一个组成的端口号,但您需要使用通过 Visual Studio 运行时自动生成的端口号。

    【讨论】:

    • 确实如此(.NET 绕过 localhost 地址的代理),但如果他为他的应用程序手动指定代理,这还不够。
    • 好点 EricLaw,但我确实用“如果...”大声笑
    猜你喜欢
    • 1970-01-01
    • 2011-04-09
    • 2013-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多