Fiddler的Find Session相比同類產(chǎn)品秽誊,功能上已經(jīng)十分極致错览,即使不需要Filter也可以輕易抓取目標(biāo)請(qǐng)求,但在請(qǐng)求繁多逞力,監(jiān)控目標(biāo)流量過多的情況下曙寡,F(xiàn)ilter不可或缺。
Fiddler具有高定制性寇荧,理論上可以攔截所有可代理請(qǐng)求并依特定條件過濾举庶,但本文僅涉及常用Field的過濾:Protocol,Host揩抡,URL户侥,Content-Type,HTTP Method峦嗤。
-
Protocol
實(shí)際上過濾Protocol基本上只相對(duì)于HTTP與HTTPS兩種協(xié)議蕊唐,由于HTTPS基于TLS,默認(rèn)配置下Fiddler不會(huì)監(jiān)聽HTTPS請(qǐng)求烁设,首先開啟攔截HTTPS請(qǐng)求替梨,如圖在menu中選擇Tool>Options
Tool>Options
選中Options>HTTPS>Decrypt HTTPS traffic
Decrypt HTTPS traffic
此時(shí)操作系統(tǒng)將詢問是否通過Fiddler的證書,同意后成功
啟用成功
啟用后Fiddler將同時(shí)監(jiān)聽HTTP與HTTPS流量,在Filter界面對(duì)其進(jìn)行設(shè)置
勾選Use Filter
Use Filter
設(shè)置過濾哪一種協(xié)議
過濾Protocol -
Host
同在Filter界面副瀑,只需要如下設(shè)置
Host
過濾多個(gè)Host只需用;
隔開
多個(gè)Host -
URL
URL 過濾
Show only if URL contains過濾出所需的URL弓熏,使用正則在前面追加REGEX:
Hide if URL contains隱藏符合規(guī)則的URL,可以與Show only if URL contains同時(shí)使用俗扇,也支持正則硝烂,同樣需要以REGEX:
開頭 -
Content-Type
Content-Type
只需要在response type and size的下拉框中選擇即可
-
HTTP Method
例如如果要隱藏所有HTTP Method為OPTIONS的請(qǐng)求,打開FiddlerScript界面找到OnBeforeRequest方法
FiddlerScript
在OnBeforeRequest方法最后一行追加判斷
if (oSession.HTTPMethodIs("OPTIONS")) {
oSession["ui-hide"] = "true";
}
HTTPMethodIsy方法也可以判斷其他HTTP Method铜幽,例如POST滞谢,GET,DELETE除抛,PUT狮杨,PATCH。
Fiddler使用C#編寫到忽,它將動(dòng)態(tài)編譯FiddlerScript并進(jìn)行調(diào)用橄教,實(shí)際上FiddlerScript也是一個(gè)普通的C# class,可以利用其做很多復(fù)雜的邏輯判斷用來過濾請(qǐng)求喘漏,參數(shù)Seesion具有類索引器护蝶,取值便捷,即使不熟悉c#語法也可以輕松做過濾邏輯翩迈,設(shè)計(jì)非常周到持灰。