Wireshark - 您无权在该设备 mac 上进行捕获

Posted

技术标签:

【中文标题】Wireshark - 您无权在该设备 mac 上进行捕获【英文标题】:Wireshark - you don't have permission to capture on that device mac 【发布时间】:2017-04-28 20:36:57 【问题描述】:

我安装了 Wireshark,在安装过程中显示错误,但安装本身已完成。当我运行程序并尝试在我的网络上捕获数据包时,它显示了以下错误:

我是mac新手,所以我什至不知道如何正确提问。

有人可以帮我吗?

【问题讨论】:

【参考方案1】:
sudo /Applications/Wireshark.app/Contents/MacOS/Wireshark

这应该可行。

【讨论】:

【参考方案2】:

使用以下命令从终端运行应用程序:

User$ **sudo Wireshark**

Wireshark 应该打开,然后数据包捕获应该工作。

【讨论】:

【参考方案3】:

我遇到了同样的问题,然后注意到下面的文档已经提供了解决方案。


https://www.wireshark.org/docs/wsug_html_chunked/ChBuildInstallOSXInstall.html

2.5。在 macOS 下安装 Wireshark 官方 macOS 软件包作为包含应用程序包的磁盘映像 (.dmg) 分发。要安装 Wireshark,只需打开磁盘映像并将 Wireshark 拖到您的 /Applications 文件夹。

为了捕获数据包,您必须安装“ChmodBPF”启动守护程序。您可以通过打开 Wireshark .dmg 中的 Install ChmodBPF.pkg 文件或从 Wireshark 自身打开 Wireshark → About Wireshark 选择“文件夹”选项卡,然后双击“macOS Extras”来执行此操作。

安装程序包包括 Wireshark 以及 ChmodBPF 和系统路径包。有关详细信息,请参阅包含的 Read me first.html 文件。

【讨论】:

【参考方案4】:

在安装和运行权限等方面遇到了同样的问题。尝试了上面提到的一些修复程序,尽管它们会返回所需的结果,但即使另外进行了卸载/安装,程序仍然无法正常运行。有点不知所措在尝试了几种补救措施后它不起作用,我找到了一个超级简单且有效的方法 -

我只是设置/检查了以 root 用户身份登录。在这里您可以启用/禁用 root 用户帐户,启用登录帐户和更改 root 密码。所以我只是将配置文件从我的 Admin 帐户切换到 Root 帐户。 (老实说,我不确定这样做是否安全,所以认为你们中的许多人比我有更多的知识,我很感激你们的 cmets!)我的理解是,如果你不能正确运行 sudo 命令root 帐户已启用 - 因此,如果它处于打开状态,可能只需将其关闭就足够了,但那时我想要快速轻松地安装。步骤非常简单:

support.apple.com/en-us/HT204012

然后只需将用户帐户切换到 root - 使用“其他”登录,然后输入 root 和您的密码。

现在只需安装 Wireshark,它应该可以正常安装和运行! **我不认为我会在安装后留在 root 帐户中。

希望这可能会有所帮助!

【讨论】:

【参考方案5】:

我在 MacOS High Sierra (v10.13.6) 中遇到了同样的问题。我清理了所有依赖文件和文件夹,但对我没有用。

使用终端,如果我运行以下命令,那么它正在工作 -

sudo chmod o+r /dev/bpf*

【讨论】:

【参考方案6】:

据用户:gmale's answer on ask.wireshark.org,他以这种方式解决了他的问题,我相信它也可以解决你的问题。它说:

1- 打开终端

查看您的确切用户名(对我来说是AliGht

2- 输入“whoami”

3- 执行以下命令:

cd /dev
sudo chown AliGht:admin bp*

并输入您的计算机密码

4- 现在输入这个命令:

ls -la | grep bp

最后一条命令会显示文件列表,例如:

5- 确保他们都将您的 用户名admin 作为用户/组。由于某种原因,最后一个没有正确分配,所以我不得不运行命令

sudo chown AliGht:admin bpf4

所以最后一个命令解决了我的问题,正如你在最后一张图片中看到的那样:

完成!

如果您的 WireShark 已打开,请将其关闭并再次打开。

本教程的所有学分归用户gmale on ask.wireshark.org所有,

如果您想始终以管理员身份打开 WireShark,请查看另一个 post,我通过 Applescript 为其创建了快捷方式,这是您始终以管理员身份打开 WireShark 的唯一方法当您关闭/打开您的 Mac 时。

【讨论】:

由于某种原因,我每次重新启动计算机时都会收到此错误,知道问题的原因是什么吗?我安装了 Avast 以删除浏览器劫持程序,Avast 是否可以回滚这些文件的所有权? No Avast 与此无关,只需看看我在这篇文章底部创建的另一篇文章,唯一的方法是你总是在 Admin 中运行 WireShark,然后你由于安全原因,实际上无法授予应用程序完全权限,因此您每次都需要以管理员身份打开它,只需查看我通过 Apple Script 为线鲨创建快捷方式的帖子即可。祝你好运:) 我不建议更改任何系统文件夹(如 /dev/)中的任何文件或文件夹权限。它会在某个时候让你感到厌烦。 @Apps4U 由于我们添加的是具有管理员权限的当前用户,所以在这种情况下特别没有问题。【参考方案7】:

Wireshark 自己提供了解决方案,以及对奇怪秘密的解释:

    通过命令sudo dseditgroup -o edit -a `whoami` -t user access_bpf

    将您的用户添加到“access_bpf”组

    然后启动 Wireshark 的脚本sudo "/Library/Application Support/Wireshark/ChmodBPF/ChmodBPF";

就是这样,因为(正如脚本所解释的那样):

# Unfortunately, macOS's devfs is based on the old FreeBSD
# one, not the current one, so there's no way to configure it
# to create BPF devices with particular owners or groups. BPF
# devices on macOS are also non-cloning, that is they can
# be created on demand at any time. This startup item will
# pre-create a number of BPF devices, then make them owned by
# the access_bpf group, with permissions rw-rw----, so that
# anybody in the access_bpf group can use programs that capture
# or send raw packets.

【讨论】:

$ sudo "/Library/Application Support/Wireshark/ChmodBPF/ChmodBPF" :36: resource busy: /dev/bpf1 :36: resource busy: /dev/bpf2 :36: resource busy: /dev/bpf3 :36: resource busy: /dev/bpf4 @John 我也收到了类似的警告,而且 Wireshark 正在工作。【参考方案8】:

我不知道如何解决这个问题,但是如果你想要临时修复,你可以使用以下命令:

$ sudo /Applications/Wireshark.app/Contents/MacOS/Wireshark

【讨论】:

虽然可行,但并不是最好的选择,我会选择上面的选项,sudo dseditgroup -o edit -a `whoami` -t user access_bpf,因为它会解决。现在我也不会更改 /dev 文件路径中的任何所有者 然后在你的 .bashrc 中为其创建一个别名。【参考方案9】:

如果您想始终以管理员身份打开 WireShark,我建议使用 AppleScript:

打开AppleScript:按cmd+空格并在Spotlight Search中写入AppleScript Editor,如下图:

然后从 File --> 选择 NEW

在打开的窗口中写:

do shell script "/Applications/Wireshark.app/Contents/MacOS/Wireshark" ¬
    with administrator privileges user name "username" password "password"

用你的更改“用户名”和“密码”。如果你不知道你的用户名在终端写“whoami”来查看你的用户名,密码就是你的电脑密码!

我的是这样的:

现在将您的脚本导出为应用程序,通过转到 --> File --> Export 并将文件格式更改为 Application 为您的文件写一个名称并将其保存在您的桌面上,如下图所示:

完成现在从桌面运行您的应用程序,通过这种方式,您的 WireShark 始终由 管理员权限 运行。

【讨论】:

如果您不想将密码保存在脚本中,可以使用do shell script ¬ "/Applications/Wireshark.app/Contents/MacOS/Wireshark" with administrator privileges 在这里不起作用。弹出一个对话框,询问“X11 在哪里?” @decades 那你需要安装Xquuratz,一般都是操作系统安装的,不知道为什么没有!无论如何检查此链接并安装它:xquartz.org 我已经安装了 Xquartz,否则 WS 不会弹出。无论如何,不​​要打扰。我现在已经安装了最新的 WS 版本,问题完全消失了

以上是关于Wireshark - 您无权在该设备 mac 上进行捕获的主要内容,如果未能解决你的问题,请参考以下文章

在 Mac OS 11.1 中运行 Xcode 12.3 项目时您无权保存文件

禁止访问:您无权访问此服务器上的/ abcd /

禁止:您无权访问此服务器上的 sompathm/a.jpg

TestFlight 崩溃:您无权在 iOS 构建中保存文件

TFS 构建期间发生异常:TF30063:您无权访问

Wireshark抓包确定下一跳