Dumpcap是Wireshark套件的核心命令行工具,专门用于高效捕获网络数据包。在Ubuntu上,需通过以下命令安装:
sudo apt update && sudo apt install wireshark
安装完成后,可通过dumpcap --version验证是否成功安装。
使用以下命令查看系统可用网络接口(如eth0、wlan0或lo):
ip link show
# 或
ifconfig -a
选择需要监控的接口(如eth0用于有线连接)。
若需捕获经过接口的所有流量(而非仅目标为本机的数据包),需开启混杂模式:
sudo ip link set eth0 promisc on
捕获完成后,可通过sudo ip link set eth0 promisc off关闭。
使用-i指定接口,-w指定保存的.pcap文件(便于后续分析):
sudo dumpcap -i eth0 -w security_audit.pcap
按Ctrl+C停止捕获。
-c指定捕获的数据包数量(如100个),避免文件过大:sudo dumpcap -i eth0 -c 100 -w limited_capture.pcap
-b设置文件轮转(如每5个文件,每个100MB):sudo dumpcap -i any -b files:5 -b filesize:100000 -w rotating_capture.pcap
适用于长期监控大流量场景。在捕获时直接过滤,减少不必要的数据量:
sudo dumpcap -i eth0 -f "tcp port 22" -w ssh_traffic.pcap
sudo dumpcap -i eth0 -f "tcp port 80 or tcp port 443" -w web_traffic.pcap
192.168.1.100)的进出流量:sudo dumpcap -i eth0 -f "host 192.168.1.100" -w target_ip.pcap
sudo dumpcap -i eth0 -f "icmp" -w icmp_traffic.pcap
捕获后用Wireshark打开.pcap文件,通过显示过滤器进一步筛选:
http.requesttcp.flags.syn == 1 and tcp.flags.ack == 0(SYN扫描,常见于端口探测)tcp.analysis.retransmission(网络不稳定或攻击迹象)。使用-G设置时间轮转(如每小时生成一个新文件),配合-b限制文件大小,实现长期监控:
sudo dumpcap -i any -b files:24 -b filesize:50000 -G 3600 -w hourly_capture.pcap
此命令每小时生成一个不超过50MB的文件,共保留24个(覆盖前一天的数据)。
若需监控远程主机的流量,可通过SSH运行Dumpcap并将文件复制到本地:
ssh user@remote_host "sudo dumpcap -i eth0 -w /tmp/remote_capture.pcap"
scp user@remote_host:/tmp/remote_capture.pcap ./local_analysis/
避免直接在远程主机上打开Wireshark(减少安全风险)。
使用tshark(Wireshark命令行工具)分析.pcap文件,提取关键信息(如可疑IP、高频连接):
tshark -r security_audit.pcap -Y "ip.addr == 192.168.1.100 and tcp.flags.syn == 1" -T fields -e ip.src -e ip.dst -e tcp.port > suspicious_connections.txt
此命令提取所有与192.168.1.100建立的SYN连接,输出到Suspicious_connections.txt。
Dumpcap需root权限才能捕获数据包,务必使用sudo运行,避免普通用户误操作。
高流量环境下,长时间捕获可能占用大量磁盘空间或导致系统卡顿。建议:
网络安全审计需遵守当地法律法规(如《网络安全法》),未经授权不得捕获他人网络流量。确保审计范围限于自有网络或已授权的设备。