Dumpcap 是 Wireshark 套件中的命令行抓包工具,专门用于高性能数据包捕获。以下是优化 dumpcap 抓包性能的多种方法:
增加缓冲区大小:减少丢包风险
dumpcap -B <size_in_MB>
例如:dumpcap -B 256
设置256MB缓冲区
调整内核缓冲区(Linux):
ethtool -G <interface> rx <value> tx <value>
dumpcap -b filesize:100000 -b files:10 -w output.pcapng
每100MB一个文件,最多保留10个文件dumpcap -f "not port 22 and not arp"
dumpcap -s 96 # 只捕获前96字节
sudo nice -n -20 dumpcap [options]
dumpcap --mmap
dumpcap --ringbuffer
ethtool -L <interface> combined <queue_count>
ethtool -K <interface> gro off gso off tso off
dumpcap --statistics
dumpcap -S -q -w /dev/null
sudo dumpcap \
-i eth0 \
-B 512 \
-b filesize:200000 \
-b files:5 \
-f "not port 22 and not port 53" \
-s 128 \
--mmap \
-w capture.pcapng
此命令组合了多个优化技术:大缓冲区、多文件输出、流量过滤、截断捕获和使用内存映射。
根据您的具体网络环境和需求,可能需要调整这些参数以获得最佳性能。