Wake-on-LAN

From Bashlinux
Revision as of 02:56, 11 June 2015 by Manpaz (talk | contribs) (Created page with "=== How to perform a Wake-On-LAN (WoL) === From a remote terminal isue the following command: ether-wake 11:22:33:AA:BB:CC : where <code>11:22:33:AA:BB:CC</code> is the mac a...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

How to perform a Wake-On-LAN (WoL)

From a remote terminal isue the following command:

ether-wake 11:22:33:AA:BB:CC
where 11:22:33:AA:BB:CC is the mac address of the terminal to be waked up.

Alternatively the following python code could be useful to wake up a terminal

#!/usr/bin/python

# Wake-On-LAN
#
# Copyright (C) 2002 by Micro Systems Marc Balmer
# Written by Marc Balmer, [email protected], http://www.msys.ch/
# This code is free software under the GPL

import struct, socket

def WakeOnLan(ethernet_address):

  # Construct a six-byte hardware address

  addr_byte = ethernet_address.split(':')
  hw_addr = struct.pack('BBBBBB', int(addr_byte[0], 16),
    int(addr_byte[1], 16),
    int(addr_byte[2], 16),
    int(addr_byte[3], 16),
    int(addr_byte[4], 16),
    int(addr_byte[5], 16))

  # Build the Wake-On-LAN "Magic Packet"...

  msg = '\xff' * 6 + hw_addr * 16

  # ...and send it to the broadcast address using UDP

  s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
  s.sendto(msg, ('<broadcast>', 9))
  s.close()

# Example use
WakeOnLan('00:16:CB:A2:96:C4')