如何使用Fiddler Filter 與 FiddlerScript 過濾本機網(wǎng)絡請求

Fiddler

Fiddler的Find Session相比同類產(chǎn)品,功能上已經(jīng)十分極致,即使不需要Filter也可以輕易抓取目標請求,但在請求繁多,監(jiān)控目標流量過多的情況下,F(xiàn)ilter不可或缺。

Fiddler具有高定制性,理論上可以攔截所有可代理請求并依特定條件過濾,但本文僅涉及常用Field的過濾:Protocol,Host,URL,Content-Type,HTTP Method。

  • Protocol
    實際上過濾Protocol基本上只相對于HTTP與HTTPS兩種協(xié)議,由于HTTPS基于TLS,默認配置下Fiddler不會監(jiān)聽HTTPS請求,首先開啟攔截HTTPS請求,如圖在menu中選擇Tool>Options


    Tool>Options

    選中Options>HTTPS>Decrypt HTTPS traffic


    Decrypt HTTPS traffic

    此時操作系統(tǒng)將詢問是否通過Fiddler的證書,同意后成功
    啟用成功

    啟用后Fiddler將同時監(jiān)聽HTTP與HTTPS流量,在Filter界面對其進行設置

    勾選Use Filter


    Use Filter

    設置過濾哪一種協(xié)議
    過濾Protocol
  • Host
    同在Filter界面,只需要如下設置

    Host

    過濾多個Host只需用;隔開
    多個Host

  • URL

    URL 過濾

    Show only if URL contains過濾出所需的URL,使用正則在前面追加REGEX:
    Hide if URL contains隱藏符合規(guī)則的URL,可以與Show only if URL contains同時使用,也支持正則,同樣需要以REGEX:開頭

  • Content-Type


    Content-Type

    只需要在response type and size的下拉框中選擇即可

  • HTTP Method
    例如如果要隱藏所有HTTP Method為OPTIONS的請求,打開FiddlerScript界面找到OnBeforeRequest方法


    FiddlerScript

    在OnBeforeRequest方法最后一行追加判斷

if (oSession.HTTPMethodIs("OPTIONS")) {
    oSession["ui-hide"] = "true";
}

HTTPMethodIsy方法也可以判斷其他HTTP Method,例如POST,GET,DELETE,PUT,PATCH。

Fiddler使用C#編寫,它將動態(tài)編譯FiddlerScript并進行調(diào)用,實際上FiddlerScript也是一個普通的C# class,可以利用其做很多復雜的邏輯判斷用來過濾請求,參數(shù)Seesion具有類索引器,取值便捷,即使不熟悉c#語法也可以輕松做過濾邏輯,設計非常周到。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容