Fiddler抓取HTTP請求。php
抓包是Fiddler的最基本的應用,以本博客爲例,啓動Fiddler以後,在瀏覽器中輸入http://blog.csdn.net/ohmygirl 鍵入回車以後,在Fiddler的web session界面捕獲到的HTTP請求以下圖所示:css
各字段的詳細說明已經解釋過,這裏再也不說明。須要注意的是#號列中的圖標,每種圖標表明不一樣的相應類型,具體的類型包括:html
另外,注意請求的host字段。能夠看到有來自多個www.csdn.net的子域名的響應,說明在大型網站的架構中,大多須要多個子域名,這些子域名多是單獨用於緩存靜態資源的,也多是專門負責媒體資源的,或者是專門負責數據統計的(如pingback)。web
右鍵單擊其中的一條請求。能夠選擇的操做有:save(保存請求的報文信息,能夠是請求報文,能夠是響應報文)。例如,咱們保存的一條請求頭信息以下:正則表達式
不只是單條session,Fiddler還支持保存全部抓取到的session(並支持導入),這對於抓取可疑請求而後保存,並在以後隨時分析這些請求是頗有幫助的。瀏覽器
若是想要從新發送某些請求,能夠選中這些請求,而後點擊工具欄中的reply.就能夠從新發送選中的這些請求。緩存
左鍵點擊單條HTTP請求,能夠在右側的tab面板中看到以下信息:安全
關於HTTP請求的性能和其餘數據分析:服務器
咱們能夠從中看出一些基本性能數據:如DNS解析的時間消耗是8ms,創建TCP/IP鏈接的時間消耗是8ms等等信息。cookie
分爲上下兩個部分,上半部分是請求頭部分,下半部分是響應頭部分。對於每一部分,提供了多種不一樣格式查看每一個請求和響應的內容。JPG 格式使用 ImageView 就能夠看到圖片,HTML/JS/CSS 使用 TextView 能夠看到響應的內容。Raw標籤能夠查看原始的符合HTTP標準的請求和響應頭。Auth則能夠查看受權Proxy-Authorization 和 Authorization的相關信息。Cookies標籤能夠看到請求的cookie和響應的set-cookie頭信息。
Fiddler比較重要且比較強大的功能之一。可用於攔截某一請求,並重定向到本地的資源,或者使用Fiddler的內置響應。可用於調試服務器端代碼而無需修改服務器端的代碼和配置,由於攔截和重定向後,實際上訪問的是本地的文件或者獲得的是Fiddler的內置響應。當勾選allow autoresponser 並設置相應的規則後(本例中的規則是將http://blog.csdn.net/ohmygirl的請求攔截到本地的文件layout.html),以下圖所示
而後在瀏覽器中訪問http://blog.csdn.net/ohmygirl,獲得的結果實際爲:
這恰好是本地layout.html的內容,說明請求已經成功被攔截到本地.固然也可使用Fiddler的內置響應。下圖是Fiddler支持的攔截重定向的方式:
所以,若是要調試服務器的某個腳本文件,能夠將該腳本攔截到本地,在本地修改完腳本以後,再修改服務器端的內容,這能夠保證,儘可能在真實的環境下去調試,從而最大限度的減小bug發生的可能性。
不只是單個url,Fiddler支持多種url匹配的方式:
I. 字符匹配
如 example能夠匹配 http://www.example.com和http://example.com.cn
II. 徹底匹配
以EXACT開頭表示徹底匹配,如上邊的例子
EXACT:http://blog.csdn.net/ohmygirl
III. 正則表達式匹配
以regex: 開頭,使用正則表達式來匹配URL
如:regex:(?insx).*\.(css|js|php)$ 表示匹配全部以css,js,php結尾的請求url
老版本的fiddler中叫request-builder.顧名思義,能夠構建相應的請求,有兩種經常使用的方式構建請求:
(1)Parsed 輸入請求的url以後executed便可,也能夠修改相應的頭信息(如添加經常使用的accept, host, referrer, cookie,cache-control等頭部)後execute.
這個功能的常見應用是:「刷票」(不是火車票!!),如刷新頁面的訪問量(基於道德和安全緣由,若是你真去刷票,刷訪問量,本博客概不負責)
(2)Raw。使用HTTP頭部信息構建http請求。與上相似。很少敘述
Fiddler另外一個比較強大的功能。Fiddler提供了多維度的過濾規則,足以知足平常開發調試的需求。以下圖示:
過濾規則有:
a. host和zone過濾。能夠過濾只顯示intranet或則internet的HTTP請求
也能夠選擇特定域名的HTTP請求
b. client process:能夠捕獲指定進程的請求。
這對於調試單個應用的請求頗有幫助。
其餘更多的設置能夠參考fiddler的官方文檔。