Generatore di comandi per pacchetti magici Linux
Genera un comando nativo bash o zsh per inviare un pacchetto magico Wake-on-LAN da Linux. Usa Python 3, Perl o bash /dev/udp, quindi non è necessario installare wakeonlan o etherwake.
Input
Output
Leggimi
Che cos’è un pacchetto magico Wake on LAN?
Wake on LAN accende un computer in sospensione o spento tramite la rete. La scheda di rete rimane alimentata e attende un pacchetto magico: 6 byte FF seguiti dall’indirizzo MAC del computer ripetuto 16 volte, per un totale di 102 byte. Di solito viene inviato come broadcast UDP sulla porta 9 o 7, così tutte le macchine della rete locale lo ricevono e si riattiva solo quella con l’indirizzo corrispondente. Prima, Wake on LAN deve essere attivato nelle impostazioni BIOS o UEFI del computer.
Strumenti come wakeonlan ed etherwake inviano il pacchetto, ma non sono sempre installati e potresti non volerli aggiungere a un server o a un NAS.
Descrizione dello strumento
Questo strumento crea un comando su una sola riga che invia il pacchetto usando ciò che Linux ha già a disposizione. Inserisci l’indirizzo MAC del computer da riattivare, in uno dei formati 00:11:22:AA:BB:CC, 00-11-22-AA-BB-CC, 0011.22AA.BBCC o con le 12 cifre esadecimali consecutive, quindi scegli come inviarlo in Invia con:
- Python 3 o Perl, che funzionano in bash e zsh, non richiedono l’accesso come root e possono inviare in broadcast
- Bash /dev/udp, che non richiede installazioni ma funziona solo in bash, non in zsh, e non può inviare in broadcast
L’indirizzo broadcast o IP predefinito è 255.255.255.255 e la porta UDP predefinita è 9. Quando bash invia a un indirizzo broadcast, Linux risponde «Accesso negato»; per questo lo strumento mostra un avviso se scegli Bash con un indirizzo che termina in .255. In alternativa, inserisci l’indirizzo IP del computer stesso.
Il comando viene creato nel browser. Copialo ed eseguilo su qualsiasi macchina Linux nella stessa rete.
Esempi
Per 00:11:22:AA:BB:CC, invio in broadcast con Python 3 sulla porta 9:
python3 -c 'import socket;s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM);s.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,1);s.sendto(bytes.fromhex("ff"*6+"001122aabbcc"*16),("255.255.255.255",9))'Bash, invio diretto al computer all’indirizzo 192.168.1.20:
printf "$(printf '\\xff%.0s' {1..6})$(printf '\\x00\\x11\\x22\\xaa\\xbb\\xcc%.0s' {1..16})" > /dev/udp/192.168.1.20/9Funzionalità
- Comandi per Python 3, Perl e bash
- Accetta indirizzi MAC con due punti, trattini, punti o senza separatori
- Avvisa quando la versione bash non può raggiungere un indirizzo broadcast