Ubuntu下使用Dumpcap捕獲數據包并保存的方法
Dumpcap是Wireshark的命令行工具,需通過安裝Wireshark獲取。在Ubuntu中,運行以下命令更新軟件包列表并安裝:
sudo apt update
sudo apt install wireshark
安裝完成后,dumpcap
命令將自動可用。
使用dumpcap
捕獲數據包并保存的核心命令結構為:
sudo dumpcap -i <接口名稱> -w <輸出文件路徑>
-i
參數:指定要捕獲的網絡接口(如eth0
、wlan0
),可通過dumpcap -D
查看系統可用接口;-w
參數:指定保存的文件路徑及名稱(如capture.pcap
),默認保存為PCAP格式(Wireshark通用格式)。eth0
接口的所有流量并保存到當前目錄的output.pcap
文件:sudo dumpcap -i eth0 -w output.pcap
運行后,終端會顯示捕獲進度(如數據包數量、大?。?,按Ctrl+C
可停止捕獲。
根據需求調整捕獲行為,提升效率:
-f
參數設置**BPF(Berkeley Packet Filter)**語法,僅捕獲符合條件的流量。例如,只捕獲目標端口為80的TCP流量:sudo dumpcap -i eth0 -w filtered.pcap -f "tcp port 80"
-c
參數設置捕獲的數據包上限,避免文件過大。例如,只捕獲前100個數據包:sudo dumpcap -i eth0 -w limited.pcap -c 100
-s
參數定義每個數據包的最大捕獲字節數(默認68字節,-s 0
表示捕獲完整數據包)。例如,捕獲每個數據包的全部內容:sudo dumpcap -i eth0 -w full.pcap -s 0
-l
參數將捕獲的數據包實時輸出到終端(便于快速查看),同時仍保存到文件:sudo dumpcap -i eth0 -w realtime.pcap -l
-i
參數同時捕獲多個接口的流量,保存到同一文件:sudo dumpcap -i eth0 -i wlan0 -w multi_interface.pcap
Dumpcap默認保存為PCAP格式,若需轉換為CSV、JSON、XML等格式,需結合TShark
(Wireshark的命令行分析工具)實現:
sudo apt install wireshark
tshark -r output.pcap -T fields -e frame.number -e ip.src -e ip.dst -e tcp.port > output.csv
tshark -r output.pcap -T json > output.json
tshark -r output.pcap -T pdml > output.xml
注:轉換格式需先通過dumpcap
捕獲并保存為PCAP文件,再用TShark
提取所需字段。
sudo
運行dumpcap
命令;-c
參數);