使用tcpdump+wireshark抓包分析網絡數據包

最近和學弟在調試一個GPRS通信模塊,需求是通過GPRS模塊通過http協議發(fā)送數據到服務器,但是http協議一直失敗,服務器返回400,通過查詢http狀態(tài)碼得知,http400錯誤是請求無效,因為GPRS模塊沒有實現http協議的封裝,需要在TCP協議的基礎上,手動拼裝http格式的報文.所以初步猜測是http協議格式錯誤導致的.

這時候,最簡單有效的調錯方式就是通過抓包分析,查看數據格式,然后修改.但是在GPRS模塊上沒法安裝抓包工具,只能在服務器上抓包,服務器是centos的,雖然有tcpdump工具,但是沒有界面,沒法具體分析數據包.
tcpdump

直接使用tcpdump抓到的數據包,根本沒法分析好不.

在windows上,有wireshark這個工具,可以很方便的分析網絡數據包,這個軟件有多牛鼻就不用多說了,所有經過網卡數據都能抓到,配合圖形界面,可以很方便的查看分析數據.不知能查看應用層協議的數據,網絡中的五層協議都能查看.


wireshark

wireshark

有沒有辦法把tcpdump和wireshark這兩個軟件結合起來使用呢???
辦法當然是有的,把tcpdump抓取的數據轉存文件,然后用wireshark打開文件,分析數據.

1.開啟tcpdump抓包,并將結果轉存為文件
tcpdump tcp -s 0 port 80 -w ./http.cap
說一下這幾個參數
tcp是指定抓取那種協議的數據,因為我們要抓取http協議,但是tcp不能指定http協議,但是http協議是基于TCP協議的,所以抓取TCP協議數據.
-s 0 tcpdump 抓取數據包時默認抓取長度為68字節(jié)。加上-S 0 后可以抓到完整的數據包
port 80 我的服務器監(jiān)聽的80端口,所以只抓取80端口的數據.
-w ./http.cap 指定tcpdump轉存數據時的文件 ./http.cap是當前目錄下的http.cap文件

  1. 發(fā)起請求
    在終端中使用 ctrl+c組合鍵結束抓包,然后會在當前目錄下生成一個http.cap文件
    http.cap

3.把文件下載下來,使用tcpdump分析數據
在wireshark中,通過文件>打開 找到從服務器下載的http.cap文件,并打開


到這已經成功打開了,剩下的就是分析數據包了
wireshark

在協議http的那一行右鍵,選擇追蹤流,然后選擇http
http

到這,整個抓包就完成了,是不是很簡單呢

經過抓包分析,終于解決了http400的問題

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 簡介 用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據使用者...
    JasonShi6306421閱讀 1,351評論 0 1
  • 簡介 用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據使用者...
    保川閱讀 6,081評論 1 13
  • 聊聊 tcpdump 與 Wireshark 抓包分析 1 起因 前段時間,一直在調線上的一個問題:線上應用接受P...
    meng_philip123閱讀 21,826評論 4 36
  • 前言 tcpdump 是一個很常用的網絡包分析工具,可以用來顯示通過網絡傳輸到本系統(tǒng)的 TCP/IP 以及其他網絡...
    王奧OX閱讀 39,913評論 0 12
  • 回憶像個說書的人 ——《小小》 昨天就從學校回到家中,離家四五個月甚是想念,盡管一個人在家,卻在左鄰右舍的幫助...
    iotboy閱讀 1,182評論 1 2

友情鏈接更多精彩內容