Fiddler(二) - 使用Fiddler做抓包分析
分享一下我的偶像大神的人工智慧教程!http://blog.csdn.net/jiangjunshow
也歡迎轉載我的文章,轉載請註明出處 https://blog.csdn.net/mm2zzyzzp
Fiddler(二) - 使用Fiddler做抓包分析
上篇博文中已經介紹了Fiddler的原理和軟體介面。本文主要針對Fiddler的抓包抓取並處理HTTP請求。
抓包是Fiddler的最基本的應用,以本部落格為例,啟動Fiddler之後,在瀏覽器中輸入http://blog.csdn.net/sunhuaqiang1鍵入回車之後,在Fiddler的web session介面捕獲到的HTTP請求如下圖所示:
各欄位的詳細說明已經解釋過,這裡不再說明。需要注意的是#號列中的圖示,每種圖示代表不同的相應型別,具體的型別包括:
另外,注意請求的host欄位。可以看到有來自多個www.csdn.net的子域名的響應,說明在大型網站的架構中,大多需要多個子域名,這些子域名可能是單獨用於快取靜態資源的,也可能是專門負責媒體資源的,或者是專門負責資料統計的(如pingback)。
右鍵單擊其中的一條請求。可以選擇的操作有:save(儲存請求的報文資訊,可以是請求報文,可以是響應報文)。例如,我們儲存的一條請求頭資訊如下:
不僅是單條session,Fiddler還支援儲存所有抓取到的session(並支援匯入),這對於抓取可疑請求然後儲存,並在之後隨時分析這些請求是很有幫助的。
如果想要重新發送某些請求,可以選中這些請求,然後點選工具欄中的reply.就可以重新發送選中的這些請求。
左鍵點選單條HTTP請求,可以在右側的tab面板中看到如下資訊:
1. Statistic
關於HTTP請求的效能和其他資料分析:
我們可以從中看出一些基本效能資料:如DNS解析的時間消耗是8ms,建立TCP/IP連線的時間消耗是8ms等等資訊。
2. Inspectors
分為上下兩個部分,上半部分是請求頭部分,下半部分是響應頭部分。對於每一部分,提供了多種不同格式檢視每個請求和響應的內容。JPG 格式使用 ImageView 就可以看到圖片,HTML/JS/CSS 使用 TextView 可以看到響應的內容。Raw標籤可以檢視原始的符合HTTP標準的請求和響應頭。
Auth則可以檢視授權Proxy-Authorization 和 Authorization的相關資訊。Cookies標籤可以看到請求的cookie和響應的set-cookie頭資訊。
3. AutoResponder
Fiddler比較重要且比較強大的功能之一。可用於攔截某一請求,並重定向到本地的資源,或者使用Fiddler的內建響應。可用於除錯伺服器端程式碼而無需修改伺服器端的程式碼和配置,因為攔截和重定向後,實際上訪問的是本地的檔案或者得到的是Fiddler的內建響應。當勾選allow autoresponser 並設定相應的規則後(本例中的規則是將http://blog.csdn.net/sunhuaqiang1的請求攔截到本地的檔案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/sunhuaqiang1
- III. 正則表示式匹配 以regex: 開頭,使用正則表示式來匹配URL
如:regex:(?insx).*.(css|js|PHP)$ 表示匹配所有以css,js,php結尾的請求url。
4. Composer
老版本的fiddler中叫request-builder.顧名思義,可以構建相應的請求,有兩種常用的方式構建請求:
(1)Parsed 輸入請求的url之後executed即可,也可以修改相應的頭資訊(如新增常用的accept, host, referrer, cookie,cache-control等頭部)後execute.
這個功能的常見應用是:“刷票”(不是火車票!!),如重新整理頁面的訪問量(基於道德和安全原因,如果你真去刷票,刷訪問量,本部落格概不負責)
(2)Raw。使用HTTP頭部資訊構建http請求。與上類似,不多敘述。
5.Filter
Fiddler另一個比較強大的功能。Fiddler提供了多維度的過濾規則,足以滿足日常開發除錯的需求。如下圖示:
過濾規則有:
- a. host和zone過濾。可以過濾只顯示intranet或則internet的HTTP請求,也可以選擇特定域名的HTTP請求。
- b. client process:可以捕獲指定程序的請求。
這對於除錯單個應用的請求很有幫助。
其他更多的設定可以參考fiddler的官方文件。
給我偶像的人工智慧教程打call!http://blog.csdn.net/jiangjunshow