題 如何將一個魔術包從linux發送到Windows


我正試圖從我的pi使用WOL(Wake on LAN)喚醒我的電腦。我在以太網適配器的設備管理器中啟用了LAN喚醒,並在我的BIOS中啟用了它。關閉計算機後,以太網端口的指示燈亮起。

現在,在我的pi上,這就是我嘗試發送魔術包的方式:

根@覆盆子:〜# wakeonlan 00:11:22:33:44:55
  使用00:11:22:33:44:55將魔術包發送到255.255.255.255:9

當我發送此命令時,我收到一條消息,說它正在發送數據包,但我的電腦沒有打開。

00:11:22:33:44:55是我窗口上的以太網端口的mac地址pi和我的電腦在同一個網絡上。我是第一次嘗試這個,所以請評論我是否做過任何卑鄙的愚蠢行為。

我的電腦運行Windows 7旗艦版。
Pi運行Raspbian(linux)。

注意:我用上面的那個替換了我的真實mac地址。


3
2017-10-13 12:07


起源


這不是一個有效的mac地址,所以這就是為什麼它不起作用(無效,因為沒有製造商知道該MAC。)大多數開始00:0e .... - djsmiley2k
@ djsmiley2k:雖然這不會自動使它失效。雖然使用未註冊的OUI是一個壞主意(最好設置'本地管理'位),但這實際上並不會阻止此類MAC 工作的 無論如何。或者,OUI可能是私人註冊(IEEE以額外的價格提供這些註冊)。順便說一句,製造商的前綴已經超過00:0e:在過去的幾年裡。 - grawity
@ djsmiley2k:呃,如果他們最終下載其中一個小型“MAC隨機發生器”工具,或者某些安全鏟工具自動執行此操作,或者如果他們使用未註冊的OUI獲得一個仿冒NIC,我也不會感到驚訝......或者如果他們只是錯誤輸入了MAC地址。 - grawity
對不起,我稍微改變了我的真實mac地址,但現在我想我應該輸入00:11:22:33:44:55。我不確定是否有任何與mac地址相關的詐騙。另外,我非常確定我的是自定義的,我在網卡的屬性菜單中的網絡地址選項卡中更改了。 (來自設備管理員。)(你對那部分@ djsmiley2k錯了)。 - Don't Root here plz...
不愚蠢,有意義,更安全,比抱歉。我不知道任何與mac地址相關的詐騙,除了你的'isp'聲稱有什麼東西的電話,並且從你的Mac上讀取'證明它們'。好的,如果這不是問題那麼我不確定是什麼。 - djsmiley2k


答案:


您的命令看起來正確。接下來我將使用流量捕獲工具進入Windows PC進行故障排除。

要查看數據包是否實際到達PC,您可以安裝Wireshark,選擇要監視的相關接口,啟動捕獲,然後在顯示過濾器中鍵入“wol”。然後再從你的Pi向windows機器發送一個wakeonlan數據包。您應該會在捕獲中看到此流量。


附加信息

WOL行為 請注意,WOL僅適用於您示例中的同一子網,因為MAC地址是僅跨越單個廣播域的第2層尋址方法。

MAC地址結構 前三個塊(:: **)應該是供應商對物理硬件唯一的。默認情況下,虛擬機是唯一繞過MAC地址標準的設備。您必須手動告訴物理設備掩蓋其MAC地址。

更好的方法來獲取您的MAC地址 其次,獲取MAC地址的更好方法是轉到命令提示符並輸入 ipconfig /all。或者開始>控制面板>網絡和Internet>網絡和共享中心>更改適配器設置>右鍵單擊(相關接口)>狀態>詳細信息物理地址是您的MAC地址,將使用“ - ”代替“:”。請注意,您仍然必須在Pi上使用帶有wakeonlan命令的':'。

我希望以上有所幫助。很抱歉,如果不清楚,我很想在超級用戶上發帖

Wireshark Capture設置示例 - 1:

Wireshark Capture Setup Example - 1

Wireshark Capture設置示例 - 2:

Wireshark Capture Setup Example - 2


4
2017-10-13 15:31



+1讓我試一試,看看數據包是否到達PC。你能詳細說說嗎? WOL行為? - Don't Root here plz...
@DissRoothereplz ...,WOL行為與實際的WOL行為不同,更多是數據鏈路層地址廣播上網絡層的限制:第3層 - 網絡層 - 分隔廣播域並使您能夠識別不同的子網,例如192.168.1.2/24是192.168.1.0/24網絡(廣播域)的一部分。 MAC地址不會遍歷不同的廣播域。 - A. Morton
使用LAN喚醒的IP地址警告:您必鬚髮送到其他網絡的廣播地址才能喚醒任何或所有設備,因為IP地址在設備關閉時不會響應。或者,您必須在路由器上為該子網創建靜態MAC地址條目(如果它支持該功能),以自動將IP地址轉換為MAC地址。 - A. Morton


在PC上你需要確認3件事。你的Pi似乎正在發出一個信號,所以假設它正常工作是相當安全的。

你已經說過你已經檢查了它們,但我之前已經將bios關閉了WOL,所以請仔細檢查它。

  1. 為WOL啟用了Bios

默認情況下,在大多數設備上禁用此功能,因此請重新驗證它是否已啟用。

  1. OS中的設備(以太網)已啟用WOL

轉到您的設備管理器,然後單擊您的網絡適配器。找到您的設備並右鍵單擊屬性。單擊電源管理並確保已啟用它。

Power Management

  1. 防火牆對WOL開放***我沒有看到你對此發表評論。

WOL通常通過端口7或端口9進行。我建議在防火牆上打開兩個,直到你完成此操作,然後在設置完成後關閉一個。 9更常見。

有一些軟件程序可以幫助解決這個問題,但大多數時候我發現它們只是讓人感到困惑而不是有用。


2
2018-05-31 14:37



在這種情況下防火牆如何幫助..如果PC關閉,則防火牆不運行。 - WORMSS
@WORMSS通過使設備能夠接受設備設置上的WOL,您可能還需要設備接受基於子網/廣播端口的接受。 en.wikipedia.org/wiki/Wake-on-LAN 看看作為安全方面。基本上你允許NIC通過BIOS和軟件接受數據包,每個人都可以從WOL鎖定NIC - JustAGrump
但是,當機器完全斷電時,操作系統將不會處於活動狀態..這是所有硬件.. Windows(和您的防火牆)(取決於您的設置)甚至在Magic Packet被啟動後20分鐘到2分鐘內都沒有啟動通過網卡接收並開始啟動計算機。您是在談論從睡眠模式或完全斷電狀態喚醒? - WORMSS
@WORMSS兩者都可以控制設備以及設備的運行方式。因此,雖然操作系統不是“開啟”,但它確實控制了設備的運行方式。以太網端口與此不同,在舊系統上,它是不可能的。如果你想要更深入的答案,你將不得不研究它。無論如何,在大多數係統上,需要通過BIOS和操作系統啟用設備來接受它。 - JustAGrump
還需要確保機器上發送“魔術包”的防火牆允許信號輸出。我通常只是在新機器上測試此過程時關閉防火牆。 - Corvus B