在 Debian 下使用 dumpcap(Wireshark 抓包工具)时,普通用户默认没有权限抓包,通常有两种做法:赋权给 dumpcap 可执行文件 或 把用户加入特定组。下面是最推荐、最安全的方式。
sudo apt update
sudo apt install wireshark
安装过程中会问:
Should non-superusers be able to capture packets? 选 Yes
如果没有这一步,也可以手动做:
sudo dpkg-reconfigure wireshark-common
sudo usermod -aG wireshark $USER
然后 重新登录 或:
newgrp wireshark
Debian 默认会给 dumpcap 设置 capabilities:
ls -l /usr/bin/dumpcap
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
sudo chown root:root /usr/bin/dumpcap
sudo chmod 4755 /usr/bin/dumpcap
⚠️ 这种方式是 setuid root,安全性较差,不建议。
dumpcap -i any
或
wireshark
不再提示权限错误即成功。
需要:
--privileged
或
--cap-add=NET_RAW --cap-add=NET_ADMIN
如果你告诉我:
我可以给你更精确的配置。