WakeOnLan

WakeOnLan est une technologie qui permet de démarrer un poste connecter au réseau de façon filaire. En faite une trame est envoyée via le reseau à l’ensemble des cartes réseaux lors demandant de démarrer le PC. Seul les PC reçent possède dans leur BIOS la possibilité d’activité le WakeOnLan.

Pour identifier un PC on passe par l’identification de sa carte réseau en utilisant la MAC ADRESS.

Il exite plusieurs outils permettant de lancer cette trame:

  • wakeonlan (linux + windows)
  • etherwake (linux)

Plus d’info sur:

Il est possible d’utiliser python pour envoyer la trame magique

Le principe du Wake-on-LAN est d’émettre sur le réseau un paquet magique qui, lorsque reçu par sa cible, la réveille.

La caractéristique magique de ce paquet est qu’il contient 6 fois FF, suivi de seize répétitions de l’adresse MAC de la cible à réveiller.

Voici sa construction :

>>> adresse_mac = b’C4:DF:12:58:4E:FC’
>>> paquet_magique = b’\xFF’ * 6 + b’’.join([int(i, 16).
    to_bytes(1, byteorder=’little’) for i in
    adresse_mac.split(b’:’)]) * 16

Et le résultat :

>>> paquet_magique
b’\xff\xff\xff\xff\xff\xff\xc4\xdf\x12XN\xfc\xc4\xdf\x12XN\xfc\xc4
\xdf\x12XN\xfc\xc4\xdf\x12XN\xfc\xc4\xdf\x12XN\xfc\xc4\xdf\x12XN\xfc
\xc4\xdf\x12XN\xfc\xc4\xdf\x12XN\xfc\xc4\xdf\x12XN\xfc\xc4\xdf\x12XN
\xfc\xc4\xdf\x12XN\xfc\xc4\xdf\x12XN\xfc\xc4\xdf\x12XN\xfc\xc4\xdf
\x12XN\xfc\xc4\xdf\x12XN\xfc\xc4\xdf\x12XN\xfc’
>>> len(paquet_magique)
102

Voici comment l’utiliser pour réveiller un ordinateur à distance :

>>> import socket
>>> s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
>>> s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
>>> s.sendto(paquet_magique, (’<broadcast>’, 7))
102
>>> s.close()