如何使用root权限运行wireshark?

Wireshark的标准安装不授予程序访问网络接口的权限。

我想我必须用sudo运行程序,但不知道如何将它添加到图标 – 如果是这样的话。

对于WireShark,有一种更好的方法。 通常需要root的位是数据包收集应用程序,这可以配置为允许某些人在没有sudogksu etc情况下使用它。

在一个终端(非常重要的是你在终端,而不仅仅是Alt + F2对话框)运行这个:

 sudo dpkg-reconfigure wireshark-common 

这将询问您是否允许非root用户能够嗅探。 这就是我们的目标,所以选择Yes并点击返回。

重新配置wireshark-common

这增加了一个wireshark组。 该组中的任何人都能够在不成为root的情况下嗅闻。 这显然比让任何人嗤之以鼻,但确实意味着没有密码检查更安全。 从技术上讲,任何有权访问使用wireshark帐户登录的计算机的人都可以嗅探。 如果这是你可以接受的,继续。

如果没有,再次运行并选择否。

然后,您只需将用户添加到该组。 运行这个:

 sudo adduser $USER wireshark 

并重新启动或注销。 当你回来的时候应该让你开始嗅探而不必担心成为root用户。

您还可以通过从终端运行gksu wireshark来运行具有root权限的Wireshark。

请注意,在此模式下运行Wireshark存在安全问题,即任何破坏Wireshark的漏洞现在都具有root权限而不是用户权限。 对于Wireshark来说,这比其他应用程序更受关注,因为它本质上(捕获和处理任意输入),Wireshark比典型的桌面应用程序更容易受到攻击。 在SOHO网络上你可能是安全的,但在继续之前你应该意识到这个问题。

引文:

  • 捕获权限:大多数UNIX
  • 安全包括:
    • 为什么Wireshark如此错?
    • 不需要管理员/ root帐户!
  • Debian README (也适用于Ubuntu)

真的,你不需要以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上进行了测试。

你也可以尝试这个,打开终端,运行这个命令

 # setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap 

以非root用户身份运行wireshark