我們在使用Fiddler進行抓包時,發現只要是使用了Fiddler代理服務器的所有HTTP/HTTPS數據包都會在Fiddler數據列表中顯示出來,但有時我們只關注從某個或某些服務器發出的請求,不想要看到其他服務器的數據包,應該怎么進行設置呢?我們都知道Fiddler是一款強大的抓包工具,我們可以通過設置來過濾只篩選出我們想要的數據包。
開啟fiddler后,會監聽所有的請求,在大多數情況下,我們只需要監聽部分請求,此時可以使用Filters功能去控制。
界面顯示如下:
默認情況下過濾是未開啟的,需要勾選“Use filters”進行啟動。如果有多套監聽方式,也可以將其導出,在下次需要的時候進行導入。
配置請求過濾之后:
具體的含義:
Run Filterset now 運行當前過濾集。
Load Filterset 加載過濾集,一個以ffx為后綴名的文件,文件里用xml記錄過濾條件。當加載了過濾集,在Save Filterset 后會多出來一個選項Reload “xxx.ffx”,方便再次使用。
Save Filterset 以ffx為后綴名,保存當前過濾集。默認保存地址%userprofile%\Documents\Fiddler2\Filters。
一、Hosts
1.過濾內網主機/過濾外網主機,一般很少用到,主要使用第二種方式進行過濾。
No Zone Filter 不分區域過濾(內網外網都顯示)
Show only Intranet Hosts 只顯示內網主機(可以通過Fiddler的快照功能,在Sessions里邊加一個本地的Session,來查看此功能的效果)
Show only Internet Hosts 只顯示互聯網主機
2.域名過濾,通過配置,只監聽/或不監聽默認域名。
在選中不同的過濾方式后,配合下面輸入框中輸入的地址信息,進行過濾。
(1、Hide the following Hosts:表示在輸入框中,輸入了哪些域名信息,就不過濾,不進行監聽。
如:選中此項,在輸入框中,輸入www.baidu.com時,此時請求www.baidu.com的請求都不會進行監聽,在左側的session面板中,將不會有www.baidu.com相關的請求記錄。
(2、Show only the following Hosts:標識在輸入框中輸入了哪些域信息,就只監聽這些域名,其他的域名將不進行監聽。
如:選中此項,在輸入框中,輸入www.baidu.com時,只有在訪問www.baidu.com的請求才會進行監聽,即左側的sessson中只包含www.baidu.com的請求,其他的請求將不會監聽顯示。
(3、Flag the following Hosts:表示在輸入框中輸入了哪些域名信息,在左側的session面板中,這些配置的域名在監聽到時,會加標識(如:加粗)
如:選中此項,在輸入框中輸入www.baidu.com,在訪問www.baidu.com時左側的session面板中,會加標識(加粗)
二、Client Process
進程過濾,通過配置,只監聽/不監聽哪些進程的請求。
(1、Show only traffic from:只顯示來自后面選擇進程的請求
(2、Show only Internet Exporer traffic:只顯示來自IE的請求
(3、Hide trafficfrom service host:隱藏來自service host的請求
三、Request Headers
表示根據請求頭信息,進行過濾。
四、Breakpoints
根據斷點,進行配置過濾
五、response status code
根據響應代碼進行過濾
六、Response type and size
根據響應類型和數據大小,配置過濾
七、response headers
根據響應頭信息,配置過濾
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在右側菜單中,找到Fittlers選項,共有9個部分進行設置
1.Use Filters:勾選則表示使用過濾,不勾選則表示不進行過濾
2.Actions:有四個選項:
- Run Filterset now:立即運行過濾設置;
- Load Filterset:加載保存的過濾設置;
- Save Filterset:保存過濾設置;
- help:幫助
3.Hosts:該設置項有兩個選項
- 第一個下拉框是只顯示內網或者外網選項
- 第二個下拉框是根據主機名信息顯示或者隱藏或者標記指定請求
4.Client Process:有三個選項:
- Show only traffic from:根據進程信息進行過濾,選擇后,將只顯示由該進程發出的請求;
- Show only Internet Explorer traffic:只關心由IE瀏覽器發出的請求;
- Hide traffic from Service Host:隱藏來自service host(即由svchost.exe進程發出)的請求
5.Request Headers:有五個選項:
- Show only if URL contains:可以通過正則表達式過濾請求地址中包含或不包含的內容,例如REGEX:\.(js|css|js\?.*|css\?.*)$(隱藏所有js和css請求);
- Hide if URL contains:與Show only if URL contains相反,一個是顯示,一個是隱藏;
- Flags requests with headers:支持指定某個http請求頭名稱,如果在web session列表中存在該請求頭,會加粗顯示該session;
- Delete requests headers:與Flags requests with headers類似,這里是如果包含該請求頭,則刪除該請求頭;
- Set request header:將HTTP請求頭更新為所輸入的值。
6.Breakpoints,斷點設置,有四個選項:
- Break request on POST:對POST請求設置斷點;
- Break request on GET with query string:會為所有方法為GET且URL中包含了給定查詢條件的請求設置斷點;
- Break on XMLHttpRequest:對所有能夠確定是通過XMLHTTPRequest對象發送的請求設置斷點;
- Break response on Content-Type:會為所有響應頭Content-Type中包含了指定文本的響應設置響應斷點。
7.Response Status Code:根據響應狀態碼設置斷點。
8.Response Type and Size:有幾種類型:
- 一類是根據響應數據的類型顯示或隱藏;
- 一類是根據響應數據的大小顯示或隱藏;
- 一類是根據響應所需要的時間設置背景顏色;
- 一類是根據文件類型進行限制。
9.Response Headers:與Request Headers不同的是,這塊區域是針對響應數據的頭部進行過濾。