是否需要在特定連接埠上發送魔術資料包才能正常運作?

是否需要在特定連接埠上發送魔術資料包才能正常運作?

我讀過,需要在目標機器的連接埠 7 或 9 上發送 WOL(區域網路喚醒)魔術包(在 H/W 中啟用 WOL)才能運作。

它是否正確?如果不是,那麼WOL資料包是如何處理的?

答案1

魔術資料包不一定是一個資料包,它必須由一個幀組成,因此它只需要一個包含魔術字串的有效負載。您可以在其中放入一個資料包和一個段,但它們實際上並沒有由 IP 和 TCP/UDP 層處理。

https://en.wikipedia.org/wiki/Wake-on-LAN#Magic_packet:

魔術資料包是一個廣播幀,其有效負載中的任何位置都包含255 個位元組中的6 個位元組(十六進位的FF FF FF FF FF FF FF),後面跟著16 個重複的目標計算機的48 位元MAC 位址,總共102 個位元組。

由於魔術封包僅掃描上面的字串,並且實際上並未由完整協定棧解析,因此它可以作為任何網路層和傳輸層協定發送,儘管它通常作為 UDP 資料封包發送到連接埠 7 或 9 ,或直接透過乙太網路作為EtherType 0x0842。

所以你的問題的答案分別是「否」和「是」。您根本不需要使用上層協議,IP 封包不需要傳送到目標機器,而且連接埠實際上根本不會偵聽或接收 WOL 資料封包;資料鏈結層掃描有效負載中的魔術字串,如果找到,則根本不會將有效負載傳遞到網路層進行處理。許多實作使用 UDP\7 (Echo) 和 UDP\9 (Discard),可能是為了讓不支援 WOL 的系統不會以潛在不安全的方式處理資料包。在這些系統上,上層將接收該段。

但請注意,雖然 WOL 在硬體和驅動程式中 100% 實現,但其合規性因供應商和設備而異,因此通常很挑剔。

相關內容