我刚刚从 openSuse 切换到 Ubuntu,在 openSuse 上我使用 wireshark 没有任何问题。现在我收到错误“您无权在该设备上捕获”,指的是我的 802.11 wifi。我有 root 权限,但没有以 root 身份运行。我从 Ubuntu 软件中心安装了 Wireshark。请给出解决方案。
答案1
dumpcap
尝试以下步骤。如果您的内核和文件系统支持文件功能,这些步骤将为可执行文件设置网络权限。 (来源)
- 检查
setcap
命令是否存在于 中/sbin/
。命令whereis setcap
会告诉您它是否存在。 - 如果
setcap
命令存在,请运行此命令:(sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
如果出现错误,请使用/usr/sbin/dumpcap
此处已列出的路径代替) - 将您的用户添加到
wireshark
组 -sudo usermod -a -G wireshark $USER
- 完全退出,然后重新登录。
- 以非 root 用户身份启动 Wireshark,看看是否可以进行实时捕获。
如果这不起作用,如果你的内核不支持上述命令,你可能必须使用 set-UID 方法:
sudo chown root /usr/bin/dumpcap
(如果出现错误,请使用/usr/sbin/dumpcap
而不是指定的路径。)sudo chmod u+s /usr/bin/dumpcap
(如果出现错误,请使用/usr/sbin/dumpcap
而不是指定的路径。)