Ubuntu Dumpcap与Wireshark配合使用指南
在Ubuntu系统中,Dumpcap是Wireshark套件的一部分,安装Wireshark时会自动包含Dumpcap。
sudo apt update
sudo apt install wireshark
wireshark组(无需每次用sudo):sudo usermod -aG wireshark $USER
sudo reboot # 重启生效
sudo运行Dumpcap(每次需输入密码):sudo dumpcap -i eth0 -w output.pcap
Dumpcap作为命令行工具,可通过多种参数定制捕获任务,核心命令格式如下:
sudo dumpcap -i <interface> -w <output_file> [options]
常用参数说明:
-i <interface>:指定捕获接口(如eth0、wlan0或any监听所有接口);-w <output_file>:保存捕获数据的文件名(支持.pcap/.pcapng格式);-f "<capture_filter>":捕获过滤器(语法类似BPF,如tcp port 80仅捕获80端口的TCP流量);-c <count>:限制捕获的数据包数量(如-c 100捕获100个包后停止);-C <size>:设置单个捕获文件的大小(如-C 100生成100MB的文件,满后自动轮转);-G <seconds>:设置文件轮转的时间间隔(如-G 3600每小时生成一个新文件)。示例命令:
eth0接口的所有流量,保存到full_capture.pcap:sudo dumpcap -i eth0 -w full_capture.pcap
wlan0接口的HTTP流量(TCP端口80),保存到http_traffic.pcap:sudo dumpcap -i wlan0 -f "tcp port 80" -w http_traffic.pcap
any接口的1000个数据包,保存到sample.pcap:sudo dumpcap -i any -c 1000 -w sample.pcap
捕获完成后,可通过Wireshark的图形化界面分析数据包:
wireshark命令);.pcap/.pcapng文件(如full_capture.pcap),选择后点击Open。http筛选HTTP流量、ip.addr == 192.168.1.100筛选特定IP的流量),快速定位目标数据包;若需实时查看流量,可通过管道将Dumpcap的输出直接传递给Wireshark:
sudo dumpcap -i eth0 -w - | wireshark -k -i -
dumpcap -i eth0 -w -:捕获eth0接口的流量,输出到标准输出(-表示标准输出);wireshark -k -i -:Wireshark从标准输入(-i -)读取数据,-k表示立即开始捕获。Dumpcap的捕获过滤器(-f参数)可在数据包到达时直接过滤,减少捕获文件大小和系统负载。常见过滤器示例:
tcp;192.168.1.100的流量:src host 192.168.1.100;80端口(HTTP)或443端口(HTTPS)的流量:tcp port 80 or tcp port 443;not broadcast and not multicast。eth0接口的192.168.1.0/24网段的SSH流量):sudo dumpcap -i eth0 -f "src net 192.168.1.0/24 and tcp port 22" -w ssh_traffic.pcap
通过以上步骤,可实现Dumpcap与Wireshark的高效配合:Dumpcap负责命令行捕获(适合自动化、长时间任务),Wireshark负责图形化分析(适合深入调查),满足不同场景下的网络流量监控需求。