Нужно ли отправлять «волшебный пакет» на определенный порт, чтобы он сработал?

Нужно ли отправлять «волшебный пакет» на определенный порт, чтобы он сработал?

Я читал, что для этого нужно отправить пакет WOL (пробуждение по локальной сети) на порт 7 или 9 целевой машины (с включенной функцией WOL в оборудовании), чтобы это сработало.

Правильно ли это? Если нет, то как обрабатывается пакет WOL?

решение1

Волшебный пакет обязательно не является пакетом вообще, он должен состоять из кадра, поэтому ему просто нужна допустимая полезная нагрузка, содержащая магическую строку. Вы можете поместить в него пакет и сегмент, но они фактически не обрабатываются уровнями IP и TCP/UDP.

Отhttps://en.wikipedia.org/wiki/Wake-on-LAN#Magic_packet:

Магический пакет представляет собой широковещательный кадр, содержащий в своей полезной нагрузке 6 байтов из всех 255 (FF FF FF FF FF FF в шестнадцатеричном формате), за которыми следуют шестнадцать повторений 48-битного MAC-адреса целевого компьютера, что в общей сложности составляет 102 байта.

Поскольку магический пакет сканируется только на наличие указанной выше строки и фактически не анализируется полным стеком протоколов, он может быть отправлен как любой протокол сетевого и транспортного уровня, хотя обычно он отправляется как датаграмма UDP на порт 7 или 9 или напрямую через Ethernet как EtherType 0x0842.

поэтому ответы на ваши вопросы — нет и да соответственно. вам вообще не нужно использовать протокол верхнего уровня, пакет IP не обязательно должен быть адресован целевой машине, а порты на самом деле вообще не прослушивают и не получают датаграмму WOL; уровень Datalink сканирует полезную нагрузку на предмет магической строки, и если она найдена, вообще не передает полезную нагрузку на сетевой уровень для обработки. Многие реализации используют UDP\7 (Echo) и UDP\9 (Discard), вероятно, для того, чтобы системы, не поддерживающие WOL, не обрабатывали пакет потенциально небезопасным способом. В таких системах сегмент будет получен верхними уровнями.

Однако следует отметить, что хотя WOL на 100% реализован в оборудовании и драйверах, его соответствие различается от поставщика к поставщику и от устройства к устройству, поэтому он часто бывает капризен.

Связанный контент