Fiddler(二) - 使用Fiddler做抓包分析
<
抓包是Fiddler的最基本的應(yīng)用,以本博客為例,啟動(dòng)Fiddler之后,在瀏覽器中輸入http://blog.csdn.net/sunhuaqiang1鍵入回車之后,在Fiddler的web session界面捕獲到的http請(qǐng)求如下圖所示:
各字段的詳細(xì)說(shuō)明已經(jīng)解釋過(guò),這里不再說(shuō)明。需要注意的是#號(hào)列中的圖標(biāo),每種圖標(biāo)代表不同的相應(yīng)類型,具體的類型包括:
另外,注意請(qǐng)求的host字段。可以看到有來(lái)自多個(gè)www.csdn.net的子域名的響應(yīng),說(shuō)明在大型網(wǎng)站的架構(gòu)中,大多需要多個(gè)子域名,這些子域名可能是單獨(dú)用于緩存靜態(tài)資源的,也可能是專門負(fù)責(zé)媒體資源的,或者是專門負(fù)責(zé)數(shù)據(jù)統(tǒng)計(jì)的(如pingback)。
右鍵單擊其中的一條請(qǐng)求。可以選擇的操作有:save(保存請(qǐng)求的報(bào)文信息,可以是請(qǐng)求報(bào)文,可以是響應(yīng)報(bào)文)。例如,我們保存的一條請(qǐng)求頭信息如下:
不僅是單條session,Fiddler還支持保存所有抓取到的session(并支持導(dǎo)入),這對(duì)于抓取可疑請(qǐng)求然后保存,并在之后隨時(shí)分析這些請(qǐng)求是很有幫助的。
如果想要重新發(fā)送某些請(qǐng)求,可以選中這些請(qǐng)求,然后點(diǎn)擊工具欄中的reply.就可以重新發(fā)送選中的這些請(qǐng)求。
左鍵點(diǎn)擊單條HTTP請(qǐng)求,可以在右側(cè)的tab面板中看到如下信息:
1. Statistic
關(guān)于HTTP請(qǐng)求的性能和其他數(shù)據(jù)分析:
我們可以從中看出一些基本性能數(shù)據(jù):如DNS解析的時(shí)間消耗是8ms,建立TCP/IP連接的時(shí)間消耗是8ms等等信息。
2. Inspectors
分為上下兩個(gè)部分,上半部分是請(qǐng)求頭部分,下半部分是響應(yīng)頭部分。對(duì)于每一部分,提供了多種不同格式查看每個(gè)請(qǐng)求和響應(yīng)的內(nèi)容。JPG 格式使用 ImageView 就可以看到圖片,HTML/JS/CSS 使用 TextView 可以看到響應(yīng)的內(nèi)容。Raw標(biāo)簽可以查看原始的符合HTTP標(biāo)準(zhǔn)的請(qǐng)求和響應(yīng)頭。
Auth則可以查看授權(quán)Proxy-Authorization 和 Authorization的相關(guān)信息。Cookies標(biāo)簽可以看到請(qǐng)求的cookie和響應(yīng)的set-cookie頭信息。
3. AutoResponder
Fiddler比較重要且比較強(qiáng)大的功能之一。可用于攔截某一請(qǐng)求,并重定向到本地的資源,或者使用Fiddler的內(nèi)置響應(yīng)。可用于調(diào)試服務(wù)器端代碼而無(wú)需修改服務(wù)器端的代碼和配置,因?yàn)閿r截和重定向后,實(shí)際上訪問(wèn)的是本地的文件或者得到的是Fiddler的內(nèi)置響應(yīng)。當(dāng)勾選allow autoresponser 并設(shè)置相應(yīng)的規(guī)則后(本例中的規(guī)則是將http://blog.csdn.net/sunhuaqiang1的請(qǐng)求攔截到本地的文件layout.html),如下圖所示。
然后在瀏覽器中訪問(wèn)http://blog.csdn.net/ohmygirl,得到的結(jié)果會(huì)重定向到設(shè)置的頁(yè)面中。
這剛好是本地layout.html的內(nèi)容,說(shuō)明請(qǐng)求已經(jīng)成功被攔截到本地.當(dāng)然也可以使用Fiddler的內(nèi)置響應(yīng)。下圖是Fiddler支持的攔截重定向的方式:
因此,如果要調(diào)試服務(wù)器的某個(gè)腳本文件,可以將該腳本攔截到本地,在本地修改完腳本之后,再修改服務(wù)器端的內(nèi)容,這可以保證,盡量在真實(shí)的環(huán)境下去調(diào)試,從而最大限度的減少bug發(fā)生的可能性。
不僅是單個(gè)url,F(xiàn)iddler支持多種url匹配的方式:
I. 字符匹配 如 example可以匹配 http://www.example.com和http://example.com.cn
II. 完全匹配 以EXACT開頭表示完全匹配,如上邊的例子 EXACT:http://blog.csdn.net/sunhuaqiang1
III. 正則表達(dá)式匹配 以regex: 開頭,使用正則表達(dá)式來(lái)匹配URL
如:regex:(?insx).*.(css|js|PHP)$ 表示匹配所有以css,js,php結(jié)尾的請(qǐng)求url。
4. Composer
老版本的fiddler中叫request-builder.顧名思義,可以構(gòu)建相應(yīng)的請(qǐng)求,有兩種常用的方式構(gòu)建請(qǐng)求:
(1)Parsed 輸入請(qǐng)求的url之后executed即可,也可以修改相應(yīng)的頭信息(如添加常用的accept, host, referrer, cookie,cache-control等頭部)后execute.
這個(gè)功能的常見應(yīng)用是:“刷票”(不是火車票!!),如刷新頁(yè)面的訪問(wèn)量(基于道德和安全原因,如果你真去刷票,刷訪問(wèn)量,本博客概不負(fù)責(zé))
(2)Raw。使用HTTP頭部信息構(gòu)建http請(qǐng)求。與上類似,不多敘述。
5.Filter
Fiddler另一個(gè)比較強(qiáng)大的功能。Fiddler提供了多維度的過(guò)濾規(guī)則,足以滿足日常開發(fā)調(diào)試的需求。如下圖示:
過(guò)濾規(guī)則有:
a. host和zone過(guò)濾。可以過(guò)濾只顯示intranet或則internet的HTTP請(qǐng)求,也可以選擇特定域名的HTTP請(qǐng)求。
b. client process:可以捕獲指定進(jìn)程的請(qǐng)求。
這對(duì)于調(diào)試單個(gè)應(yīng)用的請(qǐng)求很有幫助。
其他更多的設(shè)置可以參考fiddler的官方文檔。

HTTP PHP
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。