Apakah mungkin untuk mengimplementasikan paket magic wake-on-lan di bash? Saya menggunakan BusyBox yang sudah dikustomisasi dan tidak saya miliki ether-wake
. Apakah mungkin untuk menggantinya dengan beberapa perintah shell lainnya, seperti:
wakeonlan 11:22:33:44:55:66
busybox
wake-on-lan
michelemarcon
sumber
sumber
python
lihat code.activestate.com/recipes/358449-wake-on-lan dan masukkanalias
ini ke dalam.bashrc
Jawaban:
Anda memerlukan sesuatu yang mampu mengirim paket Ethernet yang akan dilihat oleh perangkat yang ingin Anda bangun.
The
ether-wake
perintah dalam BusyBox adalah persis apa yang Anda harapkan. Jika BusyBox Anda tidak memilikinya, pertimbangkan untuk mengkompilasi ulang BusyBox untuk memasukkannya.Jika Anda memiliki netcat "bloaty" yang cukup (BusyBox dapat memiliki satu dari dua
nc
implementasi, satu di antaranya hanya menangani TCP), Anda dapat mengirim paket UDP yang dibuat secara manual ke alamat broadcast segmen jaringan tempat perangkat terhubung.Utilitas BusyBox lain yang dapat Anda penyalahgunaan untuk mengirim paket itu
syslogd
.Jika MAC berisi byte nol, Anda tidak akan dapat membuat paket dengan mudah. Pilih byte yang tidak
\xff
dan itu tidak ada di MAC, katakan\x42
(B
), dan pipa melaluitr
.Jika Anda benar-benar memiliki bash (yang sangat tidak biasa pada perangkat dengan BusyBox - Anda yakin Anda benar-benar memiliki bash, dan bukan shell lain yang disediakan oleh BusyBox?), Ia dapat mengirim paket UDP dengan mengarahkan kembali ke
/dev/udp/$hostname/$port
.sumber
/dev/udp
dikenali oleh bash dan tidak benar-benar ada di sistem file, jadi cobalah.Saya pikir Anda dapat menggunakan
syslogd
tanpa-l
switch, asalkan mendukung-R
.Saya memiliki busybox
syslogd
withount-R
, tidaknc
atau tidakbash
dan saya masih terjebak.sumber
Saya memiliki server ssh yang menjalankan mimpi HTC lama. Versi busybox saya juga tidak menyertakan ether-wake dan saya tidak cukup ahli untuk mengkompilasi busybox saya sendiri. Untungnya saya berhasil membangunkan PC saya menggunakan:
Perhatikan bahwa ip siaran berbeda di jaringan saya.
Saya membuat file (mac2.txt) yang berisi paket ajaib pada PC saya dan mendorongnya ke server melalui SFTP. Karena mac saya memiliki byte nol, saya harus menggunakan tr untuk mengganti semua x42 byte dengan 00. Ini berfungsi seperti pesona.
sumber