如何使用root权限运行wireshark?
Wireshark的标准安装不授予程序访问网络接口的权限。
我想我必须用sudo
运行程序,但不知道如何将它添加到图标 – 如果是这样的话。
对于WireShark,有一种更好的方法。 通常需要root的位是数据包收集应用程序,这可以配置为允许某些人在没有sudo
, gksu
etc
情况下使用它。
在一个终端(非常重要的是你在终端,而不仅仅是Alt + F2对话框)运行这个:
sudo dpkg-reconfigure wireshark-common
这将询问您是否允许非root用户能够嗅探。 这就是我们的目标,所以选择Yes
并点击返回。
这增加了一个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