性能概览 在 Linux 上,dumpcap 作为 Wireshark 的命令行抓包引擎,特点是高效、低开销、可长时间后台运行,适合高流量与7×24 小时监控场景。它支持多协议捕获与丰富的过滤能力,能在尽量不影响系统稳定性的前提下处理大量数据包。通过合适的参数与系统调优,可进一步降低丢包率并提升稳定性。
影响性能的关键因素
实用优化建议
ethtool -G eth0 rx 4096(按网卡与内存适度调整)。echo 4096 > /proc/sys/net/core/netdev_max_backlog。dumpcap -i eth0 -B 2048 -w capture.pcap(单位 KB;过大可能占用较多内存)。dumpcap -i eth0 -f "tcp port 80" -w http.pcap。dumpcap -i eth0 -s 1514 -w capture.pcap(减少不必要负载)。dumpcap -i eth0 -w "cap_%Y%m%d_%H%M%S.pcap" -b duration:60。dumpcap -i eth0 -w - | gzip > capture.pcap.gz。sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap。top、iostat、iftop 等观察 CPU、磁盘、网络负载,逐步微调参数。快速自检与常见瓶颈
dumpcap -i eth0 -w test.pcap -a duration:10 后用 capinfos test.pcap 查看 Dropped、Packets 等指标;若 Dropped 明显增长,优先增大 -B、网卡 ring buffer 与 netdev_max_backlog,并优化过滤与存储路径。iostat -x 1 观察写延迟与队列;若 await/svctm 偏高,考虑更快的磁盘、调整文件系统挂载选项或降低并发写入。sudo 与不必要的进程切换。以上做法可在不改变业务逻辑的前提下,显著提升 dumpcap 在高带宽、长时运行与复杂过滤条件下的吞吐与稳定性。