WOL do vzdáleného subnetu (přes internet)
Složitější situace nastane, pokud buzená stanice není ve stejném subnetu, to znamená, že v cestě se nachází jeden nebo více
routerů. Vše plyne z principu komunikace v síti (nebo funkce aktivních síťových prvků), podrobněji se můžete dočíst v článku
TCP/IP a ethernet - cesta v síti, aktivní síťové prvky.
První věc je, že
router odděluje
broadcastové domény, jednodušeji řečeno, broadcasty se skrze router nešíří (standardně, dá se to obejít speciální konfigurací routeru). Aplikace, které se dají získat na internetu, většinou nabízí i možnost zadání
IP adresy buzené stanice (a bohužel většinou bez popisu co jak zadávat). A od toho se na internetu vede řada diskusí. Vždyť přece vypnutá stanice nemá IP adresu, síťová karta má pouze svoji hardwarovou adresu, tedy MAC adresu. Ale použití této
IP adresy neslouží k identifikaci stanice, ale k
identifikaci subnetu.
Pozn.: Síťová karta v
Magic Packet Mode se většinou nedívá na L2, L3 ani L4, ale pouze do datového obsahu rámce.
Pomocí unicastu
Pokud je cíl v
jiném subnetu, tak můžeme použít
unicast, ale to funguje jen chvíli (možné časy jsou uvedeny dále) po vypnutí počítače. Při odesílaní paketu naše stanice zjistí, že cíl je v jiném subnetu, takže zprávu pošle na
bránu (gateway nebo podle své routovací tabulky, do rámce se použije MAC adresa brány a IP adresa cíle, to řeší fyzická vrstva síťového rozhranní). Pokud
router má v
ARP tabulce uloženu danou cílovou IP adresu, tak použije správnou MAC adresu a odešle rámec. Pokud dostane rámec
switch a v
CAM tabulce (tabulka MAC adres a portů) nemá záznam, tak pošle zprávu na všechny porty mimo příchozího. Pokud ještě záznam má, tak pošle přímo na daný port.
Problém ale nastane, když
router nemá záznam v ARP tabulce. Tehdy pošle
broadcast, kde se ptá, kdo má danou IP adresu, ale protože nedostane odpověď (od vypnuté stanice), tak
paket zahodí.
Pozn.: V tomto případě tedy potřebujeme MAC adresu cílové stanice a její poslední IP adresu. Teoreticky bychom mohli použít i jinou IP adresu z daného subnetu, ale jde o to, aby ji router měl ve své ARP tabulce (je nám jedno, že ji na L2 přiřadí jinou MAC adresu) a naopak switch, aby tuto přiřazenou MAC adresu neměl v CAM tabulce, protože by rámec odeslal jen na jiný port. Pokud bychom za routerem měli hub, tak bychom mohli použít IP adresu libovolné běžící stanice v daném subnetu a vždy by nám to fungovalo.
Pomocí směrovaného broadcastu
Abychom tedy dostali paket do cílového subnetu, můžeme použít
směrovaný broadcast na subnet (Subnet Directed Broadcast, např. 10.0.0.255), který používá
boradcastovou adresu daného subnetu, více v článcích
TCP/IP - metody vysílání dat a
TCP/IP - adresy, masky, subnety a výpočty. Ten by měl cestovat přes routery až na ten, který má daný subnet jako přímo připojený. Tento
router upraví rámec na běžný
broadcast a odešle jej na odpovídající rozhranní.
Pozn.: V tomto případě tedy potřebujeme MAC adresu cílové stanice a broadcastovou adresu subnetu, v kterém se nachází.
Protože však tato technika byla používána k útokům, tak bývá na routerech nebo i firewallech většinou
zakázána. To se týká routeru, který by měl rámec převést na broadcast, přes ostatní by měl rámec projít normálně.