Dumpcap是Wireshark套件中的命令行抓包工具,需通过apt包管理器安装。推荐同时安装Wireshark(包含Dumpcap及依赖):
sudo apt update && sudo apt install wireshark dumpcap -y 安装过程中会提示是否允许Wireshark捕获数据包(选“是”),并自动配置基础权限。
默认情况下,Dumpcap需要root权限才能访问网络接口。为避免每次使用sudo,可将用户加入wireshark组:
sudo usermod -aG wireshark $USER # 将当前用户添加到wireshark组 newgrp wireshark # 立即生效组权限(无需注销) 验证权限:运行dumpcap -D(查看接口列表),若无权限报错则表示配置成功。
使用-i参数指定接口(如eth0、wlan0或any<所有接口>),-w保存到.pcap文件:
sudo dumpcap -i eth0 -w capture.pcap 按Ctrl+C停止捕获。
-c参数sudo dumpcap -i eth0 -c 100 -w limited.pcap -a duration:参数sudo dumpcap -i eth0 -a duration:60 -w timed.pcap -b参数sudo dumpcap -i eth0 -b files:5 -b filesize:100000 -w buffer.pcap # 保留5个100MB文件 通过-f参数在抓包时过滤,减少不必要的数据(语法与tcpdump一致):
sudo dumpcap -i eth0 -f "tcp port 80" -w http.pcap sudo dumpcap -i eth0 -f "ip addr == 192.168.1.100" -w ip.pcap 注意:过滤器需用单引号包裹,避免shell解析错误。若需实时查看过滤后的流量,可将数据包保存到文件后用Wireshark或tshark分析:
wireshark capture.pcap # 图形化分析 tshark -r capture.pcap -Y "tcp.port == 80" # 命令行过滤HTTP流量 默认捕获数据包的前68字节(足够分析头部),若需完整数据包,用-s 0:
sudo dumpcap -i eth0 -s 0 -w full.pcap 用&将进程放到后台,适合长期监控:
sudo dumpcap -i any -w /tmp/trace.pcap -b duration:3600 -q & -q:安静模式(减少输出);/tmp/trace.pcap:保存路径(确保有写入权限)。捕获的.pcap文件可用以下工具分析:
wireshark capture.pcap,支持过滤、统计等功能。tshark -r capture.pcap -Y "http.request" | wc -l wireshark组,必须使用sudo运行Dumpcap。-b参数),避免磁盘占满。