1. 程式人生 > >Wireshark學習筆記——如何快速抓取HTTP資料包

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。