Advertisement
Guest User

Untitled

a guest
Sep 9th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.76 KB | None | 0 0
  1. # Adjusted from:
  2. # https://github.com/bentasker/Wake-On-Lan-Python and
  3. # https://stackoverflow.com/questions/28765352/wakeup-on-lan-with-python
  4.  
  5. import socket
  6. import struct
  7. import sys
  8. import re
  9.  
  10.  
  11. def wake_on_lan(mac, ip):
  12.     mac_fields = re.findall('([A-Fa-f0-9]{2})', mac)
  13.     mac_packed = struct.pack(
  14.             'B' * 6,
  15.             *[int(x, 16) for x in mac_fields])
  16.  
  17.     network_msg = b'\xff' * 6 + mac_packed * 16
  18.  
  19.     sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  20.     sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
  21.     sock.sendto(
  22.             network_msg,
  23.             (ip, 9))
  24.  
  25.  
  26. def main():
  27.     mac = sys.argv[1]
  28.     ip = sys.argv[2]
  29.  
  30.     wake_on_lan(mac, ip)
  31.     print('done')
  32.  
  33.  
  34. if __name__ == '__main__':
  35.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement