如何设置 wireshark 以在 Debian 上无需 root 身份运行?

如何设置 wireshark 以在 Debian 上无需 root 身份运行?

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

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

我还阅读了常见问题解答并发现“读取 /usr/shared/wireshark-common/README.Debian 文件中的文件” - 我确实阅读了该文件,但我仍然不知道我应该做什么。

答案1

通过安装 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权限。

答案2

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

你需要做的是:

sudo dpkg-reconfigure wireshark-common

选择“是”选项。

usermod -a -G wireshark your-user-name

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

答案3

我认为这是安装过程中 Wireshark 配置出现的问题apt

在运行dpdg-reconfigure wireshark或安装过程中,它会询问Should non-superusers be able to capture packets?。按左箭头键将使“是”标记为红色。但是,按右箭头键并且没有“否”允许非超级用户捕获数据包,如下图所示。

非超级用户选择的图像

相关内容