在 Debian 里用 dumpcap(Wireshark 抓包后端)经常遇到“权限不够 / can’t open network device”的问题,本质是 普通用户没有抓包权限。下面按推荐顺序给你几种解法。
Debian 安装 Wireshark 时通常会提示是否允许非 root 抓包。
sudo usermod -aG wireshark $USER
ls -l /usr/bin/dumpcap
正常应类似:
-rwxr-xr-- 1 root wireshark ...
newgrp wireshark
或 注销再登录
之后普通用户就能直接用:
dumpcap -i eth0
sudo dumpcap -i eth0
只是验证问题,不建议日常用。
如果不想加用户组,也可以:
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
检查:
getcap /usr/bin/dumpcap
⚠ 注意:
有时不是权限,而是:
ip link
确认接口名正确(如 eth0, ens33, wlan0)
Couldn't run /usr/bin/dumpcap: Permission denied
→ 用户没在 wireshark 组 / 没重登录
✅ 加入 wireshark 组 + 重新登录
✅ 不行再 setcap
❌ 不要长期用 sudo
如果你愿意,可以贴一下具体报错信息,我可以精准帮你定位。