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: * http://www.depicus.com/download.aspx?product=gui * http://doc.ubuntu-fr.org/etherwake 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 : .. code-block:: python >>> 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 : .. code-block:: python >>> 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 : .. code-block:: python >>> import socket >>> s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) >>> s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) >>> s.sendto(paquet_magique, (’’, 7)) 102 >>> s.close()