Fiddler是一個http協定調試代理工具,它能夠記錄并檢查所有你的電腦和網際網路之間的http通訊,設定斷點,檢視所有的“進出”Fiddler的資料(指cookie、html、js、css等檔案,這些都可以讓你胡亂修改的意思)。Fiddler要比其他的網絡調試器要更加簡單,因為它不僅僅暴露http通訊還提供了一個使用者友好的格式。
<a href="#%E7%AE%80%E8%BF%B0">簡述</a>
<a href="#%E4%BB%8B%E7%BB%8D">介紹</a>
<a href="#%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86">工作原理</a>
<a href="#%E5%90%8C%E7%B1%BB%E4%BA%A7%E5%93%81">同類産品</a>
<a href="#%E4%BD%BF%E7%94%A8%E7%AE%80%E4%BB%8B">使用簡介</a>
<a href="#%E6%9B%B4%E5%A4%9A%E5%8F%82%E8%80%83">更多參考</a>
Fiddler是用C#寫的,它包含一個簡單卻功能強大的基于JScript .NET事件腳本子系統,它是最強大最好用http抓包工具之一,靈活性非常棒,可以支援衆多的http調試任務,能記錄用戶端和伺服器之間的http/https請求,可以針對特定的HTTP請求,分析請求資料、設定斷點、調試web應用、修改請求的資料,甚至可以修改伺服器傳回的資料,功能非常強大,是Web調試的利器。
你對HTTP協定越了解,就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能幫助你了解HTTP協定。
Fiddler無論對開發人員或者測試人員來說,都是非常有用的工具。
Fiddler是以代理Web伺服器的形式工作的。既然是代理,也就是說:用戶端的所有請求都要先經過Fiddler,然後轉發到相應的伺服器,反之,伺服器端的所有響應,也都會先經過Fiddler然後發送到用戶端,基于這個原因,Fiddler支援所有可以設定http代理為127.0.0.1:8888的浏覽器和應用程式。
使用了Fiddler之後,Web用戶端和伺服器的請求如下所示:

當打開Fiddler後,會自動設定代理(Google Chrome為列),退出的時候它會自動登出代理,這樣就不會影響别的程式。不過如果Fiddler非正常退出,這時候因為Fiddler沒有自動登出,會造成網頁無法通路。解決的辦法是重新啟動下Fiddler。
啟動Fiddler,我們可以在浏覽器中通路此連結:
Firebug
雖然可以抓包,但是對于分析HTTP請求的詳細資訊,不夠強大。模拟HTTP請求的功能也不夠,且firebug常常是需要“無重新整理修改”,如果重新整理了頁面,所有的修改都不會儲存。
Wireshark
是通用的抓包工具,但是比較龐大,對于隻需要抓取HTTP請求的應用來說,似乎有些大材小用。
Httpwatch
也是比較常用的HTTP抓包工具,它能夠幫助我們分析浏覽器與Web伺服器之間的互動細節。它不僅能夠幫助我們進行HTTP問題的故障排錯,還能夠幫助我們優化Web網站的性能。但是隻支援IE和firefox浏覽器(其他浏覽器可能會有相應的插件),對于想要調試chrome浏覽器的Httpwatch請求,似乎稍顯無力,而且它是一款商業軟體,而且價格不菲。
HttpFox
可以看作是一個精簡版的HttpWatch,它是Firefox的一個插件,免費的,具有HttpWatch的一些最常用的基本功能。支援Firefox,如果需要分析對比不同浏覽器處理某些行為的差别,HttpFox并不能幫到你。
Fiddler主界面的布局如下:
主界面主要包括四個常用的子產品:
菜單欄:包括捕獲http請求,停止捕獲請求,儲存http請求,載入本地session、設定捕獲規則等功能。
工具欄:包括Fiddler針對目前view的操作(暫停,清除session,decode模式、清除緩存等)。
Web Session面闆:主要是Fiddler抓取到的每條http請求(每一條稱為一個session),主要包含了請求的url,協定,狀态碼,body等資訊。
詳細字段含義如下:
字段
描述
#
HTTP Request的順序,從1開始,按照頁面加載請求順序遞增
Result
HTTP響應狀态
Protocol
請求使用的協定(HTTP/HTTPS/FTP)
Host
請求位址的域名
URL
請求伺服器的路徑和檔案名,也包括Get參數
Body
請求的大小,以Byte為機關
Caching
請求的緩存過期時間或緩存控制header等值
Content-Type
請求響應的類型
Process
發出此請求的Windows程序及程序ID
Comments
使用者通過腳本或右鍵菜單給此Session添加的備注
Custom
使用者可以通過腳本設定的自定義值
4. 詳情和資料統計面闆:針對每條http請求的具體統計(例如發送/接受位元組數,發送/接收時間,還有粗略統計世界各地通路該伺服器所花費的時間)和資料包分析。如inspector面闆下,提供headers、textview、hexview、Raw等多種方式檢視單條http請求的請求封包的資訊。
<a href="www.fiddler2.com">Fiddler 官網</a>
<a href="http://www.cnblogs.com/TankXiao/archive/2012/02/06/2337728.html">Fiddler 教程</a>
<a href="http://my.oschina.net/leejun2005/blog/151103">關于 WEB/HTTP 調試利器 Fiddler 的一些技巧分享</a>