# Wake-on-LAN

Wake-on-LAN (WOL, soms WoL of Remote Wake Up) is een netwerkstandaard voor ethernet waarmee het (soms) mogelijk is een computer van op afstand aan te zetten of uit de slaapstand te halen met behulp van een magic packet. Dit gebeurt door het zenden van een netwerkboodschap met behulp van een eenvoudig programma op een andere computer op het netwerk. Deze technologie werd in april 1997 door Intel en IBM geïntroduceerd.

## Principe

Wake-on-LAN gebruikt een speciaal netwerkpakket met de term "magic packet". Het "magic packet" bevat onder andere het MAC-adres van de pc die opgestart dient te worden. Het "magic packet" wordt in broadcast verzonden. Elke pc waar het "magic packet" aankomt, verifieert of dit voor zijn netwerkkaart is bedoeld. Indien wel, start de computer automatisch op.
Het "magic packet" wordt verzonden in de tweede laag van het OSI-model. Dit wil zeggen dat het packet het IP-adres niet gebruikt, want deze zit in de derde laag van het OSI-model.
Een misvatting over Wake-on-LAN is dat het beperkt zou zijn tot het subnet waarin zowel de verzender als ontvanger zich bevinden. Hoewel dit meestal zo is, kan het "magic packet" verstuurd worden naar pc's buiten het subnet van de verzender.
Wake-on-LAN vereist dat de netwerkkaart van de ontvanger gedeeltelijk geactiveerd is. Dit wil zeggen dat dergelijke netwerkkaarten continu 'aan' staan en energie gebruiken. Indien de optie niet nodig is, is het beter om Wake-on-LAN in de BIOS van de computer uit te schakelen.

## Magic packet

Het "magic packet" bestaat uit 102 bytes. Het start met zes bytes van het hexadecimale getal 255 (FF FF FF FF FF FF) gevolgd door zestien keer het 48 bit-MAC-adres van de computer die opgestart dient te worden.
Het "magic packet" heeft volgende beperkingen:
* het moet het MAC-adres van de doelcomputer bevatten, met eventueel een SecureOn-wachtwoord,
* het maakt geen gebruik van een confirmatiepakket,
* werkt mogelijk niet buiten het lokale netwerk,
* de doelcomputer moet Wake-On-LAN ondersteunen,
* de netwerkkaart van de doelcomputer moet aan staan,
* het "magic packet" kan niet worden verstuurd naar draadloze netwerkkaarten.

## Problemen met Magic Packets

Hoewel Wake-on-LAN eenvoudig lijkt, is het een moeilijke technologie om te implementeren. De technologie vereist een geschikte BIOS, netwerkkaart, correct ingestelde routers en het werkt niet op elk besturingssysteem. Andere problemen die opduiken, is dat pc's soms enkel opstarten wanneer ze effectief afstaan. Pc's die in stand-by of slaapstand staan, worden niet altijd opgestart. Omdat er geen confirmatiepakket is, weet de verzender niet of het toestel effectief is opgestart. Dit dient hij te controleren met een ping-commando, maar de doel-pc kan zo ingesteld staan dat deze ook niet antwoordt op dergelijke ping.
Sinds Windows Vista is er een extra tool om na te gaan hoe het systeem van een remote computer de laatste keer werd opgestart: powercfg /lastwake. Ook het Wake-on-LAN-event zou vermeld moeten staan in de System event log.

## Veiligheidsricico's
### Onbevoegde toegang

* "Magic packets" worden verzonden over de tweede laag van het OSI-model. Hierdoor kan dit misbruikt worden door eenieder die zich in hetzelfde LAN bevindt. Het netwerk dient dus goed beveiligd te worden.
* Firewalls en routers kunnen zo ingesteld worden dat SDB's (Subnet Directed Broadcasts) al dan niet worden doorgestuurd. Indien een SDB wordt tegengehouden, zal het pakket niet aankomen op de doelcomputer wanneer deze zich buiten het netwerksegment bevindt van de broncomputer.
* Sommige netwerkkaarten ondersteunen "SecureOn". Dit laat toe om een hexadecimaal wachtwoord te sturen dat uit zes bytes bestaat. De broncomputer dient het wachtwoord te verzenden tezamen met het "magic packet". Echter, het wachtwoord wordt verstuurd in platte tekst en niet versleuteld, waardoor hackers alsnog het wachtwoord uit het "magic packet" zouden kunnen filteren.