1

Таким образом, вы можете проснуться по локальной сети, потому что кабели Ethernet не только для данных, они также передают силу тока. Если они напрямую подключены к материнской плате, может кто-нибудь скинуть пакет и выключить ваш компьютер. И это проще на хостах Windows.

1 ответ1

1

Очень часто встречается противоположное тому, о чем вы спрашиваете - Wake On LAN (WOL). Чтобы ответить на ваш вопрос, вам будет гораздо проще сначала это объяснить.

WOL

WOL требует наличия этих возможностей

  1. Сеть в выключенном ПК должна иметь встроенную поддержку в его драйвере.

  2. Материнская плата (BIOS) должна поддерживать режим низкого энергопотребления, который по-прежнему обеспечивает небольшое количество энергии для сетевой платы, когда ПК в противном случае выключен.

  3. Второй ПК / сетевое устройство должно быть в локальной сети (ради этого упрощенного примера - вы можете сделать это через Интернет) и на нем должно быть программное обеспечение для генерации специального пакета.

Когда ПК выключен, ПК, который выдаст команду на включение, создает волшебный пакет:

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

Этот пакет отправляется всем в локальной сети. Каждый сетевой адаптер проверяет в нем MAC-адрес и, если он совпадает, сообщает материнской плате о необходимости включения системы.


С UDP-пакетом

По твоему вопросу это намного проще. ПК работает, и MB/ NIC не нужно знать о специальном пакете. Простая программа или сценарий, использующий такую программу, как nc, может быть настроена на прослушивание пакета UDP на конкретном порту с предопределенным содержимым.

Поскольку UDP не использует соединение, никакие издержки (транзакционные пакеты) не задействованы. Достаточно одного пакета. После получения может произойти что угодно - выключить, запустить другую программу, удалить содержимое жесткого диска ...

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

Вы также можете, и в действительности ДОЛЖНЫ, работать с функциями безопасности в содержимом пакета, чтобы аутентифицировать пакет.

На самом деле это был бы достойный вводный проект для программирования сокетов.

Решение TCP

Использование TCP-пакета требует дополнительных и регулярных сообщений для поддержания работы сокета, что не соответствует вашим требованиям.

Но вы можете настроить правило брандмауэра на ПК, используя iptables, который идентифицирует пакет TCP, и преобразовать его в нечто, пригодное для использования в качестве триггера для запуска программы для выполнения желаемого действия. Немного капризный, но вполне выполнимый.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .