Web通信分析工具

 

在抓蝦上看到一篇Web開發分析工具的文章(鏈接就免了),怎麼遠沒有我用的東西好用呢?還是介紹介紹我用的吧。由於平常開發只用FireFox,完成後再去調試IE,所以這些工具絕大部分是針對FireFox的。

如果把Web通信從上到下分爲許多層——XMLHttpRequest層,HTTP層,TCP層,那麼這些工具可以分別抓取每個層的通信數據進行分析,結合使用極其強大。

2008/12/31:另外可以參考daniel同學的Web開發常用工具一文,相信會大有幫助哦。

 

XMLHttpRequest層:Firebug

適用範圍 Ajax應用程序
優點 使用方便,數據截取完整
缺點 只能分析XMLHttpRequest請求,其他類型的請求無能爲力

Firebug應該是盡人皆知了。它的控制檯能監視XMLHttpRequest請求,能看到完整的請求和應答的數據。用它來調試Ajax程序是最好不過了。

firebug.png

HTTP層:Tamper Data

適用範圍 普通網頁,Ajax應用程序,Flash
優點 使用方便,適用範圍廣,任何HTTP請求都能截獲
缺點 只能截獲請求頭、請求內容、應答頭,得不到應答內容;涉及文件下載時效率大幅度降低

Tamper Data比Firebug進了一步,只要是HTTP請求,它都能抓下來,可惜的是看不到應答內容。適用於分析請求流程、請求參數、請求數據、重定向URL。對於非Ajax程序如普通網頁、Flash、ActiveX等程序,用Tamper Data來分析十分方便。

tamperdata.png

HTTP層:burpsuite

適用範圍 普通網頁,Ajax應用程序,Flash
優點 適用範圍廣,截取數據完整,不挑網卡
缺點 使用稍稍麻煩

burpsuite中的proxy功能用於分析Web通信十分好用。它的原理是架設一個代理服務器,讓瀏覽器通過代理來發送請求,代理就可以截獲數據了。

burpsuite.png

使用方法爲:

  1. 配置proxy,然後設置瀏覽器使用它的proxy
  2. 訪問想要抓取的那個網頁
  3. burp suite的proxy中就會看到請求內容,在這裏即可詳細地分析請求。
  4. 如果想繼續分析應答,可以右鍵點擊請求內容,選send to repeater
  5. 切換到repeater標籤,點【go】按鈕發送請求,在下方就可以看到應答

TCP層:wireshark

適用範圍 任何網絡程序
優點 適用範圍廣,截取數據完整
缺點 使用麻煩;不能使用loopback網卡

如果以上方法都不管用,就要祭出終極武器wireshark(原名ethereal)了。它從網絡的最底層入手,可以截獲任何類型的網絡通信,而不僅僅是HTTP協議。比如要開發一個郵件程序,需要分析服務器端腳本與POP3服務器之間的通信,那就非得wireshark出馬不可了。

wireshark.png

使用方法:

  1. 在wireshark中選擇抓取物理網卡;
  2. 讓應用程序發請求;
  3. 在wireshark中停止抓取;
  4. 從抓到的包一覽中找出剛纔應用程序發出的請求,右鍵點擊選擇 Follow TCP Stream,就能看到該請求的完整內容。

這個工具的不足之處是它不能抓取loopback的網卡,也就是說,如果你的程序連接的是位於localhost或127.0.0.1的服務器,那wireshark是抓不到的。解決方法是,讓程序通過真實物理網卡去連別的機器,或是使用虛擬機的虛擬網卡也行。

發佈了65 篇原創文章 · 獲贊 8 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章