Con questo tecnica possiamo accendere uno/range pc da remoto inviando pacchetti UDP in broadcast attraverso la rete.
Requisiti:
Per fare ciò, si necessita di una scheda di rete che supporti il WOL (PCI 2.2) e di un bios che
supporti il servizio di WOL.
motherboard : Le più moderne motherboard ATX hanno 3 pin Wake-on-LAN connector vicino alla PCI slot e includono il BIOS support
NIC : le schede di rete dovranno includere 3 pin Wake-on-LAN connector. una delle schede che lo supportano sono le dffusissime Intel Pro/100+ (chipset 82559).
Come funziona
Quando un pc viene spento, la NIC continua ad essere alimentata ( lo si può notare dalle lucine tx/rx che rimangono attive anche a pc spento) e rimane in ascolto sulla rete di “magic packet” in arrivo.
Questi pacchetti contengono una sequenza di byte (che vengono incapsulati su qls protocollo es IP,IPX), tale per cui verrà dato il segnale di accensione alla motherboard.
la “magic sequenze” è composta da :
[ethernet header][IP header][UDP header][Magic sequence][CRCS]
la NIC che riceverà questa sequenza non risponderà alcunchè sulla rete.
Il Wake On Lan Frame
E’ una sequenza particolare inviata alla NIC contenente l’ethernet address ripetuto per 16 volte preceduto da uno _synchronization stream_ composto da 6 bytes di FFh.
esempio :
se la NIC ha ethernet address : 01:02:03:04:05:06 (6 bytes) la magic sequenze sarà :
FFFFFFFFFFFF010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506
Ethernet address
composta da 48 bits -> 24 OUI (Organizationally Unique Identifier) servono per capire il produttore della NIC e quindi capire se è compatibile.
Spedire la sequenza in rete
Per spedire questa sequenza in rete bisogna accedere alle librerie di rete con un qualsiasi linguaggio di programmazione quali il c,c++,vbs,VisualBasic,C#,etc etc.
Qui di seguito un software per windows che gestisce il WOL :
PCnet Magic Packet Utility
* Company: Advanced Micro Devices, Inc.
* Version: 1.00
* Magic packet: UDP packet sent to the limited broadcast address (255.255.255.255) port 2304
* Download: magic_pkt.exe
* Note: Read the “Known Problems” section in the RELEASE.TXT file.
Qui una classe scritta in C# :
http://www.codeproject.com/csharp/wolclass.asp