如果以超級使用者身份執行,Xming 將無法啟動
設想:
我正在嘗試通過位於 Windows 8.1 機器上的 xming 伺服器執行WireShark,該伺服器從Raspberry Pi B+硬連線到Wifi Pineapple Mark 5。
Xming 使用以下命令成功啟動
pi@raspberrypi~$ wireshark -i interface name
但是,當我嘗試訪問(任何介面,包括使用 airmon-ng 生成的介面)時,我得到
“您無權訪問此界面”
來自wireshark。
所以我很自然地說,“Derp,你需要用 sudo 執行它”
當我跑
pi@raspberrypi~$ sudo wireshark -i interface name
xming 沒有連接,它說
PuTTY X11 proxy: wrong authorisation protocol attempted (wireshark:3123): Gtk-WARNING **: cannot open display: localhost:10.0
我完全不知道為什麼會這樣。
我對其進行了一些研究,大多數建議添加
“ForwardX11信任是”
到我的 sshd_config 文件,但是當我這樣做並嘗試重新啟動我的 ssh 伺服器時,它說它是一個壞密鑰。我也試過 ssh_config。我沒有收到重啟錯誤,但我仍然遇到了同樣的 xming 問題。
這很正常。您已以 user 身份連接到您的 Pi
pi
,請求ssh
(或在本例中為 PuTTY)將您的 X 連接轉發到您的桌面。這僅允許pi
Pi 上的使用者訪問您桌面上的 X 伺服器;當您執行wireshark
as時root
,因為root
在您的 Pi 上無法訪問您的 X 伺服器,您會看到您給出的錯誤消息。我會給你
ssh
解決方案,但在這種情況下這是錯誤的方法;我也會給你正確的方法wireshark
。通常,要以與您連接到遠端機器的使用者不同的使用者身份執行 X 程序,您需要合併 X 權限資訊。在這種情況下,要允許
root
連接到您的桌面,請在您的 Pi 上執行以下命令:xauth extract - $DISPLAY | sudo xauth merge -
這會提取您
pi
使用者的 X 權限並將其與您root
使用者的 X 權限合併。/root/.Xauthority
您可能會收到關於不存在的警告;沒關係,xauth
將為您創建文件。您現在應該能夠wireshark
以root
.但是不推薦執行
wireshark
as ;root
在 Wireshark 中經常發現安全漏洞……/usr/share/doc/wireshark/README.Debian
提供了兩種可能的方法。第一個是執行dumpcap
asroot
以擷取您感興趣的所有流量,然後執行wireshark
以分析生成的輸出(您可以dumpcap
在 Pi 上執行,然後在台式電腦上使用 Wireshark)。二是把你的pi
使用者加入wireshark
群組,重新配置Wireshark,讓wireshark
群組的成員抓到流量;你可以通過在你的 Pi 上執行以下命令來做到這一點:adduser pi wireshark sudo dpkg-reconfigure wireshark-common
並在配置螢幕中選擇“是”。然後執行
wireshark
為pi
.