Wireshark學習筆記——如何快速抓取HTTP數據包

0.前言
    在火狐瀏覽器和谷歌瀏覽器中可以非常方便的調試network(抓取HTTP數據包),但是在360系列瀏覽器(兼容模式或IE標準模式)中抓取HTTP數據包就不那麼那麼方便了。雖然也可使用HttpAnalyzer等工,但是畢竟都是收費軟件。只需通過合適的過濾和操作,Wireshark也可抓取HTTP請求和響應。下面便說明具體操作。
    假設在8080端口運行一個HTTP服務器,本例中使用Python Flask運行一個HTTP服務並偵聽8080端口,實現一個簡單的加法運算,網頁中通過ajax提交兩個數據,例如a=2&b=3,Flask處理之後返回一個json數據包,格式如{"result":5}。

1.設置過濾條件
【1】http and ip.addr == 192.168.1.106 and tcp.port == 8080
【a】http:指定網絡協議
【b】ip.addr == 192.168.1.106:指定服務器ip地址,請根據實際情況替換。
【c】tcp.port == 8080,指定端口號,請根據實際情況替換。

圖1 過濾條件
【2】點擊apply
    點擊apply之後可過濾得到兩個數據包,分別是HTTP請求和HTTP響應。

圖2 HTTP請求和響應

2.查看TCP數據流——Follow TCP Stream
【1】在任意數據包上右擊,選擇Follow TCP Stream
    該步驟可以過濾出和該HTTP數據包有關的TCP數據包,包括TCP 3次握手,TCP分片和組裝等。

圖3 選擇Follow TCP Stream
【2】最終得到HTTP請求和響應
【a】紅色背景字體爲HTTP請求,藍色背景字體爲HTTP響應
【b】從User-Agent中可以看出,360瀏覽器兼容模式使用了IE8內核(該臺計算機操作系統爲XP,IE瀏覽器版本爲8),這說明360瀏覽器使用了系統中的IE核。

圖4 HTTP請求和響應具體內容


3.總結
    相對於火狐或谷歌瀏覽器中使用調試工具抓取HTTP數據包,使用wireshark要顯得複雜些,但是也可以達到最終效果。這些操作分爲兩步,第一步設置合理的過濾條件,第二步在任意數據包中選擇Follow TCP Stream。
發佈了74 篇原創文章 · 獲贊 17 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章