Skip to content

Instantly share code, notes, and snippets.

@ernestom
Created May 21, 2013 17:01
Show Gist options
  • Select an option

  • Save ernestom/5621407 to your computer and use it in GitHub Desktop.

Select an option

Save ernestom/5621407 to your computer and use it in GitHub Desktop.
#
# $ python wakeonlan.py 192.168.0.42 00:01:2e:1f:b2:66
#
import socket
from sys import argv
ip, mac_addr = argv[1:3]
magic_packet = mac_addr.split(':')
magic_packet = ''.join([chr(int(magic_packet[i], 16)) for i in range(6)])
sk = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sk.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
send_to = lambda *to: sk.sendto('\xff' * 6 + magic_packet * 16, to)
send_to('<broadcast>', 80)
send_to(ip, 80)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment