【问题标题】:FiddlerCore: how to use system proxy right?FiddlerCore:如何正确使用系统代理?
【发布时间】:2016-08-26 13:18:55
【问题描述】:

我想嗅探浏览器的一些 https 流量。我的网络设置使用代理配置“使用自动配置脚本:'http://proxyconf-domain.net/'”

现在我的代码如下所示:

FiddlerApplication.AfterSessionComplete += FiddlerApplicationOnAfterSessionComplete;

FiddlerApplication.Startup(8888, FiddlerCoreStartupFlags.Default);

...

private void FiddlerApplicationOnAfterSessionComplete(Session oSession)
{
    if (oSession.LocalProcessID == 22228)
    {
        Console.WriteLine("Chrome Traffic");
    }
}

问题: 启动后我的系统代理设置丢失,因此浏览器无法连接到互联网,我必须手动重置它们。但我希望 FiddlerCore 像 Fiddler App 一样工作。

FiddlerCoreStartupFlags.Default 具有 RegisterAsSystemProxy 标志。 Fiddler App 具有相同的设置: FiddlerSettings 但 Fiddler 应用程序正在捕获流量,并且浏览器保留其代理设置。

我是否必须阅读系统代理并在我的代码中为 FiddlerCore 或其他东西设置它?

【问题讨论】:

    标签: proxy fiddlercore


    【解决方案1】:

    启动后我的系统代理设置丢失,因此浏览器无法连接到互联网,我必须手动重置它们。但我希望 FiddlerCore 像 Fiddler App 一样工作。

    这是因为你在程序退出时没有调用Shutdown() 方法。调用Shutdown() 告诉 FiddlerCore 停止监听指定端口,并且 取消注册为系统代理。例如:

        FiddlerApplication.AfterSessionComplete += FiddlerApplicationOnAfterSessionComplete;
        FiddlerApplication.Startup(8888, FiddlerCoreStartupFlags.Default);
        ...
    
        //when your program exits
        Fiddler.FiddlerApplication.Shutdown();
        ...
    

    在许多情况下,您最好直接致电Fiddler.FiddlerApplication.oProxy.Detach()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-02
      • 2019-12-10
      • 1970-01-01
      • 2014-10-27
      相关资源
      最近更新 更多