使用tcpdump+wireshark抓包分析網路資料包
最近和學弟在除錯一個GPRS通訊模組,需求是通過GPRS模組通過http協議傳送資料到伺服器,但是http協議一直失敗,伺服器返回400,通過查詢http狀態碼得知,http400錯誤是請求無效,因為GPRS模組沒有實現http協議的封裝,需要在TCP協議的基礎上,手動拼裝http格式的報文.所以初步猜測是http協議格式錯誤導致的.
這時候,最簡單有效的調錯方式就是通過抓包分析,檢視資料格式,然後修改.但是在GPRS模組上沒法安裝抓包工具,只能在伺服器上抓包,伺服器是centos的,雖然有tcpdump工具,但是沒有介面,沒法具體分析資料包.
直接使用tcpdump抓到的資料包,根本沒法分析好不.
在windows上,有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位元組。加上-S 0 後可以抓到完整的資料包 port 80
我的伺服器監聽的80埠,所以只抓取80埠的資料.-w ./http.cap
指定tcpdump轉存資料時的檔案 ./http.cap
是當前目錄下的http.cap檔案
- 發起請求
在終端中使用 ctrl+c組合鍵結束抓包,然後會在當前目錄下生成一個http.cap檔案
3.把檔案下載下來,使用tcpdump分析資料
在wireshark中,通過檔案>開啟 找到從伺服器下載的http.cap檔案,並開啟
到這已經成功開啟了,剩下的就是分析資料包了
在協議http的那一行右鍵,選擇追蹤流,然後選擇http
到這,整個抓包就完成了,是不是很簡單呢
經過抓包分析,終於解決了http400的問題
相關文章
- Wireshark資料抓包分析(網路協議篇)第1章網路協議抓包概述協議
- Debookee 8.1.2 網路資料抓包及分析工具
- Wireshark網路抓包
- 抓包概念大比較:資料包、資料包、分組
- 網路流量抓包庫 gopacketGo
- BLE抓包分析
- wireshark抓包分析
- 推薦一款網路資料抓包分析工具:Debookee 7 Mac版Mac
- Android利用Fiddler進行網路資料抓包Android
- 使用WireShark抓包分析TCP協議TCP協議
- 網路資料包分析工具tcpdump之一TCP
- 使用Fiddler對iPhone蘋果手機進行資料抓包分析iPhone蘋果
- 網路丟包分析
- IPSEC隧道抓包分析
- tcpdump抓包分析詳解TCP
- Linux伺服器端網路抓包和分析實戰Linux伺服器
- Wireshark資料抓包教程之認識捕獲分析資料包
- wireshark安裝使用與tcpdump的抓包分析TCP
- 資料包遠端傳輸的抓包系統scratch
- 資料包分析
- 通過抓包分析 HTTPSHTTP
- UDP協議抓包分析 -- wiresharkUDP協議
- Wireshark和TcpDump抓包分析心得TCP
- wireshark抓包新手使用教程
- 手機資料抓包入門教程
- 手機資料抓包以及wireshark技巧
- 幾種常見網路抓包方式介紹
- HTTP抓包HTTP
- tcpdump抓包TCP
- IP和TCP抓包分析實驗TCP
- tcpdump抓包分析NAT ping不通TCP
- 如何使用Fiddler抓包操作?
- wireshark使用-----拆分抓包檔案
- 前端攻城獅必會資料抓包前端
- Flutter 跨端網路抓包 (以Android 為例)Flutter跨端Android
- 計算機網路實驗二——利用wireshark抓包計算機網路
- tshark 抓包 mysql 協議包MySql協議
- Burp Suite抓包、截包和改包UI