1. 程式人生 > >為什麼大家都在用Fiddler?

為什麼大家都在用Fiddler?

在我們做介面測試的時候,經常需要驗證傳送的訊息是否正確,或者在出現問題的時候,檢視手機客戶端傳送給server端的包內容是否正確,就需要用到抓包工具。常用的抓包工具有fiddler、wireshark、httpwatch、 firebug等。

今天我們主要就來介紹一下fiddler、httpwatch和wireshark。


Fiddler是以代理web伺服器的形式工作的,它使用代理地址:127.0.0.1,埠:8888。

圖片描述

當啟動fiddler,程式將會把自己作為一個代理,所以的http請求在達到目標伺服器之前都會經過fiddler,同樣的,所有的http響應都會在返回客戶端之前流經fiddler。

Tips:預設情況下,fiddler是不會捕獲https會話的。

  • Fiddler中設定斷點修改Request

Fiddler最強大的功能莫過於設定斷點,設定好斷點後,你可以修復httpRequest的任何訊息包括host,cookie或者表單中的資料。設定斷點有兩種方法。

第一種:開啟fiddler點選Rules->Automatic Breakpoint->Before Requests(這種方法會中斷所有的會話)

消除辦法:點選Rules->Automatic Breakpoint->Disabled

第二種:在命令列中輸入命令:bpu http://www.taobao.com

(這種方法只會中斷http://www.baidu.com)

消除辦法:在命令列中輸入bpu

  • 設定斷點修改Response

當然fiddler中也能修改Response

第一種:開啟Fiddler點選Rules->Automatic Breakpoint->After Respinse(這種方法會中斷所有的會話)

消除辦法:點選Rules->Automatic Breakpoint ->Disabled

第二種:在命令列中輸入命令:bpafter http://www.taobao.com(這種方法會中斷http://www.taobao.com)

消除辦法:命令列中輸入命令bpafter

修改Response方法:

選擇Rules-> Automatic Breakpoint->After Respinse,手機點選操作,傳送query。

選中左區的query,點選右邊的Raw,修改Raw裡面的返回結果,執行“Run to Completion”


Wireshark是另外一種抓包工具,Wireshark配置起來比fiddler麻煩一些,如果不配代理,需要安裝個Connectify來建立熱點,然後再安裝wireshark進行抓包,如果配置了代理,直接安裝wireshark即可。

圖片描述

Wireshark(前稱Ethereal)是一個網路封包分析軟體。網路封包分析軟體的功能是擷取網路封包,並儘可能顯示出最為詳細的網路封包資料。Wireshark使用WinPCAP作為介面,直接與網絡卡進行資料報文交換。

  • 網路管理員會使用wireshark來檢查網路問題
  • 軟體測試工程師使用wireshark抓包,來分析自己測試的軟體
  • 從事socket程式設計的工程師會用wireshark來除錯
  • 聽說,華為,中興的大部分工程師都會用到wireshark
  • 普通使用者使用Wireshark來學習網路協定的相關知識

WireShark 主要分為這幾個介面

  1. Display Filter(顯示過濾器), 用於過濾

  2. Packet List Pane(封包列表), 顯示捕獲到的封包, 有源地址和目標地址,埠號。 顏色不同,代表

  3. Packet Details Pane(封包詳細資訊), 顯示封包中的欄位

  4. Dissector Pane(16進位制資料)

  5. Miscellanous(位址列,雜項)

使用過濾是非常重要的, 初學者使用wireshark時,將會得到大量的冗餘資訊,在幾千甚至幾萬條記錄中,以至於很難找到自己需要的部分。搞得暈頭轉向。

過濾器會幫助我們在大量的資料中迅速找到我們需要的資訊。

過濾器有兩種,

一種是顯示過濾器,就是主介面上那個,用來在捕獲的記錄中找到所需要的記錄

一種是捕獲過濾器,用來過濾捕獲的封包,以免捕獲太多的記錄。 在Capture -> Capture Filters 中設定


HttpWatch是強大的網頁資料分析工具,整合在Internet Explorer工具欄。它不用代理伺服器或一些複雜的網路監控工具,就能夠在顯示網頁同時顯示網頁請求和迴應的日誌資訊。甚至可以顯示瀏覽器快取和IE之間的交換資訊。整合在Internet Explorer工具欄。
圖片描述

只需要選擇相應的網站,軟體就可以對網站與IE之間的需求回覆的通訊情況進行分析並在同一介面顯示其相應日誌記錄。每一個HTTP記錄都可以詳細的分析其 Cookies、訊息頭、字元查詢等資訊。支援HTTPS及分析報告輸出為XML、CSV等格式。

使用方法:開啟IE瀏覽器,選擇選單”檢視-瀏覽器欄”,再選擇”HttpWatch Professional”即可。

日誌中有少量內容還是英文,漢化後會出錯,故保留。提示:授權檔案已經在根目錄下的”httpwatch.lic”

為什麼我喜歡用fiddler

抓包工具有很多,小到最常用的web除錯工具firebug,達到通用的強大的抓包工具wireshark.為什麼使用fiddler?原因如下:

  1. Firebug雖然可以抓包,但是對於分析http請求的詳細資訊,不夠強大。模擬http請求的功能也不夠,且firebug常常是需要“無重新整理修改”,如果重新整理了頁面,所有的修改都不會儲存。
  2. Wireshark是通用的抓包工具,但是比較龐大,對於只需要抓取http請求的應用來說,似乎有些大材小用。
  3. Httpwatch也是比較常用的http抓包工具,但是隻支援IE和firefox瀏覽器(其他瀏覽器可能會有相應的外掛),對於想要除錯chrome瀏覽器的http請求,似乎稍顯無力,
  4. 而Fiddler2是一個使用本地 127.0.0.1:8888 的 HTTP 代理,任何能夠設定 HTTP 代理為 127.0.0.1:8888的瀏覽器和應用程式都可以使用 Fiddler。