在 Debian 系统上,dumpcap 是 Wireshark 套件中负责抓包的核心工具。它通常有一些权限、资源、性能和使用上的限制,下面按常见类别说明。
dumpcap 直接操作网络接口,默认只有 root 能抓包:
sudo dumpcap -i eth0
Debian 通常创建一个 wireshark 组:
sudo usermod -aG wireshark $USER
然后 dumpcap 会被设置为:
2750(setgid)限制:
net.ipv4.ip_forward抓包本身不受转发影响,但:
UP 状态dumpcap 使用内核 AF_PACKET:
-B 调整(MB)dumpcap -i eth0 -B 256
高吞吐抓包时可能遇到:
ulimit -n
建议提升:
ulimit -n 65535
dumpcap 抓包线程较少,在:
容易出现:
可用:
dumpcap -i eth0 -f "not port 22"
减少数据量。
抓包文件写入慢会丢包。
建议:
-b 轮转文件dumpcap -i eth0 -b filesize:100000 -b files:10
普通用户:
/var/lib/dumpcap 只负责:
不支持:
分析需用:
tshark -r file.pcap
wireshark file.pcap
sudo apt install wireshark-common
安装时会问:
Should non-superusers be able to capture packets?
选 Yes 才会配置 wireshark 组。
Debian 默认:
| 现象 | 原因 |
|---|---|
Permission denied |
非 root / 非 wireshark 组 |
No such device |
接口名错误或未 UP |
| 抓包丢包 | 缓冲区/磁盘/CPU |
| 文件为空 | 过滤器错误 |
如果你愿意,可以告诉我:
我可以给你一套最优 dumpcap 参数配置。