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参数);