另外,注意請求的host字段。能夠看到有來自多個api.ad.cnblogs.com的子域名的響應,說明在大型網站的架構中,大多須要多個子域名,這些子域名多是單獨用於緩存靜態資源的,也多是專門負責媒體資源的,或者是專門負責數據統計的
二、Fiddler主界面的佈局以下:
主界面中主要包括四個經常使用的塊:前端
1.Fiddler的菜單欄,上圖綠色部分。包括捕獲http請求,中止捕獲請求,保存http請求,載入本地session、設置捕獲規則等功能。web
2.Fiddler的工具欄,上圖紅色部分。包括Fiddler針對當前view的操做(暫停,清除session,decode模式、清除緩存等)。算法
3.web Session面板,上圖黃色區域,主要是Fiddler抓取到的每條http請求(每一條稱爲一個session),主要包含了請求的url,協議,狀態碼,body等信息,詳細的字段含義以下圖所示:api
4.詳情和數據統計面板。瀏覽器
針對每條http請求的具體統計(例如發送/接受字節數,發送/接收時間,還有粗略統計世界各地訪問該服務器所花費的時 間)和數據包分析。如inspector面板下,提供headers、textview、hexview,Raw等多種方式查看單條http請求的請求報 文的信息:緩存
而composer面板下,則能夠模擬向相應的服務器發送數據的過程(不錯,這就是灌水機器人的基本原理,也能夠是部分http flood的一種方式)。服務器
也能夠粘貼一次請求的raw http headers,達到模擬請求的目的:網絡
Filter標籤則能夠設置Fiddler的過濾規則,來達到過濾http請求的目的。最簡單如:過濾內網http請求而只抓取internet的http請求,或則過濾相應域名的http請求。Fiddler的過濾器很是強大,能夠過濾特定http狀態碼的請求,能夠過濾特定請求類型的http請求(如css請求,image請求,js請求等),能夠過濾請求報文大於或則小於指定大小(byte)的請求:
更多的過濾器規則須要一步一步去挖掘。
3、經常使用功能介紹
一、更改host
fiddler能夠直接更改host,不須要重啓手機就可當即生效,並且對IOS也是支持的,能夠在正式環境/測試環境來回切換,很是方便
Tools->HOSTS...
二、模擬弱網環境,限速
Rules → Performances → Simulate Modem Speeds。勾選以後,你會發現你的網路瞬間慢下來了不少。至於慢下來後網絡速度是多少,則由CustomRules.js 中以下程序控制的(Ctrl+R):
...
var m_SimulateModem: boolean = true;
...
if (m_SimulateModem) {
// Delay sends by 500ms per KB uploaded.
oSession["request-trickle-delay"] = "500";
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "150";
}
...
算法就是 1000/下載速度 = 須要delay的時間(毫秒),好比50kB/s 須要delay20毫秒來接收數據,因此根據你須要的網絡速度來修改上述值。
【注】:存檔以後,本來已經勾選的Simulate Modem Speeds 會被取消勾選,須要再到Rules → Performances → Simulate Modem Speeds 勾選,同時須要注意必定要禁用瀏覽器代理插件,以及修改完成後重啓瀏覽器才能生效。
三、打斷點(會將全部的請求打斷點)
Before Requests F11 修改請求數據
After Responses Alt+F11 修改響應結果
Break On Response 點擊後會在響應的地方打斷點
Run To Completion 修改後點擊運行,將修改後的數據進行請求/返回
四、composer 模擬請求
能夠模擬全部的http請求,具體的參數能夠在raw裏面寫,寫完後點擊Execute進行執行模擬請求
五、AutoResponder 自動響應
能夠精確的對抓到的數據進行處理,好比打斷點(*bpu/*bpafter),直接返回寫好的返回值(find a file...)等
六、TestWizard 轉碼
七、Replay 從新模擬個同樣的請求,Shift+左鍵能夠生成N個同樣的請求,可用於簡單的壓力測試
八、快捷命令 (Alt+Q可直接focus到命令行)
請求斷點:bpu 192.168.0.1
清除請求斷點:bpu
響應斷點:bpafter 192.168.0.1
清除響應斷點:bpafter
中止/開始抓本地請求:stop/start
替換請求地址:urlreplace www.zhuaqianmao.com 121.41.58.3(將zhuaqianmao的請求替換爲58.3)
放開全部斷點:go/g
選擇全部該host的請求:@118.178.168.129
全部請求類型爲xxx進行斷點:bpv(bpm) xxx(如post/get)
清除全部請求:clear/cls
退出fiddler:quit