没有可以进行捕获的接口


24

我正在使用Ubuntu 13.04。

Wireshark将不会显示任何日志,也不会显示任何功能。我已连接到我的WiFi Belkin路由器。


一个快速的解决方法,而不是解决方案:您可以以root用户身份运行wireshark gksudo wireshark
soulsource

Answers:


45

通过按Ctrl+ Alt+ 打开终端,T然后键入以下命令:

sudo dpkg-reconfigure wireshark-common

按向右箭头并输入是

sudo chmod +x /usr/bin/dumpcap

您现在应该可以在没有root的情况下运行它,并且可以捕获它。


4
+1。它也适用于14.04。注意:文档说“使用Linux功能未为非root用户启用捕获USB数据包。您必须使用I./a。中所述的方法捕获数据包,并使用dpkg永久设置set-user-id -statoverride或以根用户身份运行Wireshark。”
jfs

如果您还可以描述使它起作用的上述命令的作用,这将对新手很有帮助
Ahmed

1
它在LTS 14.04上运行。...非常感谢。
ThN 2015年

chmod +x使dumpcap对所有人都可执行。一种替代方法是将要允许捕获的用户添加到wireshark组中。
domen

2

当您没有访问网络接口以进行监视的权限时,通常会出现“无法使用当前配置在此系统中捕获任何接口”消息。尝试打开终端并运行gksudowireshark。如果出现多个网络接口,那是因为在没有root权限的情况下运行wireshark时,您没有监视权限。

要解决此问题,请在终端中运行以下命令:

sudo setcap CAP_NET_RAW,CAP_NET_ADMIN,CAP_DAC_OVERRIDE+eip /usr/bin/dumpcap

“尝试打开终端并运行gksudo wireshak。” 请注意,该文档显示 “ WIRESHARK包含超过200万行源代码。请勿以根目录运行它们。” 在那之前。请sudo setcap改用命令-或使用sudo dpkg-reconfigure wireshark-common让软件包为您设置功能。

0

当我尝试运行wireshark时,出现此错误:

Couldn't run /usr/bin/dumpcap in child process: Permission denied

所以我以前以root身份运行它,这禁用了LUA。通知我LUA已被禁用的弹出窗口太烦人了,我试图对其进行修复。

首先,我通过运行检查权限

ls -l /usr/bin/dumpcap

结果是:

-rwxr-xr-- 1 root wireshark 96464 Jan 24 10:31 /usr/bin/dumpcap

这很明显,这就是Wireshark告诉我的。所以我只是将所有者从root更改为我的acc

sudo chown -R $LOGNAME /usr/bin/dumpcap

哪个可行,我现在可以在没有root的情况下运行wireshark


0

Googled“无法在子进程中运行/ usr / bin / dumpcap”并发现以下问题:

我无法使用wireshark“无法在子进程中运行/ usr / bin / dumpcap”

这被标记为重复并将我带到这里。提议的解决方案是:

sudo chmod +x /usr/bin/dumpcap

上面的命令确实有效,但是我想添加一个安全警告。这将允许捕获系统上所有用户的数据包。它可以是临时解决方案,但不希望用作永久解决方案。

我按照wireshark页面上有关捕获特权的说明进行操作:

https://wiki.wireshark.org/CaptureSetup/CapturePrivileges

他们建议将dumpcap执行限制为特定的组或用户。

我遵循了这些指示(进行了改编):

如果您的内核和文件系统支持文件功能,则为dumpcap设置网络特权

  • 确保已安装必要的工具,例如setcap命令。

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

(注意:如果收到错误指示dumpcap不在/ usr / bin中,则将/ usr / bin替换为/ usr / sbin)

  • 以非root用户身份启动Wireshark,并确保您看到接口列表并且可以进行实时捕获。(我忽略了此说明。对我不起作用

如果您的内核和文件系统不支持文件功能,请为dumpcap设置网络特权

在这种情况下,您需要将dumpcap set-UID设置为root。

sudo chown root /usr/bin/dumpcap 

(注意:在此命令和下一个命令中,将/ usr / bin替换为/ usr / sbin,以防万一,您收到一条错误消息,该错误指示dumpcap不在/ usr / sbin中)

sudo chmod u+s /usr/bin/dumpcap

将捕获权限限制为仅一组

设置dumpcap的网络权限后:

  • 在“ wireshark”组中创建用户“ wireshark”。

    sudo chgrp wireshark /usr/sbin/dumpcap

    sudo chmod o-rx /usr/sbin/dumpcap

  • 确保Wireshark仅可从root用户和“ wireshark”组中的用户使用(我仅在最后完成此步骤-尚未完成

最后,还有两个步骤:

sudo dpkg-reconfigure wireshark-common

选择“是”。

注销用户的所有接口(包括ssh,这是我最大的错误),然后再次登录。

希望您应该启动wireshark并以普通用户身份查看所有接口(不使用sudo)

wireshark &

如果您检查文件权限

ls -la /usr/bin/dumpcap

它仅允许用户和组执行

-rwxr-xr-- 1个根wireshark

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.