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
然后启动 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 项目时您无权保存文件