在 Debian 上,dumpcap(Wireshark 抓包后端)默认需要 root 权限 才能访问网络接口。普通用户想用 dumpcap 抓包,常见且推荐的做法不是“直接提权运行”,而是通过能力(capabilities)或用户组授权。
下面按推荐程度说明几种方式。
Debian 安装 Wireshark 时通常会创建 wireshark 组。
sudo usermod -aG wireshark $USER
newgrp wireshark
或注销再登录。
dumpcap -D
如果能列出网卡,说明成功。
✅ 这是最安全、官方推荐的方式
如果不想用 wireshark 组,可以给 dumpcap 赋权:
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
验证:
getcap /usr/bin/dumpcap
⚠ 注意:
sudo dumpcap -i eth0 -w test.pcap
或 Wireshark:
sudo wireshark
⚠ 不推荐,GUI 用 root 运行有安全风险。
ls -l /usr/bin/dumpcap
Permission denied → 用户不在 wireshark 组No interfaces found → cap 或组配置问题usermod -aG wireshark $USERsetcap(无 GUI 场景)sudo wireshark如果你告诉我:
我可以给你更精确的建议。