在 Debian 上 dumpcap 没有输出(抓不到包 / 文件为空 / 终端无内容)通常不是 dumpcap 本身坏了,而是权限、网卡状态、过滤条件或用法问题。下面按最常见原因逐一说明。
dumpcap 没反应Couldn't open interface eth0
Permission denied
dumpcap 需要 原始 socket / 网卡混杂模式权限。
✅ 用 root:
sudo dumpcap -i eth0
✅ 或把用户加入 wireshark 组(Debian 推荐方式):
sudo usermod -aG wireshark $USER
然后 重新登录。
检查:
groups
查看可用接口:
dumpcap -D
示例输出:
1. eth0
2. lo
3. any
✅ 明确指定接口:
sudo dumpcap -i eth0
或抓所有:
sudo dumpcap -i any
sudo dumpcap -i lo
如果你只在浏览器访问外网,lo 永远没数据。
✅ 正确做法:
sudo dumpcap -i any
sudo dumpcap -i eth0 -f "tcp port 12345"
如果没有该端口流量 → 完全无输出
先不加过滤:
sudo dumpcap -i eth0
确认有包后再加过滤。
检查:
ip link
确保:
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>
sudo dumpcap -i eth0 -w test.pcap
文件在当前目录:
ls -lh test.pcap
如果你在另一个 shell / 目录看,就会以为“没输出”。
如果你用了 -C 或 -G:
dumpcap -i eth0 -w x.pcap -C 10
要抓满 10MB 才写。
✅ 测试时可加:
sudo dumpcap -i eth0 -w test.pcap -c 10
抓 10 个包就停。
以下情况 dumpcap 无法抓包:
--network=host)sudo dumpcap -i any -w test.pcap -c 20
然后:
tshark -r test.pcap
可以把下面信息发我,我可以直接帮你定位:
dumpcap -D 输出cat /etc/os-release)我可以进一步精准判断。