Γεννήτρια εντολών magic packet για Linux
Δημιουργήστε μια εγγενή εντολή bash ή zsh που στέλνει magic packet Wake on LAN από Linux. Χρησιμοποιεί Python 3, Perl ή bash /dev/udp, οπότε δεν χρειάζεται να εγκαταστήσετε τα wakeonlan ή etherwake.
Είσοδος
Έξοδος
Readme
Τι είναι ένα μαγικό πακέτο Wake on LAN;
Το Wake on LAN ενεργοποιεί έναν υπολογιστή που βρίσκεται σε αναστολή λειτουργίας ή είναι απενεργοποιημένος μέσω του δικτύου. Η κάρτα δικτύου του παραμένει ενεργοποιημένη και περιμένει ένα μαγικό πακέτο: 6 byte FF ακολουθούμενα από τη διεύθυνση MAC του υπολογιστή 16 φορές, δηλαδή 102 byte συνολικά. Συνήθως αποστέλλεται ως εκπομπή UDP στη θύρα 9 ή 7, ώστε να το λαμβάνουν όλα τα μηχανήματα στο τοπικό δίκτυο και να ενεργοποιείται μόνο εκείνο του οποίου η διεύθυνση MAC αντιστοιχεί. Πρέπει πρώτα να ενεργοποιήσετε το Wake on LAN στις ρυθμίσεις BIOS ή UEFI του υπολογιστή.
Εργαλεία όπως τα wakeonlan και etherwake το αποστέλλουν, αλλά δεν είναι πάντα εγκατεστημένα, και σε έναν διακομιστή ή NAS μπορεί να μη θέλετε να τα προσθέσετε.
Περιγραφή εργαλείου
Αυτό το εργαλείο δημιουργεί μια εντολή μίας γραμμής που αποστέλλει το πακέτο χρησιμοποιώντας ό,τι διαθέτει ήδη το Linux. Πληκτρολογήστε τη διεύθυνση MAC του υπολογιστή που θέλετε να ενεργοποιήσετε, σε μορφή 00:11:22:AA:BB:CC, 00-11-22-AA-BB-CC, 0011.22AA.BBCC ή ως 12 δεκαεξαδικά ψηφία στη σειρά, και επιλέξτε πώς θα αποσταλεί, στην επιλογή «Αποστολή με»:
- Python 3 ή Perl, που λειτουργούν σε bash και zsh, δεν απαιτούν πρόσβαση root και μπορούν να στείλουν εκπομπές
- Bash /dev/udp, που δεν απαιτεί εγκατάσταση, αλλά λειτουργεί μόνο σε bash, όχι σε zsh, και δεν μπορεί να στείλει εκπομπές
Η διεύθυνση εκπομπής ή IP ορίζεται αρχικά σε 255.255.255.255 και η θύρα UDP σε 9. Το Linux απαντά «Δεν επιτρέπεται η πρόσβαση» όταν το bash στέλνει σε διεύθυνση εκπομπής, επομένως το εργαλείο σάς προειδοποιεί αν επιλέξετε Bash με διεύθυνση που τελειώνει σε .255. Σε αυτήν την περίπτωση, χρησιμοποιήστε τη διεύθυνση IP του ίδιου του υπολογιστή.
Η εντολή δημιουργείται στο πρόγραμμα περιήγησής σας. Αντιγράψτε την και εκτελέστε την σε οποιοδήποτε μηχάνημα Linux στο ίδιο δίκτυο.
Παραδείγματα
Για τη διεύθυνση 00:11:22:AA:BB:CC, αποστολή εκπομπής μέσω Python 3 στη θύρα 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, με απευθείας αποστολή στον υπολογιστή στη διεύθυνση 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/9Λειτουργίες
- Εκδόσεις της εντολής για Python 3, Perl και bash
- Δέχεται διευθύνσεις MAC με άνω και κάτω τελείες, παύλες, τελείες ή χωρίς διαχωριστικά
- Προειδοποιεί όταν η έκδοση για bash δεν μπορεί να επικοινωνήσει με διεύθυνση εκπομπής