如果以超级用户身份运行,Xming 将无法启动

Ant*_*ell 1 ssh raspberry-pi xming wireshark

设想:

我正在尝试通过位于 Windows 8.1 计算机上的xming 服务器运行WireShark ,该服务器位于Raspberry Pi B+上,该计算机硬连线到Wifi Pineapple Mark 5

使用以下命令Xming成功启动

pi@raspberrypi~$ wireshark -i interface name
Run Code Online (Sandbox Code Playgroud)

然而,当我尝试访问(任何接口,包括使用airmon-ng生成的接口)时,我得到

“您无权访问该界面”

来自wireshark。

所以我很自然地说,“Derp,你需要用 sudo 运行它”

当我跑步时

pi@raspberrypi~$ sudo wireshark -i interface name
Run Code Online (Sandbox Code Playgroud)

xming 无法连接,它说

PuTTY X11 proxy: wrong authorisation protocol attempted
(wireshark:3123): Gtk-WARNING **: cannot open display: localhost:10.0
Run Code Online (Sandbox Code Playgroud)

我完全不知道为什么会发生这种情况。

我研究了一下,最建议添加

“ForwardX11Trusted 是”

到我的 sshd_config 文件,但当我这样做并尝试重新启动我的 ssh 服务器时,它说这是一个坏密钥。我也尝试过 ssh_config。我没有收到重新启动错误,但我仍然遇到相同的 xming 问题。

在此输入图像描述 在此输入图像描述

Ste*_*itt 5

这个是正常的。您已以 user 身份连接到 Pi pi,请求ssh(在本例中为 PuTTY)将您的 X 连接转发到桌面。这仅允许piPi 上的用户访问桌面上的 X 服务器;当您运行时wiresharkroot由于root您的 Pi 无法访问您的 X 服务器,您会看到您给出的错误消息。

我会给你ssh解决方案,但在这种情况下这是错误的方法;我也会为您提供正确的方法wireshark

通常,要以连接到远程计算机的用户以外的其他用户身份运行 X 程序,您需要合并 X 权限信息。在这种情况下,要允许root连接到桌面,请在 Pi 上运行以下命令:

xauth extract - $DISPLAY | sudo xauth merge -
Run Code Online (Sandbox Code Playgroud)

这会提取您pi用户的 X 权限并将其与您root用户的 X 权限合并。您可能会收到有关不存在的警告/root/.Xauthority;没关系,xauth将为您创建该文件。您现在应该能够wiresharkroot.

不建议运行wiresharkas ;rootWireshark 中经常发现安全漏洞.../usr/share/doc/wireshark/README.Debian给出了两种可能的方法。第一个是运行dumpcapasroot以捕获您感兴趣的所有流量,然后运行wireshark以分析生成的输出(您可以dumpcap在 Pi 上运行,然后在台式计算机上使用 Wireshark)。第二种是将你的pi用户添加到wireshark组中,并重新配置Wireshark以允许该wireshark组的成员捕获流量;您可以通过在 Pi 上运行以下命令来完成此操作:

adduser pi wireshark
sudo dpkg-reconfigure wireshark-common
Run Code Online (Sandbox Code Playgroud)

并在配置屏幕中选择“是”。然后运行wiresharkpi.