Wireshark 的标准安装不允许程序访问网络接口的权限。
我想我必须用 来运行该程序sudo
,但不知道如何将其添加到图标中 - 如果这是方法的话。
答案1
对于 WireShark 来说,有一个更好的方法。通常需要 root 权限的部分是数据包收集应用程序,可以将其配置为允许某些人使用它sudo
,而无需gksu
、 、etc
。
在终端中(在终端中非常重要,而不仅仅是 Alt+F2 对话框)运行以下命令:
sudo dpkg-reconfigure wireshark-common
这将询问您是否允许非 root 用户嗅探。这正是我们的目标,因此选择Yes
并按回车键。
这将添加一个wireshark
组。该组中的任何人都可以嗅探而无需 root 权限。这显然比仅仅允许更安全任何人嗅探,但确实意味着没有密码检查。从技术上讲,任何有权访问计算机并使用帐户登录的人wireshark
都可以嗅探。如果您可以接受,请继续。
如果没有,请再次运行并选择否。
然后你只需要将用户添加到该组。运行以下命令:
sudo adduser $USER wireshark
然后重启或注销。当你重新登录时,它应该会让你开始嗅探,而不用担心是 root 用户。
答案2
实际上,您不需要以 root 身份启动 WireShark。请阅读官方网站. 简而言之你应该这样做:
sudo groupadd wireshark
sudo usermod -a -G wireshark $USER
sudo chgrp wireshark /usr/bin/dumpcap
sudo chmod o-rx /usr/bin/dumpcap
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
sudo getcap /usr/bin/dumpcap
然后注销并重新登录。
注意:此方法已在 16.04 LTS、17.10 和 18.04 LTS 上测试过。
答案3
您还可以通过gksu wireshark
从终端运行以 root 权限运行 Wireshark。
请注意,在此模式下运行 Wireshark 存在安全问题,即任何危害 Wireshark 的漏洞现在都具有 root 权限,而不是用户权限。Wireshark 比其他应用程序更令人担忧,因为就其本质而言(捕获和处理任意输入),Wireshark 比典型的桌面应用程序更容易受到攻击。您在 SOHO 网络上可能很安全,但在继续之前您应该意识到这个问题。
引用:
- 捕获权限:大多数 UNIX
- 安全包括:
- Debian 自述文件(也适用于 Ubuntu)
答案4
您也可以尝试一下,打开终端,运行此命令
# setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
以非 root 用户身份运行 wireshark