在 Debian 上提升 dumpcap(Wireshark 抓包后端)的抓包/写入速度,通常从抓包方式、磁盘 I/O、内核/网卡参数、过滤规则几个方向入手。下面按实用性从高到低说明。
dumpcap -i eth0 -B 64 -w capture.pcap
-B:内核抓包缓冲(MB),默认通常很小-B 64 ~ 256-B 512 甚至更大(取决于内存)dumpcap -i eth0 -w capture.pcap -b filesize:100000
--compress-type none(见下)dumpcap --compress-type none
dumpcap 默认会用:
af_packet(推荐)pcap确认:
dumpcap -D
如支持,优先选择 af_packet 接口。
ethtool -l eth0
ethtool -L eth0 combined 8
示例:
dumpcap -i eth0 -w /nvme/capture.pcap
mkdir /dev/shm/cap
dumpcap -i eth0 -w /dev/shm/cap/c.pcap
可临时:
mount -o remount,data=writeback /data
(生产环境谨慎)
dumpcap -i eth0 -f "tcp port 443" -w cap.pcap
dumpcap -n
ethtool -G eth0 rx 4096 tx 4096
sysctl -w net.core.netdev_max_backlog=2000
ethtool -K eth0 gro off
ethtool -K eth0 lro off
确保 dumpcap 有正确权限:
sudo dpkg-reconfigure wireshark-common
或:
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
避免 sudo 带来的额外开销。
DPDK + dumpcap(需编译支持)tcpreplay / moloch / Arkimedumpcap \
-i eth0 \
-B 256 \
-n \
-f "not arp" \
-w /nvme/cap.pcap \
--compress-type none
如果你能告诉我:
我可以给你一套针对性的 dumpcap 参数。