Софт

Wake On Magic Packet

Рейтинг: 4.4/5.0 (87 проголосовавших)

Категория: Windows

Описание

Wake on magic packet

Учителю информатики - полезное

Включение компьютеров по локальной сети с помощью бесплатных утилит

Сучкова И.М. учитель информатики МОУ СОШ №56 г. Орска

WOL ( Wake-on-LAN ? пробуждение по локальной сети, англ).

Для включения компьютера по локальной сети необходимо, чтобы его сетевая карта поддерживала функцию Wake on Line. Если сетевая карта не встроенная, устаревшей модели с разъемом WOL, его нужно соединить с таким же на материнской плате соединителем из комплекта сетевой карты.

Включение опции пробуждения осуществляется в настройках BIOS, раздел Power - Power Up Control (Power Menagement Setup), необходимо дать разрешение (Enabled) в строке Wake On LAN or PCI modem (PME Event Wake Up ). Обычно опция включена по умолчанию.

Включить компьютер можно только из режима soft off - неполное отключение. В этот режим компьютер переходит после выключения средствами windows, кнопкой на клавиатуре или системном блоке, и находится в этом режиме до тех пор, пока системный блок (ATX) не будет отключен от сети. После полного отключения от сети (выключен УПС или сетевой фильтр, либо выдернут шнур питания) компьютер находится в режиме power off (полностью выключен), и поэтому после включения питания функция WOL не сработает. Необходимо хотя бы раз включить компьютер.
Чтобы не делать это вручную в начале рабочего дня, в BIOS можно установить функцию автовключения для автоматического включения компьютеров при включении питания, а уже в течение рабочего дня, не переходя в power off, осуществлять управление компьютерами с помощью специальных утилит.

В Интернете были найдены и испробованы бесплатные утилиты для формирования и отправки таких пакетов:
Magic Packet utility
Wake-on-LAN
и др.

Magic Packet utility1.00.005 создаcт список хостов в локальной сети (IP-адреса и mac-адреса). Позволяет включить как отдельный компьютер в произвольное время либо по расписанию, так и группу компьютеров в назначенное время. 925 кб.
Неудобства. включая отдельный компьютер, придется руками вбивать его mac-адрес :( причем ввод организован неудобно - по два символа в маленькие поля ввода без автоматического перехода курсора следующее поле и даже без перехода по стрелке вправо, приходится щелкать мышью.
Кроме того, невозможно включить компьютеры в произвольное время нажатием одной-единственной кнопки.

Wake-on-LAN 1.0.2 миниатюрнее своей товарки, всего 136 кб, не требует установки. При первом использовании программы необходимо для каждого компьютера в сели ввести имя или IP-адрес компьютера и нажать кнопку MAC для получения его физического адреса. Для включения компьютера необходимо нажать OK. При последующих запусках можно выбирать компьютер по имени из всплывающего списка.

Список адресов можно редактировать из меню Файл пунктами Добавить (Удалить), кроме того, можно делать экспорт и импорт списка.

Автор указывает, что программа умеет работать с командной строкой. К сожалению, запуск из командной строки, пример которого приведен на сайте автора, не сработал. Но зато удалось запустить программу с использованием пакетного файла. Такую возможность очень удобно использовать для включения группы компьютеров в любое время.

На практике это реализуется так. Создаете текстовый файл, в котором даете команду на запуск программы с параметрами включаемых компьютеров:
start c:\wol.exe COMP2 192.168.0.2 00ААEA2FFD15
start c:\wol.exe COMP6 192.168.0.6 0EE01877885F
start c:\wol.exe COMP7 192.168.0.7 00EF1557BEDE

Или более короткий вариант:
start c:\wol.exe COMP2 192.168.0.2 00ААEA2FFD15 COMP6 192.168.0.6 0EE01877885F COMP7 192.168.0.7 00EF1557BEDE

В данном случае программа wol.exe находится на диске с. в случае другого расположения указываете нужный адрес (разумеется, с соблюдением правил его записи). Сохраняете этот текстовый файл, меняете ему имя и расширение, например, Включить.bat. Теперь при запуске этого файла указанные в нем компьютеры включатся. Окно программы при этом не откроется, процесс wol.exe после пуска компьютеров завершается сам.

Что же касается программы WakeUp, различные версии которой лежат на многих сайтах, то выяснилось, что WakeUp версии 1.6 не работает вообще. Сколько на кнопки не нажимай, никакого результата нет, даже если заполнить список настроек самостоятельно (перепробованы разные варианты). Кроме того, надписи на кнопках не читаются.

Сучкова Т.М. 2007

Wake on magic packet:

  • скачать
  • скачать
  • Другие статьи, обзоры программ, новости

    Включаем компьютер по сети - aleksandr - ru

    Включаем компьютер по сети

    Технология Wake-on-LAN известна давно, но применяется не часто. В моем случае встала задача включать домашний компьютер из офиса. Казалось бы все просто, но требовалось не только включить, но и понять включился-ли он в автоматическом режиме. В общем ситуация отображена на схеме:

    С удаленного компьютера у меня есть доступ по SSH к моему домашнему серверу, который постоянно включен. С этого сервера будет отправляться команда на включение соседнего компьютера. Все выглядит вполне просто, пока речь не заходит о проверке, включился компьютер или нет силами того, кто его пытался включить. Но обо всем по порядку.

    Wake-on-LAN

    Википедия говорит нам. что сетевой адаптер управляемого компьютера находится в режиме пониженного энергопотребления, просматривая все пакеты, приходящие на его MAC-адрес, и ничего не отвечая на них. Если одним из пакетов окажется magic packet, сетевой адаптер выдаст сигнал на включение питания компьютера. Magic packet — это специальная последовательность байтов, которую для нормального прохождения по локальным сетям можно вставить в пакеты UDP или IPX. Обычно для WOL пакеты протоколов верхнего уровня рассылают широковещательно, так как в случае динамического присвоения адресов неизвестно, какой, скажем, IP-адрес соответствует какому MAC-адресу. Однако, для корректного прохождения через маршрутизатор, запрещающий широковещательные пакеты, можно послать пакет по какому-то определённому адресу. В начале пакета идет так называемая «цепочка синхронизации»: 6 байт, равных 0xFF. Затем — MAC-адрес сетевой платы, повторённый 16 раз.

    На управляемом компьютере должна быть аппаратная поддержка (ну это есть у всех современных плат и сетевых карт), идеальным случаем является компьютер со встроенной сетевухой. Возможность включения по сети нужно разрешить в БИОСе в разделе Power Management. Пункт обычно называется Wake-On-Lan from Soft-off или Resume by MAC. нужно поставить Enabled.

    Также (особенно если сетвуха не встроенная) можно поковыряться в дополнительных параметрах сетевухи через ОС. В Windows заходим в диспетчер устройств. там находим нужный сетевой адаптер, заходим в свойства и на вкладке дополнительно разрешаем Wake-On-Lan.

    В случае UNIX-подобной ОС ethtool и гугль в помощь ;)

    Управляющий (пробуждающий ;) скрипт

    Поскольку команда на включение будет даваться с сервера под управлением Linux (Ubuntu), то рассказ дальше пойдет про Linux. В случае Windows существует масса инструментов для включения соседних компов, как у них обстоят дела с проверкой включенности - не знаю. Также обращаю внимание, что оба компьютера находятся в одном сегменте сети.

    Для начала понадобится инструмент для включения по сети - он так и называется wakeonlan.

    apt-get install wakeonlan

    Теперь если в консоли сказать

    он отправит magic packet и компьютер включится. Если МАК не известен, то поможет команда arp .

    Теоретически, после отправки magic packet, целевой компьютер включается, загружается и все проходит успешно. На практике все выглядит немного иначе: если был длительный перебой в питании у включаемого компьютера, то он может и не среагировать на команду wake-on-lan, или он может быть просто отключен от сети, или может включиться, но не загрузиться и еще масса чего другого. Именно по этому и нужно иметь понимание о происходящем после отправки команды на включение.

    Идея метода определения включился-ли компьютер заключается в следующем: мы отправляем magic packet и потом пингуем целевой комп. Если получаем ответ на пинг - считаем, что все прошло успешно. Если в течении 90 секунд (примерно столько уходило на загрузку в моем случае) ответ не получен - то решаем, что включить не удалось.

    Для реализации метода мной был написан скрипт, который знает МАК включаемого компа, отправляет ему magic packet, далее в течении 90 секунд пытается найти IP а ARP таблице и пинговать его. Получилось вот так

    IP=''
    n=0
    while [ $n -lt $SEC ]
    do
    if [ $IP ]
    then
    ping -c 1 -q -W 1 $IP | grep '0 received'
    if [ $? -gt 0 ]
    then
    echo "Wake OK (completed in $n seconds)"
    exit 0
    fi
    else
    sleep 1
    echo "Looking for IP in ARP table ($n)"
    IP=`arp | grep $MAC | awk '< print $1 >'`
    fi
    n=`expr $n + 1`
    done
    echo "Wake failed (no response within $SEC seconds)"
    exit 1

    Этот скрипт выводи на экран вполне читаемые данные о своих действиях и результатах. Для меня это стало удобным инструментом.

    Wake On Lan и Linux

    OpenSource в заметках Wake On Lan и Linux

    Удалённое выключение Linux-системы не представляет особого труда, лишь бы был доступ к SSH. А вот с аппаратным включением системы дело обстоит несколько иначе. В этой статье я расскажу о том, что и как необходимо сделать, чтобы удалённо включить компьютер, поддерживающий технологию Wake On Lan. Wake On Lan поддерживается практически во всех современных материнских платах. Для того, чтобы иметь возможность разбудить компьютер удалённо, необходимо, чтобы в нём был установлен источник питания ATX версии не ниже 2.01, материнская плата, поддерживающая Wake On Lan, а также сетевая плата с поддержкой этой технологии.

    Настройка

    Определить, поддерживает ли материнская плата вашего компьютера Wake On Lan, можно. зайдя в настройки CMOS Setup в раздел настроек управления питанием. Найдите там опцию «Wake On Lan» и убедитесь, что она включена.

    После загрузки системы установите, если необходимо, пакет ethtool. при помощи которого можно в том числе и переключать сетевую плату в режим пробуждения по сигналу Wake On Lan от других машин:

    Навигация по записям

    Wake on magic packet

    Wake-on-LAN

    Удаленное включение компьютеров по сети — очень полезный функционал, который совершенно напрасно недооценивается большинством системных администраторов. Установка обновлений, дефрагментация, поиск вирусов и многие другие задачи можно выполнять в нерабочее время, при этом совершенно необязательно заставлять пользователей оставлять свои компьютеры включенными. Достаточно лишь активировать функционал Wake-on-LAN в BIOS, не забыв при этом обратить внимание на настройку энергосберегающих технологий в режиме ожидания, и настроить функцию управления питанием в ОС. В настоящее время Wake-on-LAN — это не только «магический пакет», а целый набор разнообразных технологий, работоспособность которых зависит от функционала сетевого адаптера. Подробное описание поддерживаемых технологий, а также о настройке параметров питания сетевых адаптеров можно прочитать на Технете .

    Для включения управления питанием сетевых адаптеров, а также активации дополнительных способов пробуждения можно воспользоваться следующим модифицированным скриптом:

    Если в выделенной жирным строчке изменить False на True, то для пробуждения будут использоваться только магические пакеты. На мой взгляд, не стоит намеренно ограничивать себя в технологиях пробуждения, т.к. например, Агент администрирования Kaspersky Security Center позволяет пробуждать компьютеры с помощью битовых шаблонов.

    Поделиться:

    Wake-On-Lan ( WOL ) - удаленное включение электропитания

    Технология Wake On Lan.

          Технология включения электропитания ("пробуждения") компьютера является частью спецификации ACPI (Advanced Configuration and Power Interface). интерфейса управления электропитанием. Иногда его еще называют интерфейсом доступа к энергосбререгающим функциям аппаратного обеспечения. Дистанционное включение компьютера - небольшая и далеко не основная часть этой спецификации. Описание ACPI легко найдете в интернете (описание ACPI 2.0 содержит более 400 страниц).

    Спецификация определяет состояния системы S1-S5 - "состояния сна" в порядке уменьшения энергопотребления. S5 - это состояние программного выключения (Soft OFF) - все выключено, за исключением тех устройств, через которые возможно включение компьютера. Для питания таких устройств используется дежурное напряжение +5V SB (+5V Standby), вырабатываемое блоком питания компьютера в выключенном, но не обесточенном состоянии. Для перехода из одного состояния S1-S4 в другое (S2 в S1 например) используются PME (Power Management Events) - события управления электропитанием, большая часть которых вызывается аппаратным прерыванием от конкретного устройства.
    Описание спецификации ACPI на русском языке.

          Технология "Wake On Lan" (технология "Magic packet") используется для включения электропитания удаленного компьютера, находящегося в состоянии программного выключения ("Soft Off") путем посылки на его сетевой адаптер специально сформированного кадра Ethernet.
        Удаленный компьютер должен отвечать определенным требованиям:
    - Оборудование должно соответствовать спецификации ACPI и в настройках BIOS должна быть включена поддержка режима "Wake On Lan".
    - Иметь блок питания ATX.
    - Иметь сетевую карту, поддерживающую технологию "Wake On Lan" (WOL).

          Сетевой адаптер на выключенном компьютере остается под питанием от +5VSB блока питания в режиме ожидания приема специального кадра Ethernet, в поле данных которого присутствует последовательность из 6 байт FF и его собственного MAC - адреса, повторенного 16 раз. Получив такой пакет адаптер вырабатывает сигнал включения электропитания компьютера.
    Ниже приведено содержимое пакета, полученное с помощью анализатора трафика.

    Адрес приемника (первые 6 байт поля кадра) - FFFFFFFFFFFF (Broadcast), адрес источника - 0015F20016CA (6 байт после адреса приемника) В области 16-ричного дампа красным цветом выделено поле данных. MAC - адрес включаемого компьютера равен 00046175F9DA.
        Практически все современные сетевые адаптеры PCI и материнские платы поддерживают данную технологию, однако есть некоторые тонкости. Если материнская плата имеет шину PCI спецификации до 2.2 (большинство моделей на базе процессоров Pentium II и Pentium III). то на ней должен быть 3-х штырьковый разъем "Wake On Lan" и такой же разъем должен быть на сетевом адаптере. Их нужно соединить специальным кабелем, входящим в комплект поставки адаптера. Для случая с шиной PCI 2.2 такое соединение уже выполнено напрямую. Если у вас компьютер Pentium II или старше - Wake On Lan должна работать.
          В настройках BIOS современных материнских плат термин "Wake On Lan" практически не используется. Ищите близкое по смыслу значение в настройках раздела управления электропитанием ("Power Management Setup", или "ACPI Configuration" и т.п.), например, "Wake-Up by PCI device", "Power on by Ethernet Card" и т.п.

    Ниже приведен пример настроек раздела "Power - APM Configuration" AMI BIOS v2.61:

    Для включения режима Wake On Lan необходимо установить пункт "Power On By PCI Devices" в "Enabled".

    На всякий случай, значение остальных опций:

    Restore on AC Power Loss - поведение системы при пропадании электропитания. Значение Power Off - система останется в выключенном состоянии, Power On - будет выполнено включение компьютера, как только электропитание будет восстановлено.
    Power On By RTC Alarm - включение электропитания по внутренним часам компьютера (аналог будильника).
    Power On By External Modems - включение электропитания будет выполняться при входящем звонке на внешний модем, подключенный к последовательному порту.
    Power On By PCIE Devices - разрешает включение компьютера от устройств на шине PCI-E. Если ваша сетевая карта использует шину PCI-E, а не PCI, то для включения режима Wake On Lan нужно установить эту опцию в "Enable".
    Power On By PS/2 Keyboard - разрешает включение электропитания от клавиатуры, подключенной к разъему PS/2

          Ну, и последнее, что необходимо для включения электропитания компьютера через локальную сеть - это программа, генерирующая WOL - пакет (Magic Packet). Ее несложно найти в сети. Один из вариантов - broadc.exe - утилита для включения компьютера по локальной сети. (скачать, 32кб)
    Формат командной строки:

    broadc.exe MAC-адрес сетевой карты 255.255.255.255 67
        Примеры использования:
    bbroadc.exe 0002b3d8b4e6 255.255.255.255 67 - включить компьютер, MAC - адрес сетевой карты которого равен 0002b3d8b4e6 .


    Вариант для Linux - wakeonlan - (скачать,

    5кб)
    По умолчанию программа использует для посылки Magic Packet'а широковещательный адрес и UDP-пакет на порт 9 (discadrd). Поэтому внутри локальной сети для включения компьютера достаточно задать MAC-адрес сетевой карты в виде 00:01:02:03:04:05
    Формат командной строки:

    wakeonlan MAC-адрес

        Примеры дистанционного включения и выключения компьютера в нужное время можно найти в разделе Windows Автоматизация с помощью nncron Lite.

        Использовать данную технологию можно не только в локальной сети, но и в Интернет, надо только учитывать тот факт, что сформированный Magic Packet будет проходить через маршрутизаторы, т.е должен содержать правильные IP и MAC-адреса. Упомянутая выше программа Broadc.exe не позволяет сформировать MAC адрес-приемника в заголовке кадра Ethernet отличный от FFFFFFFFFFFF (Broadcast), поэтому такой пакет до получателя (удаленно включаемого компьютера) не дойдет, поскольку маршрутизаторы блокируют широковещательные пакеты. Для формирования Magic Packet'а, обеспечивающего удаленное включение компьютера в чужой сети можно воспользоваться утилитой wol.exe -(скачать,

    5кб). При меньшем, чем у broadc.exe размере, программа обладает несколько большими возможностями. В параметрах командной строки можно указать имя текстового файла, содержащего список MAC - адресов компьютеров для удаленного включения. Пример содержимого :

    # maclist - mac addresses for wakonlan     - строка начинающаяся с # не обрабатывается - это комментарий
    00:BA:BE:FA:CE:00 PC1     - Включить по MAC -адресу
    00:11:22:33:44:5A PC2
    195.210.128.3-01:12:23:34:45:67 SERVER.COM     - Включить по IP плюс MAC
    0xC0A801F0-12:23:34:45:56:67 HOST.RU     - То же, что и впредыд. случае, но IP в шестнадцатеричном виде.

    По умолчанию программа формирует UDP пакет на порт 60000. Номер порта можно изменить. Примеры:

  • Включить компьютер в локальной сети с MAC=01:02:03:04:05:06

  • Включить компьютер с использованием IP=212.248.111.222 и MAC=00:00:00:00:00:99:

  • То же самое но использовать в формируемом пакете номер порта = 4096:

    wol.exe -p=4096 212.248.111.222-00:00:00:00:00:99

    Учтите, что IP-адрес в параметрах запуска - это не IP - адрес включаемого компьютера. а адрес включенного и доступного узла, обеспечивающего передачу пакета конечному получателю, т.е. выключенному компьютеру. Выключенный компьютер не имеет загруженных драйверов и его IP -адрес не может быть увязан с MAC-адресом (ARP-протокол) - wol завершится ошибкой разрешения IP. Довольно распространенная причина того, что Wake On Lan "не работает" - использование в параметрах программ для включения, IP - адреса включаемого компьютера.

        Данную утилиту (wol.exe) я успешно использовал для включения компьютера в сети "Стрим". Маршрутизатор, через который подключается компьютер к Интернет, настраивается таким образом, чтобы пакет, сформированный утилитой wol.exe и пришедший на определенный порт (например 4009) направить в локальную сеть c широковещательным MAC-адресом. Обычно сетевая плата принимает только те фреймы, адрес назначения которых совпадает с аппаратным адресом интерфейса (свой MAC-адрес) или с широковещательным адресом (адрес FFFFFFFFFFFF). В настройках ADSL-модема Zyxel P660RU2 (Network-NAT-Port Forwarding) создается правило для перенаправления принятого пакета на широковещательный адрес 192.168.1.255:

    Команда на включение:

    wol.exe -p=4009 <IP ADSL-модема>-<MAC-адрес сетевой карты компьютера>

    wol.exe -p=4009 85.140.21.22-00:00:A0:80:87:99

        И еще один момент - удаленное включение электропитания не срабатывает если компьютер был полностью обесточен, например, при пропадании

    220В. В таких случаях для обеспечения его самостоятельного включения можно использовать установку режима BIOS в разделе "Power Management Setup" - "Power on after power fail" или подобного ему по смыслу ("After AC Power Lost" - "POWER ON" - название зависит от версии и производителя BIOS). После появления

    220В компьютер должен включиться самостоятельно, без нажатия кнопки "Power".

        Практика использования Wake On Lan выявила еще один момент, - некоторые компьютеры при разрешении режима включения по сети в настройках BIOS, включают электропитание самостоятельно, даже не получив кадр с Magic Packet'ом. Причиной данного явления является то, что у некоторых сетевых карт (замечено у Intel, 3COM) для включения электропитания по локальной сети используют не только WOL, но и другие события (Wake on ARP, Wake on Link Change и т.п.), при чем, по умолчанию задействованы сразу несколько критериев включения. Нужно убрать из настроек адаптера (как правило, с помощью специальной утилиты) лишние условия, и все будет работать правильно.
        Пример, для сетевого адаптера Intel(R) PRO/100VE. С помощью утилиты Intel(R) PROSet II (поставляемой с адаптером) убираем галочки со всех событий, кроме "Wake on Magic Packet":

    После сохранения настроек, ваш компьютер будет включаться только при получение Magic Packet'a.

        Иногда разрешения режима удаленного включения электропитания по локальной сети в настройках BIOS бывает недостаточно. Обычно это связано с особенностями конкретного типа сетевого адаптера. Объясню на примере сетевой карты на чипсете Atheros (контроллер AR8121/AR8113/AR8114 PCI-E Ethernet Adapter). После установки режима Power On by PCI-E Device в настройках BIOS материнской платы, удаленное включение электропитания компьютера не происходит. В свойствах сетевого подключения для данного адаптера имеется кнопка Настроить

    В свойствах сетевого контроллера имеется вкладка Дополнительно.

        В данном окне можно просмотреть или изменить некоторые параметры и режимы работы выбранной сетевой карты. В частности, по умолчанию, режимы Пробуждение после выключения и Возможности пробуждения установлены в Нет. Именно по этой причине удаленное включение электропитания не выполняется. После установки разрешения режим пробуждения и типа кадра Magic Packet все должно заработать, как положено.

        Для тех, кому требуется программное обеспечение с графическим интерфейсом пользователя, могу посоветовать миниатюрную и очень простую в использовании утилиту wakeup.exe -(скачать,

    Определение MAC-адреса сетевой карты.

          В LINUX для этих целей можно использовать утилиту arping :

    arping < IP-адрес >
    Например:
    arping 192.168.0.1

        В Windows можно воспользоваться командой arp. позволяющей выдать содержимое ARP-кэша на экран. Чтобы кзш был актуален для требуемого IP-адреса, перед командой arp можно выполнить ping. т.е. выполнить последовательно.

    ping < IP >
    arp -a
      например:
    ping 192.168.0.1
    arp -a

    Кстати, этим же способом можно воспользоваться и в LINUX.

        Собственный MAC-адрес можно определить с помощью команд:

    В LINUX
    ifconfig < интерфейс >     например - ifconfig eth0

    В Windows
    ipconfig /all

    В Windows XP и выше для получения MAC-адреса своей сетевой карты можно воспользоваться консольной командой getmac.exe


    Вы можете поделиться ссылкой на данный сайт в своей социальной сети, воспользовавшись кнопкой:


    Или порекомендовать сайт пользователям Google+ кнопкой