在 Debian 下使用 dumpcap(Wireshark 抓包底层工具)时,常见问题是“普通用户无权抓包”。下面按推荐程度说明权限设置方法。
wireshark 组(Debian 默认方式)Debian 安装 Wireshark 时通常会创建 wireshark 组,并配置 dumpcap 的组权限。
sudo apt update
sudo apt install wireshark
安装过程中会问:
Should non-superusers be able to capture packets? 选 Yes
sudo usermod -aG wireshark $USER
newgrp wireshark
或 注销再登录
dumpcap -D
能列出网卡即成功。
如果没用上面的方式,也可以手动设:
sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod 750 /usr/bin/dumpcap
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
解释:
cap_net_raw:抓包cap_net_admin:网络管理sudo 也能运行sudo dumpcap -i eth0
或
sudo wireshark
仅调试用,不安全。
Couldn't run /usr/bin/dumpcap: Permission denied
✅ 检查用户是否在 wireshark 组:
groups
ls -l /usr/bin/dumpcap
getcap /usr/bin/dumpcap
通常需要:
CAP_NET_RAW✅ 加入 wireshark 组 + 重新登录
✅ 不要长期用 root 跑 Wireshark
如果你告诉我:
我可以给你更精确的建议。