wol.py:
import socket, sys
# Разбудить устройство по сети
# Wake-on-LAN (WoL)
def sendMagicPacket(mac_address, ip_address='255.255.255.255', port=9):
clean_mac = mac_address.replace(':', '').replace('-', '').replace('.', '').upper()
if len(clean_mac) != 12:
raise ValueError('Некорректный MAC-адрес')
mac_bytes = bytes.fromhex(clean_mac)
magic_packet = b'\xFF' * 6 + bytes.fromhex(clean_mac) * 16
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as sock:
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.sendto(magic_packet, (ip_address, int(port)))
if __name__ == '__main__':
mac_address = sys.argv[1] if len(sys.argv) > 1 else ''
ip_address = sys.argv[2] if len(sys.argv) > 2 else '255.255.255.255'
port = int(sys.argv[3]) if len(sys.argv) > 3 else 9
if not mac_address:
print('Ошибка: не указан MAC-адрес.')
print(f'Пример: py {sys.argv[0]} 00:1A:2B:3C:4D:5E')
print(f'Или: py {sys.argv[0]} 00:1A:2B:3C:4D:5E 192.168.0.255 7')
sys.exit(1)
sendMagicPacket(mac_address, ip_address, port)
print('Magic Packet успешно отправлен!')
print()
print(f'MAC : {mac_address}')
print(f'IP : {ip_address}')
print(f'PORT: {port}')
wol2.py:
# Разбудить устройство по сети
# Wake-on-LAN (WoL)
# pip install wakeonlan
from wakeonlan import send_magic_packet
import sys, warnings
warnings.filterwarnings('ignore', category=DeprecationWarning)
if __name__ == '__main__':
mac_address = sys.argv[1] if len(sys.argv) > 1 else ''
ip_address = sys.argv[2] if len(sys.argv) > 2 else '255.255.255.255'
port = sys.argv[3] if len(sys.argv) > 3 else 7
if not mac_address:
print('Ошибка: не указан MAC-адрес.')
print(f'Пример: py {sys.argv[0]} 00:1A:2B:3C:4D:5E')
print(f'Или: py {sys.argv[0]} 00:1A:2B:3C:4D:5E 192.168.0.255 7')
sys.exit(1)
send_magic_packet(mac_address, ip_address=ip_address, port=port)
print('Magic Packet успешно отправлен!')
print()
print(f'MAC : {mac_address}')
print(f'IP : {ip_address}')
print(f'PORT: {port}')
*текст* - жирный,
~текст~ - курсивный,
-текст- - _текст_ - подчеркнутый