Ubuntu中使用Dumpcap捕获并保存数据的步骤
Dumpcap是Wireshark套件的一部分,需通过安装Wireshark获取。在Ubuntu终端中运行以下命令:
sudo apt update sudo apt install wireshark
安装完成后,dumpcap
命令将自动可用。
捕获数据前需明确要监听的网络接口(如以太网eth0
、无线网卡wlan0
)。使用以下命令查看所有可用接口:
ip link show # 或(旧版本Ubuntu) ifconfig -a
输出中以UP
标识的接口即为可用接口(如eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
中的eth0
)。
核心命令格式为:
sudo dumpcap -i <interface> -w <output_file>
<interface>
:替换为目标接口名称(如eth0
);<output_file>
:替换为保存路径及文件名(如capture.pcap
,默认保存至当前目录)。示例:捕获eth0
接口的所有数据包并保存到~/captures/traffic.pcap
:
sudo dumpcap -i eth0 -w ~/captures/traffic.pcap
注意:-w
选项是保存数据的关键,若省略则数据仅保存在内存中(Ctrl+C停止后不保留)。
-c
指定捕获的数据包数量(如捕获100个包后自动停止):sudo dumpcap -i eth0 -c 100 -w capture.pcap
-s
限制每个数据包的最大捕获字节数(如仅捕获前65535字节,减少文件大小):sudo dumpcap -i eth0 -s 65535 -w capture.pcap
-f
在捕获时过滤数据(如仅捕获TCP流量、特定IP或端口的流量):sudo dumpcap -i eth0 -f "tcp" -w tcp_capture.pcap # 仅TCP sudo dumpcap -i eth0 -f "host 192.168.1.100" -w ip_capture.pcap # 特定IP sudo dumpcap -i eth0 -f "tcp port 80" -w http_capture.pcap # HTTP流量
-B
将输出缓冲到磁盘(适合长时间捕获,避免内存溢出):sudo dumpcap -i eth0 -w capture.pcap -B
运行dumpcap
后,按Ctrl+C组合键即可停止捕获。停止后,数据将自动保存至指定的-w
文件中。
使用tcpdump
或Wireshark
查看保存的.pcap
文件,确认数据是否正确捕获:
# 使用tcpdump快速查看(终端显示) tcpdump -r capture.pcap -c 5 # 显示前5个包 # 使用Wireshark图形界面查看(推荐) wireshark capture.pcap
若文件能正常打开并显示数据包内容,则说明保存成功。
dumpcap
需要root权限访问网络接口,务必使用sudo
运行;