在 Debian 上,dumpcap 本身不支持直接限速(限制抓包速率)。
dumpcap 是 tshark / wireshark 底层的抓包工具,主要功能是抓包和写文件,没有内置“每秒最多抓 X 个包 / X Mbps”的参数。
不过你可以通过以下几种方式“间接限速”或控制抓包量:
虽然不是限速,但能防止抓太多:
dumpcap -i eth0 -w out.pcap -b filesize:100000 -b files:10
filesize:100000:每个文件最多 100 MBfiles:10:最多 10 个文件(循环覆盖)dumpcap -i eth0 -w out.pcap -a duration:60
只抓 60 秒。
dumpcap -i eth0 -f "tcp port 443" -w out.pcap
只抓特定流量,自然降低速率。
tc + ifb(真正限速,但不推荐用于抓包)Linux tc 可以限速接口流量,但:
示例(仅说明,不建议):
tc qdisc add dev eth0 root tbf rate 10mbit burst 32kbit latency 400ms
tcpdump + rate?(也不行)tcpdump 同样没有速率限制参数。
例如每隔一段时间抓 1 秒:
while true; do
dumpcap -i eth0 -a duration:1 -w cap_$(date +%s).pcap
sleep 9
done
相当于 10% 采样。
✅ dumpcap 不能限速
✅ 可用:
如果你能说下使用场景(比如:生产环境怕影响性能?还是只想少存点数据?),我可以给你更合适的方案。