如何设置wireshark在Debian上无需root即可运行?


25

我试图wireshark在Debian机器上使用,但是当我使用非root用户帐户运行它时,它不会检测到任何网络接口。

我也尝试过以root身份运行wireshark,但是wireshark告诉我这种方法是不安全的。

我还阅读了FAQ,发现“读取了/usr/shared/wireshark-common/README.Debian文件中的文件”-我确实读取了该文件,但是我仍然不知道该怎么做。

Answers:


12

通过安装Wireshark软件包,非root用户将不会自动获得捕获数据包的权限。

您需要root特权才能使用Wireshark捕获流量(或dumpcap)。根据您提到的手册,可以通过以下方式将您的用户添加到wireshark组中:

useradd -G wireshark your-user-name

不知道这是否会起作用。这也是Wireshark Blog的指南,对它进行了进一步解释

sudo -s
groupadd -g wireshark
usermod -a -G wireshark your-user-name
chgrp wireshark /usr/bin/dumpcap
chmod 4750 /usr/bin/dumpcap

话虽如此,您可以安全地运行Wireshark来检查,编辑或过滤没有root特权的数据包转储。


感谢您提供的详细信息=)此外,我了解到我应该在“不工作”之前重新启动。现在,它的表现非常出色!!!
user269334 2011年

太好了,很高兴我能提供帮助。通常不需要重新启动,而注销并在大多数情况下可以解决问题。
slhck 2011年

48

该文件实际上是/usr/share/doc/wireshark-common/README.Debian

您需要做的是:

sudo dpkg-reconfigure wireshark-common

选择“是”选项。

usermod -a -G wireshark your-user-name

注销并重新登录以获取新的组成员身份,现在您可以非root用户身份运行wireshark。


10
这确实应该是公认的答案;使用dpkg-reconfigure wireshark是建立在Debian系统Wireshark的组的正确方法。不需要设置dumpcap setuid(如接受的答案中所述),因为软件包脚本将在组上设置适当的上限。
cdhowie 2012年

1
我没有足够的积分要添加评论,但又不得不注销以更新组成员身份:
su-

@Stuart Better:只需输入newgrp wireshark您的shell。如果您属于该组,那么Shell将(应要求)收取您的新成员资格。
bryn

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.