在 Debian 上 Dumpcap 启动失败 常见原因不止一种,下面按频率从高到低给你一个排查清单。你可以逐条对照,基本都能定位问题。
dumpcap: Permission denied
或
Couldn't run /usr/bin/dumpcap in child process: Permission denied
Dumpcap 需要 捕获网络数据包的权限,普通用户默认没有。
Debian 官方推荐方式:
sudo dpkg-reconfigure wireshark-common
在弹出的界面中选择: ✅ Yes(允许非 root 用户抓包)
然后把自己加入 wireshark 组:
sudo usermod -aG wireshark $USER
注销或重启后生效(非常重要)
验证:
groups
看到 wireshark 即可。
getcap /usr/bin/dumpcap
正常应看到类似:
/usr/bin/dumpcap cap_net_raw,cap_net_admin=eip
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
ip link
如果接口是 DOWN:
sudo ip link set eth0 up
(接口名按你实际情况)
Docker 容器里 Dumpcap 几乎必失败,原因:
NET_ADMINNET_RAW运行容器时必须加:
docker run --cap-add=NET_RAW --cap-add=NET_ADMIN --network=host ...
⚠️ 即便如此,也不保证 100% 可用,建议:
检查:
aa-status
临时测试:
sudo systemctl stop apparmor
如果这样能启动,说明是 AppArmor 限制。
which dumpcap
如果没有:
sudo apt install wireshark-common
常见于:
检查:
dumpcap --version
wireshark --version
建议统一用 Debian 仓库版本:
sudo apt install wireshark
dumpcap -D
✅ 正常:列出接口
❌ 失败:直接看报错信息,通常就是权限或接口问题
你可以直接把 完整报错信息 贴出来,例如:
dumpcap -i eth0
或
sudo dumpcap -D
我可以按你的 Debian 版本 + 环境(物理机 / 虚拟机 / Docker / WSL) 给你精确方案。