1. 安装Dumpcap
在Ubuntu虚拟机中,Dumpcap通常作为Wireshark的依赖项被安装。打开终端,运行以下命令更新软件包列表并安装Wireshark(包含Dumpcap):
sudo apt update && sudo apt install wireshark -y
安装过程中会提示“是否允许非root用户捕获数据包”,选择“是”以便后续配置权限。
2. 配置用户权限(避免频繁使用sudo)
普通用户默认无法直接运行Dumpcap,需完成以下步骤赋予权限:
sudo usermod -aG wireshark $USERsudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap3. 验证安装与查看可用接口
dumpcap --versiondumpcap -DInterface 1: eth0 (Virtual Ethernet Adapter)、Interface 2: any (All interfaces)。4. 基本捕获命令(核心操作)
-i指定接口(如eth0),-w指定保存的.pcap文件路径:sudo dumpcap -i eth0 -w ~/capture.pcap-c设置捕获的数据包数量(如100个),避免文件过大:sudo dumpcap -i eth0 -c 100 -w ~/limited.pcap-l选项将捕获的数据包实时输出到终端(适合快速查看流量):sudo dumpcap -i eth0 -l-w指定绝对路径(如/tmp/capture.pcap),方便文件管理:sudo dumpcap -i eth0 -w /tmp/capture.pcap。5. 使用过滤器的技巧(精准捕获)
Dumpcap支持BPF(Berkeley Packet Filter)语法,可在捕获时过滤流量,减少不必要的数据量:
sudo dumpcap -i eth0 -w http.pcap 'tcp port 80'192.168.1.100的通信:sudo dumpcap -i eth0 -w ip.pcap 'host 192.168.1.100'sudo dumpcap -i eth0 -w tcp_only.pcap 'tcp'192.168.1.100的TCP 443端口流量:sudo dumpcap -i eth0 -w https.pcap 'host 192.168.1.100 and tcp port 443'。6. 高级用法(优化捕获效率)
-G设置时间间隔(如60秒),-W设置保留文件数量(如10个),自动生成带时间戳的文件(如capture-2025-11-03-14-30-00.pcap):sudo dumpcap -i any -w ~/capture-%Y-%m-%d-%H-%M-%S.pcap -G 60 -W 10-C设置单个文件的最大大小(如10MB),-W设置保留文件数量(如5个),避免单个文件过大:sudo dumpcap -i eth0 -w ~/capture.pcap -C 10 -W 5-B调整内核缓冲区大小(如1GB),提升捕获效率(适用于高流量场景):sudo dumpcap -i eth0 -w ~/capture.pcap -B 1073741824。7. 注意事项(避免常见问题)