.
This commit is contained in:
@@ -57,6 +57,8 @@ MeszelyIstvan@682da8f717950.com
|
||||
WinPass
|
||||
MicrosoftAuth
|
||||
|
||||
Kapelou2025
|
||||
|
||||
000
|
||||
pandA#...#min
|
||||
|
||||
|
||||
47
Doc/Scripts/python/wakeonlan.py
Normal file
47
Doc/Scripts/python/wakeonlan.py
Normal file
@@ -0,0 +1,47 @@
|
||||
import socket
|
||||
import struct
|
||||
|
||||
def send_wol_packet(mac_address, ip_address='255.255.255.255', port=9):
|
||||
"""
|
||||
Elküld egy Wake-on-LAN "magic packet"-et.
|
||||
|
||||
:param mac_address: A felébresztendő eszköz MAC-címe (pl. "AA:BB:CC:DD:EE:FF" vagy "AABBCCDDEEFF").
|
||||
:param ip_address: A cél IP-cím (általában broadcast cím a helyi hálózaton).
|
||||
Alapértelmezett: '255.255.255.255'
|
||||
:param port: A cél port (általában 7 vagy 9).
|
||||
Alapértelmezett: 9
|
||||
"""
|
||||
if len(mac_address) == 12:
|
||||
pass
|
||||
elif len(mac_address) == 17:
|
||||
mac_address = mac_address.replace(':', '').replace('-', '')
|
||||
else:
|
||||
raise ValueError("Érvénytelen MAC-cím formátum. Használj 'AABBCCDDEEFF' vagy 'AA:BB:CC:DD:EE:FF' formátumot.")
|
||||
|
||||
# A "magic packet" felépítése: 6 bájt FF, majd 16-szor a MAC-cím
|
||||
data = b'FFFFFFFFFFFF' + (bytes.fromhex(mac_address) * 16)
|
||||
|
||||
# UDP socket létrehozása
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1) # Broadcast engedélyezése
|
||||
|
||||
try:
|
||||
sock.sendto(data, (ip_address, port))
|
||||
print(f"WOL csomag elküldve a {mac_address} MAC-címre a {ip_address}:{port} címre.")
|
||||
except Exception as e:
|
||||
print(f"Hiba történt a WOL csomag küldésekor: {e}")
|
||||
finally:
|
||||
sock.close()
|
||||
|
||||
# Példa használat:
|
||||
if __name__ == "__main__":
|
||||
import sys
|
||||
if len(sys.argv) < 2:
|
||||
print("Használat: python wakeonlan.py <MAC_CÍM> [IP_CÍM] [PORT]")
|
||||
sys.exit(1)
|
||||
|
||||
mac_address = sys.argv[1]
|
||||
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
|
||||
|
||||
send_wol_packet(mac_address, ip_address, port)
|
||||
Reference in New Issue
Block a user