منشئ أوامر حزم الإيقاظ السحرية في Linux
أنشئ أمرًا أصليًا لـ bash أو zsh لإرسال حزمة إيقاظ عبر الشبكة المحلية من Linux. يستخدم Python 3 أو Perl أو bash /dev/udp، لذلك لن تحتاج إلى تثبيت wakeonlan أو etherwake.
الإدخال
الإخراج
ملف القراءة
ما حزمة Wake on LAN السحرية؟
تُشغّل ميزة Wake on LAN جهاز كمبيوتر في وضع السكون أو مغلقًا عبر الشبكة. وتظل بطاقة الشبكة مزوّدة بالطاقة وتستمع إلى حزمة سحرية: 6 بايتات من FF تتبعها 16 نسخة من عنوان MAC الخاص بالكمبيوتر، ليكون مجموعها 102 بايت. تُرسل الحزمة عادةً كبث UDP إلى المنفذ 9 أو 7، بحيث تستقبلها كل الأجهزة على الشبكة المحلية ولا يستيقظ إلا الجهاز المطابق. يجب تفعيل 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 إلى عنوان بث