Fiddler抓包使用教程-過濾
Fiddler抓包可以完成我們移動開發者的調試測試需求。但是多餘的網頁請求和手機的其他連結影響我們手機開發的需求。是以我們需要排除其他無用的包,隻關注我們指定的域名的請求包。
如下圖,先整體看看

如圖所示
預設情況下,這個頁面是灰色的,代表預設不過濾任何請求。現在我們勾選 <code>Use Filters</code> 。
當所有的配置完成了,點選 <code>Run Filterset now</code> 就可以立即生效了。同時我們可以維護多套filters,在不同的情形下加載不同的filter,在Actions中可以把目前的filter儲存起來,也可以加載以前儲存的filter。
在這裡我們選擇第一個選項 <code>-No Zone Filter</code>.
在 Hosts 第二個下拉框裡面有幾個選項
隐藏、顯示 指定請求好了解。标記下面主機的包是什麼意思?
注意會話清單中有個左側有個鎖的辨別,代表标記的會話。
輸入指定的過濾的主機,多個主機可以用 ;隔開
這個就實作了對所有的 <code>www.baidu.com</code> 和 <code>https://www.baidu.com</code> 的包的過濾。
如何正确的填寫主機
如何正确的填寫文本框裡面的内容,這個問題非常重要,是一個很大大的坑,可以在會話清單中 Host 列裡面找到請求的 Host .
但是我們看到在請求知乎網站首頁的時候,Host 列出現了很多 Tunnel to 的字段。請求的 Url : <code>https://www.zhihu.com/</code> 。
首先我們請求的域名是 https ,我們要看看 https 有沒有設定對。
果然是 https 沒有設定對。<code>remote clients only</code> 改成 <code>from all processes</code> ; 并且取消 <code>Ignore server certificate errors</code> 如下圖所示:
修改完成後,在抓個包試試看。
在上面我們設定了過濾的方式,過濾的主機,現在我們可以選擇程序了。
在下拉框裡面看到了 <code>釘釘</code> 、<code>浏覽器</code>、<code>Fiddler</code>、<code>Google服務</code> 等等,選擇自己需要的程序。
另外兩個一個是指關心IE,另一個是隐藏來自service host的請求 , 這個我們這個不做處理。
這個可能是我覺得比較有用的一塊兒了。
Show only if URL contains 和 Hide if URL contains 使用方法類似 功能相反。都是url中包含某些字元的filter,多種情況空格分隔。支援正規表達式和完全比對,如下是個例子,可以簡單了解為隐藏所有js和css請求。
這個部分是各種各樣的斷點,大家應該知道 fiddler 是有斷點功能的,可以在請求發送時斷住,之後修改請求,再發送。當然也可以在響應的時候斷住,做修改。而且 fiddler 還可以模拟響應,根本不發送給server 端,在項目開發階段,server 端沒有準備好 API 這個就特别有用了,或者用了複現一些問題。
如果server端的響應代碼屬于或者不屬于哪一類就隐藏,比較簡單。
這部分是根據響應類型和大小的filter,前一半是顯示隐藏的filter,後一部分是 block 的filter。block的filter也挺有意思,如果你選中了block css那麼浏覽器就加載不到css了。
是對response header的flag和修改。比較有用的是如果你想知道哪些請求修改了cookie那麼就可以選中第一個checkbox