
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#語法也可以輕松做過濾邏輯,設計非常周到。









