2016-08-26 42 views
0

我想嗅探一些瀏覽器的https流量。我的網絡設置,使用代理服務器配置「使用自動配置腳本:‘http://proxyconf-domain.net/’」FiddlerCore:如何使用系統代理的權利?

現在我的代碼如下所示:

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標誌。該提琴手應用程序具有相同的設置: FiddlerSettings 但提琴手應用程序捕捉流量和瀏覽器保持其代理設置。

我必須閱讀系統代理並將其設置在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()即可。