Ubuntu Dumpcap 捕获性能优化指南
一 基础参数优化
dumpcap -i eth0 -f "tcp port 80" -w http.pcap。-B 1024M(单位 KiB,数值需结合内存与实例数评估)。dumpcap -i eth0 -q 1 -w out.pcap。dumpcap -i eth0 -P -w out.pcap。dumpcap -i eth0 -c 10000 -w out.pcap。dumpcap -i eth0,eth1 -w multi.pcap。sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap。二 系统与内核调优
ethtool -G eth0 rx 4096 tx 4096 增大队列,缓解高速链路下的溢出丢包(以实际网卡上限为准)。net.core.netdev_budget 与 net.core.netdev_max_backlog,并优化 RPS/RFS(多队列网卡更关键),以降低软中断瓶颈与队列溢出。noop/deadline 调度器;挂载时使用 noatime,nodiratime 减少元数据开销;大文件顺序写性能更关键。三 高吞吐场景的实战配置示例
dumpcap -i eth0 -s 0 -B 1024M -f "not port 22" -w /data/cap_$(date +%F_%H-%M-%S).pcapdumpcap -i eth0 -i eth1 -s 0 -B 512M -w /data/multi_$(date +%s).pcapnohup dumpcap -i eth0 -f "tcp port 80 or tcp port 443" -s 96 -B 512M -q 1 -w /data/web_$(date +%F).pcap &dumpcap -i eth0 -s 0 -B 512M -w - | gzip > /data/cap_$(date +%F_%H-%M-%S).pcap.gz四 监控与验证
cat /proc/net/dev 查看接口 RX/TX dropped;ethtool -S eth0 | grep -i drop 关注 rx_fifo_errors/rx_over_errors;sar -n DEV 1 观察实时速率与丢包。cat /proc/softirqs | egrep 'NET_RX|NET_TX';ss -lntu 与 ip -s link 辅助定位瓶颈。capinfos 检查 Capture duration、Packet count、Dropped 等关键指标,确认是否达到预期吞吐与无损目标。