Články
Samuraj Wake On LAN Command Line - aplikace sWOLcmd
sWOLcmd verze 1.0
sWOLcmd je program, který slouží ke vzdálenému zapnutí (probuzení) počítače zasláním speciálního rámce, který se nazývá Magic Packet. Tato technologie se označuje jako Wake On LAN nebo Magic Packet Technology. Program funguje z příkazové řádky, nemá tedy žádné grafické rozhranní, a musíte zadat nějaké parametry. Výhodou je, že jej lze použít v různých skriptech.
Probuzení počítače většinou bezproblémově funguje v rámci stejného subnetu. Tato aplikace funguje i pro případ, kdy je cílový počítač v jiném subnetu, teoreticky i přes internet, ale musí být splněno několik podmínek (viz. dále).
Stažení aplikace pro 32bitové Windows sWOLcmd (komprimováno pomocí ZIP).
Oficiální stránka k programu je Samuraj Wake On LAN Command Line - sWOLcmd
Dále se můžete podívat na:
- Co potřebuje vědět každý - použití sWOLcmd
- Co potřebuje vědět každý - v jakých situacích jaké parametry zadat
- Pro ty zvídavější - jak sWOLcmd pracuje
- Pro ty, co tomu chtějí opravdu rozumět - vše o Wake On LAN
- Licence
Použití sWOLcmd
Základní požadavek je, aby buzená stanice měla povolené probuzení ze sítě (Wake On LAN) a byla v soft shutdown. To znamená, že síťová karta je napájená i při vypnutém počítači a je přepnuta do módu Magic Packet. A samozřejmě musí být přes síť (ethernet) propojena se stanicí, kde spouštíme tuto aplikaci.

Aplikace se spouští z příkazové řádky a je možné použít jeden nebo více parametrů. Vždy je třeba zadat minimálně MAC adresu stanice, kterou chceme probudit.
Pozn.: MAC adresa se používá k identifikaci stanice, protože je uložena v paměti síťového adaptéru.
Volání aplikace vypadá:
swolcmd -m MAC_address [-i IP_address] [-s subnet_mask] [-p UDP_port] [-c compact_mode]
Možné parametry jsou:
- -m MAC_address [povinně] MAC adresa buzeného počítače. Jedná se o 6 hexadecimálních čísel (00 až FF), která můžeme oddělit znaky - : . nebo ničím.
- -i IP_address [volitelně] IP adresa buzeného počítače. Používá se, pokud je počítač v jiném subnetu, v tom případě je potřeba zadat dohromady s maskou. Zadává se jako 4 desítková čísla (0 až 255) oddělená tečkou.
- -s subnet_mask [volitelně] Maska podsítě buzeného počítače, ve formě dot-decimal (4 desítková čísla oddělená tečkou) nebo CIDR (/počet_jedničkových_bitů).
- -p UDP_port [volitelně] Magic Packet se posila jako UDP, zde můžete zadat libovolný port 0-65536. Defaultně je 9.
- -c compact_mode [volitelně] Aby se zvýšila pravděpodobnost probuzení počítače, tak se někdy posílají až 3 různé rámce (pakety). Nastavením -c 1 se vždy pošle pouze jeden. Defaultně je 0 (vypnuto).
V jakých situacích jaké parametry zadat
Základní rozlišení je, zda je buzená stanice ve stejné podsíti (subnetu) jako stanice, kde používáme sWOLcmd.
Stanice jsou ve stejném subnetu
Používá se broadcast, stačí zadat MAC adresu buzené stanice.
D:\sWOLcmd>swolcmd -m 00:1f:c6:4f:63:f9
Stanice jsou v různých subnetech
Používá se směrovaný broadcast na cílový subnet, ale tato metoda musí být povolena na posledním routeru v cestě. Můžeme buď sami spočítat broadcast adresu subnetu a zadat pouze MAC adresu a IP adresu.
D:\sWOLcmd>swolcmd -m 00:1f:c6:4f:63:f9 -i 192.168.10.255
Nebo necháme adresu spočítat aplikaci, pak musíme zadat MAC adresu, IP adresu (kterou naposled měla buzená stanice, ale stačí libovolná ze stejného subnetu) a masku podsítě.
D:\sWOLcmd>swolcmd -m 00:1f:c6:4f:63:f9 -i 192.168.10.15 -s 255.255.255.0
Masku můžeme zadat nejen tradičním desítkovým zápisem s tečkami, ale také pomocí CIDR (počet jedničkových bitů v masce).
D:\sWOLcmd>swolcmd -m 00:1f:c6:4f:63:f9 -i 192.168.10.15 -s /24
Stanice jsou v různých subnetech - speciální situace
V některých případech se dá použít ještě jedna metoda a to je zaslání Magic Packetu pomocí unicastu. Tím se objede problém povolení směrovaných broadcastů na routeru, ale zase je zde problém s vypršením ARP cache na routeru. Ve chvíli, kdy se na routeru smaže ARP záznam pro stanici, kterou chceme vzbudit, tak metoda přestane fungovat. Zaslaní zařídíme tak, že zadáme MAC adresu, IP adresu, ale nezadáme masku.
D:\sWOLcmd>swolcmd -m 00:1f:c6:4f:63:f9 -i 192.168.10.15
Jak sWOLcmd pracuje
Pár informací o tom, jak je sWOLcmd naprogramován. Prvně je třeba poznamenat, že tato aplikace není zrovna moc efektivní, hlavně co do velikosti souboru. Je totiž napsána v PHP a následně převedena na spustitelný soubor pomocí Bambalam PHP EXE Compiler/Embedder 1.21. PHP není zrovna jazyk pro takovéto účely, ale jednoduše se použije a aplikace je korektně funkční.
Aplikace sestavuje paket pro odeslání. Do datového obsahu se použije cílová MAC adresa. Dále se nastavují IP adresy na 3. vrstvě OSI modelu. Zdrojová se doplňuje automaticky. Cílová se v lokálním případě nastaví na broadcast adresu, tedy 255.255.255.255. V případě zadání cílové IP adresy a masky se vypočítá broadcast adresa subnetu a použije se ta. Pokud se zadá pouze IP adresa, tak se paket odešle jako unicast přímo na tuto adresu.
MAC adresy v rámci (2. vrstva OSI modelu) se nastavují automaticky na nižší síťové vrstvě. V případě lokálního broadcastu se použije FF:FF:FF:FF:FF:FF. V případě směrovaného broadcastu nebo unicastu se použije MAC adresa routeru (brány). Pokud je směrovaný broadcast zaměřen na aktuální subnet, tak se rovnou převede na normální broadcast.
Aplikace se standardně snaží použít co nejvíce možných metod (pokud se nepoužije přepínač -c 1), aby se zvýšila pravděpodobnost probuzení stanice. Takže v případě směrovaného broadcastu se odešle také lokální broadcast (co kdyby cílová stanice byla přece jen ve stejném subnetu), unicast (kdyby byl na routeru ještě ARP záznam, obejde se problém s povolením směrových broadcastů) a naposled ten plánovaný směrovaný broadcast.
Vše o Wake On LAN
Podrobně jsem celou technologii Wake On LAN, včetně všech variant a řady problémů, popsal na svém webu v článku Wake on LAN - lokální i vzdálený subnet.
Související síťovou teorii naleznete v článcích:
- TCP/IP - model, encapsulace, paket vs. rámec
- TCP/IP a ethernet - cesta v síti, aktivní síťové prvky
- TCP/IP - metody vysílání dat
- TCP/IP - adresy, masky, subnety a výpočty
- TCP/IP - nalezení MAC adresy k IP - ARP
Licence
Program sWOLcmd je poskytován zdarma jako freeware. Je možné jeho libovolné bezplatné šíření a používání v komerčním i soukromém sektoru. Zároveň je tento program poskytován bez jakékoliv záruky.
linkuj.cz | zalinkuj.cz | jagg.cz | vybrali.sme.sk | del.icio.us.
Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže. Pokud chcete poradit s nějakým problémem či diskutovat na nějaké téma, tak použijte fórum.

Komentáře
Zatím tento záznam nikdo nekomentoval.