天天看點

抓包工具Fiddler介紹

本文參考http://blog.csdn.net/ohmygirl/article/details/17846199和https://www.cnblogs.com/GreenLeaves/p/6971452.html

之前一直想找一篇詳細介紹fiddler的介紹文章,今天終于找到了,特來分享。

1、抓包工具有很多,為什麼要使用Fiddler呢?原因如下:

a.Firebug雖然可以抓包,但是對于分析http請求的詳細資訊,不夠強大。模拟http請求的功能也不夠,且firebug常常是需要“無重新整理修改”,如果重新整理了頁面,所有的修改都不會儲存。

b.Wireshark是通用的抓包工具,但是比較龐大,對于隻需要抓取http請求的應用來說,似乎有些大材小用。

c.Httpwatch也是比較常用的http抓包工具,但是隻支援IE和firefox浏覽器(其他浏覽器可能會有相應的插件),對于想要調試chrome浏覽器的http請求,似乎稍顯無力,而Fiddler2 是一個使用本地 127.0.0.1:8888 的 HTTP 代理,任何能夠設定 HTTP 代理為 127.0.0.1:8888 的浏覽器和應用程式都可以使用 Fiddler。

2、what is Fiddler?

Fiddler是位于用戶端和伺服器端的HTTP代理,也是目前最常用的http抓包工具之一,它能夠記錄用戶端和伺服器之間的所有 HTTP請求,可以針對特定的HTTP請求,分析請求資料、設定斷點、調試web應用、修改請求的資料,甚至可以修改伺服器傳回的資料,功能非常強大,是web調試的利器。

既然是代理,也就是說:用戶端的所有請求都要先經過Fiddler,然後轉發到相應的伺服器,反之,伺服器端的所有響應,也都會先經過Fiddler然後發送到用戶端,基于這個原因,Fiddler支援所有可以設定http代理為127.0.0.1:8888的浏覽器和應用程式。使用了Fiddler之後,web用戶端和伺服器的請求如下所示:

抓包工具Fiddler介紹

Fiddler4主界面

抓包工具Fiddler介紹

注:通過主界面右上方的

抓包工具Fiddler介紹

按鈕打開目标浏覽器,這樣就能監控到該浏覽器所有的HTTP請求了,但是你不是這樣操作的,那麼你就必須修改浏覽器的代理,因為如果你的浏覽器在開啟fiddler之後沒有設定相應的代理,則fiddler是無法捕獲到HTTP請求的。如下是啟動Fiddler之後,IE浏覽器的代理設定:

抓包工具Fiddler介紹

以Firefox為例,預設情況下,firefox是沒有啟用代理的(如果你安裝了proxy等代理工具或插件,是另外一種情況),在firefox中配置http代理的步驟如下:

工具->選項->進階->網絡->設定  。并配置相應的代理如下:

抓包工具Fiddler介紹

下面開始分析主界面的功能區:

1、Fiddler菜單欄,上圖黑色部分,包括捕獲http請求,停止捕獲請求,儲存http請求,載入本地session、設定捕獲規則等功能。

2、Fiddler的工具欄,上圖黃色部分,包括Fiddler針對目前view的操作(暫停,清除session,decode模式、清除緩存等)。

3、Web Session面闆,上圖紅色部分,主要是Fiddler抓取到的每條http請求(每一條稱為一個session),主要包含了請求的url,協定,狀态碼,body等資訊,詳細的字段含義如下圖所示:

抓包工具Fiddler介紹
抓包工具Fiddler介紹

#欄圖示說明

抓包工具Fiddler介紹

另外,注意請求的host字段。可以看到有來自多個www.csdn.net的子域名的響應,說明在大型網站的架構中,大多需要多個子域名,這些子域名可能是單獨用于緩存靜态資源的,也可能是專門負責媒體資源的,或者是專門負責資料統計的(如pingback)

右鍵單擊其中的一條請求。可以選擇的操作有:save(儲存請求的封包資訊,可以是請求封包,可以是響應封包),将整條會話作為txt儲存到桌面,當然你可以儲存為zip,可以看到整個回話的内容如下:

4、詳情和資料統計闆,針對每條http請求的具體統計(例如發送/接受位元組數,發送/接收時間,還有粗略統計世界各地通路該伺服器所花費的時間)和資料包分析。如inspector面闆下,提供headers、textview、hexview,Raw等多種方式檢視單條http請求的請求封包的資訊:

抓包工具Fiddler介紹

選擇單條回話,右鍵save->selected Sessions->as Txt,打開相關的檔案

抓包工具Fiddler介紹

如果想要重新發送某些請求,可以選中這些請求,然後點選工具欄中的

抓包工具Fiddler介紹

,然後就可以重新發送選中的這些請求。

5、詳情和資料統計闆

(1)、inspector面闆

提供headers、textview、hexview,Raw等多種方式檢視單條http請求的請求封包的資訊,分為上下兩個部分,上半部分是請求頭部分,下半部分是響應頭部分。對于每一部分,提供了多種不同格式檢視每個請求和響應的内容。

a、ImageView标簽 

JPG 格式使用 ImageView 就可以看到圖檔,選擇一條Content-Type是image/jpeg的回話,點選TextView

抓包工具Fiddler介紹

b、TextView 标簽

HTML/JS/CSS 使用 TextView 可以看到響應的内容。選擇一條Content-Type是text/html的回話,點選TextView

抓包工具Fiddler介紹

c、Raw标簽

Raw标簽可以檢視響應封包和響應正文,但是不包含請求封包

抓包工具Fiddler介紹

d、Auth标簽

Auth則可以檢視授權Proxy-Authorization 和 Authorization的相關資訊

e、Cookies标簽

Cookies标簽可以看到請求的cookie和響應的set-cookie頭資訊。

抓包工具Fiddler介紹

(2)、AutoResponder标簽

Fiddler比較重要且比較強大的功能之一。可用于攔截某一請求,并重定向到本地的資源,或者使用Fiddler的内置響應。可用于調試伺服器端代碼而無需修改伺服器端的代碼和配置,因為攔截和重定向後,實際上通路的是本地的檔案或者得到的是Fiddler的内置響應。當勾選allow autoresponser 并設定相應的規則後(本例中的規則是将http://blog.csdn.net/aaa的請求攔截到本地的檔案http://localhost:54321/WebForm1.aspx),如下圖所示

抓包工具Fiddler介紹
抓包工具Fiddler介紹

(2)、Statistics面闆

HTTP請求的性能和其他資料分析

抓包工具Fiddler介紹

我們可以從中看出一些基本性能資料:如DNS解析的時間消耗是8ms,建立TCP/IP連接配接的時間消耗是8ms等等資訊。

(3)、composer面闆

可以模拟向相應的伺服器發送資料的過程(不錯,這就是灌水機器人的基本原理,也可以是部分http flood的一種方式)。

抓包工具Fiddler介紹

(3)、Filters面闆

Filter标簽則可以設定Fiddler的過濾規則,來達到過濾http請求的目的。最簡單如:過濾内網http請求而隻抓取internet的http請求,或則過濾相應域名的http請求。Fiddler的過濾器非常強大,可以過濾特定http狀态碼的請求,可以過濾特定請求類型的http請求(如css請求,image請求,js請求等),可以過濾請求封包大于或則小于指定大小(byte)的請求

抓包工具Fiddler介紹

繼續閱讀