Лучшие программы wake-on-lan для windows

Wake-on-LAN over the Local Area Network

These tools will allow you to send the magic packet and start another computer in your local network.

1. Nirsoft WakeMeOnLan

WakeMeOnLan is another useful and portable utility from NirSoft that displays a list of computers on the network and allows you to switch one or all of them on with the click of a button. Scan the network by pressing F5 and it will display all connected computers. For a computer you want to send the magic packet to, either make sure it’s on before scanning or add it manually from the File menu (Ctrl+N).

Select the computer to start and click the Wake button (F8). The list of computers is saved and will be loaded the next time you start the program. Options like changing the port, sending the magic packet xx times, and the broadcast address can be changed in the settings. WakeMeOnLan has command line options and a computer can be started by either its IP address, name, MAC address or even the predefined text description you give it.

2. WakeOnLANx

WakeonLANx is a compact and portable tool that can perform a number of tasks in addition to Wake-on-LAN. These include pinging target computers, remote reboot/shutdown, retrieving last boot time, getting drive space usage or service status, starting a remote desktop connection, and creating a schedule for remote startups and shutdowns.

Adding a remote computer is not automatic and you have to do it manually. Click the Add button and supply either a MAC address only or IP address and then MAC address on the same line. Make sure to put a hash (#) before any MAC. For example, “#00-24-75-41-4F-9A” or “192.168.0.10#00-24-75-41-4F-9A” will work. The broadcast address and port can be changed by right clicking on any of the entries.

3. FUSION WOL

This free utility dates back to 2005 but still works well. We’re not sure why it comes only as an installer because FUSION WOL is a 125KB standalone executable. As the tool has pretty much been abandoned by its developer, we’ve zipped up the file (and its help PDF) to make it portable.

You only need to supply a MAC address to turn on another computer. If you don’t know what that is, supply the IP address and click Get MAC. FUSION WOL has the ability to get the MAC address from an IP address, even if the target computer is off. The password box can be left blank unless you know one is needed. Entering an IP address at the bottom will tell you if the target computer is currently on or off.

Настройка режима удалённого пробуждения компьютера в BIOS

Для успешной работы компьютера в режиме Wake-On-Lan, помимо соблюдения технических требований поддерживаемых стандартов, и соответствующей настройки сетевой карты – необходимо также включить соответствующий режим работы в BIOS компьютера.

Перезагрузите (включите) компьютер, и с первых секунд начала загрузки непрерывно нажимайте клавишу “F2” или “DEL”, в зависимости от версии BIOS. Далее нам нужно найти соответствующую настройку BIOS, которая позволяет включить режим Wake-On-Lan. Как правило, данная опция находится в разделе BIOS “Конфигурация” (Configuration) или “Управление питанием” (Power management). Но в силу того, что на рынке персональных компьютеров версий BIOS достаточно большое количество, и между собой они сильно различаются в плане построения интерфейса, то однозначно написать, где находится опция включена WOL – затруднительная задача.

Даже само название технологии удалённого включения может называться по-разному, в зависимости от модели и версии BIOS, платформы ПК (MAC, Windows, Linux). Помимо исходного названия “Wake-On-Lan”, посмотрите примеры возможных альтернативных вариантов названий, из списка:

После того, как опция найдена, выберите вариант её режима работы как “Включено” или “Enabled”, если BIOS на английском языке. Всё, настройки BIOS на этом закончены. Для сохранения изменений нажмите клавишу “F10”, или в пункте меню BIOS найдите пункт “Сохранить и выйти”, подтвердите в открывшемся окне правильность выбора варианта выхода (с сохранением), нажав ОК. Компьютер уйдёт в перезагрузку с уже новым заданным параметром BIOS.

Реализация

Включаем поддержку в BIOS на ведомом компьютере. Это может быть одноименный пункт наподобие , либо и т.д. Возможно также, что этот режим в BIOS не меняется, а материнская плата поддерживает его по умолчанию.

Чтобы определить, поддерживает ли сетевая карта WoL, — загружаем ведомый компьютер и набираем в консоли:

ethtool eth0

Settings for eth0:
        Supported ports: 
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: external
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: d
        Link detected: yes

Нас интересуют строчка и . Первая показывает доступные режимы сетевого адаптера на пробуждение ( — как раз пробуждение по Magic Pocket), а вторая — текущий режим ( означает выключенный WoL).

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

ethtool -s eth0 wol g

Для выключения режима WoL:

ethtool -s eth0 wol d

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

Добавим настройку включения режима WoL на всех сетевых адаптерах, которые его поддерживают:

/etc/conf.d/net

preup() {
   if ethtool $1 | grep "Supports Wake-on:" | grep g >/dev/null;
     then
       ethtool -s $1 wol g
     fi
}

Для получения MAC-адреса сетевого адаптера на ведомом компьютере можно выполнить команду на ведомом компьютере:

ifconfig -a

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.1  netmask 255.255.225.0  broadcast 10.0.0.255
        inet6 fde1:92f6:649a:0:724d:7bff:feb7:406e  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::724d:7bff:feb7:406e  prefixlen 64  scopeid 0x20<link>
        ether 00:01:02:03:04:05  txqueuelen 1000  (Ethernet)
        RX packets 4129968  bytes 1885750720 (1.7 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2068548  bytes 985677562 (940.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xf7000000-f7020000

или выполнить на ведущем компьютере команду, которая отобразит ARP-кэш:

arp

Address                  HWtype  HWaddress           Flags Mask            Iface
10.0.0.1                 ether   00:01:02:03:04:05   C                     eth0
10.0.0.2                 ether   06:07:08:09:0a:0b   C                     eth0
10.0.0.3                 ether   0c:0d:0e:0f:10:11   C                     eth0

Для того, чтобы все компьютеры сети попали в кэш, можно воспользоваться утилитой , которая пропингует компьютеры в сети и их MAC-адреса попадут в кэш:

nmap -v -Sp 10.0.0.0/24

Для пробужения компьютера воспользуйтесь утилитой на ведущем компьютере:

wol MAC-адрес

При работе с программами следует учитывать, что не все компьютеры включаются сразу после подключения в электрическую сеть. Это связано с отсутствием процесса инициализации подачи питания на сетевую карту (компьютер еще не включался и не знает, какие устройства следует питать, чтобы получать специальные сигналы, среди которых будет «магический пакет»). Поэтому следует произвести одно предварительное включение вручную. Если существует необходимость избавиться от данной проблемы (например, сервер закрывается на ключ или находится очень далеко), следует установить в BIOS параметр питания в значение .

Примеры

Исходники

Задача написания программы, посылающей магический пакет, достаточно проста и часто дается как учебная при изучении основ работы с сетью. Ниже представлено два примера таких программ в исходных кодах:

Код на C#

using System;
using System.Net.Sockets;
using System.Net;
using System.Collections.Generic;

namespace Wol
{
    class Program
    {
        static void Main(string[] args)
        {
            using (UdpClient udpClient = new UdpClient())
            {
                Console.WriteLine("Enter mac address");
                byte[] mac = StrToMac(Console.ReadLine());
                udpClient.Send(mac, mac.Length, new IPEndPoint(IPAddress.Broadcast, 9));
            }
        }

        static byte[] StrToMac(string s)
        {
            List<byte> arr = new List<byte>(102);

            string[] macs = s.Split(' ', ':', '-');

            for (int i = ; i < 6; i++)
                arr.Add(xff);

            for (int j = ; j < 16; j++)
                for (int i = ; i < 6; i++)
                    arr.Add(Convert.ToByte(macsi], 16));

            return arr.ToArray();
        }
    }
}

Код на Delphi

Адаптирован для версии Delphi7.

unit WOL;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent,IdComponent,IdUDPBase,IdUDPClient,IdGlobal,
  StdCtrls;

type
  TForm1 = class(TForm)
    Edit1 TEdit;
    Button1 TButton;
    procedure Button1Click(Sender TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1 TForm1;

implementation

{$R *.dfm}

type
  TMACAddress = packed record
    case integer of
     (s1,s2,s3,s4,s5,s6  byte; );
    1 (cmp1word; cmp2integer;);
  end;
 
  TWakeupMagicPacket = packed record
    FillFF  array ..5 of byte;
    Mac   array ..15 of TMACAddress;
  end;
 
function TryStrToMac(strstring; var macTMACAddress)boolean;
var a,binteger;
const ToHex = '0123456789ABCDEF';
begin
  Result:=false;
  str:=AnsiUpperCase(trim(str));
  if length(str)<17 then begin
    mac.cmp1:=;
    mac.cmp2:=;
    exit;
  end;
  a:=pos(str1,ToHex)-1; b:=pos(str2,ToHex)-1;
  if((a>=)and(b>=)and(str3='-')) then mac.s1:=a*16+b else exit;
  a:=pos(str4,ToHex)-1; b:=pos(str5,ToHex)-1;
  if((a>=)and(b>=)and(str6='-')) then mac.s2:=a*16+b else exit;
  a:=pos(str7,ToHex)-1; b:=pos(str8,ToHex)-1;
  if((a>=)and(b>=)and(str9='-')) then mac.s3:=a*16+b else exit;
  a:=pos(str10,ToHex)-1; b:=pos(str11,ToHex)-1;
  if((a>=)and(b>=)and(str12='-')) then mac.s4:=a*16+b else exit;
  a:=pos(str13,ToHex)-1; b:=pos(str14,ToHex)-1;
  if((a>=)and(b>=)and(str15='-')) then mac.s5:=a*16+b else exit;
  a:=pos(str16,ToHex)-1; b:=pos(str17,ToHex)-1;
  if((a>=)and(b>=)) then mac.s6:=a*16+b else exit;
  Result:=true;
end;
 
function TryWakeUpComputer(const MacAddress string)boolean;
var i       integer;
    mac     TMACAddress;
    pkt     TWakeupMagicPacket;
begin
  Result := false;
  if not TryStrToMac(MacAddress,mac) then exit;
  FillChar(pkt.FillFF,SizeOf(pkt.FillFF),$FF);
  for i:= to High(pkt.Mac) do pkt.Maci:=mac;
  with TIdUDPClient.Create(nil) do try
    BroadcastEnabled := True;
    Host := '255.255.255.255';
    Port := 9;
    SendBuffer(pkt,sizeof(pkt));
    Result := true;
  finally
    Free;
  end;
end;

procedure TForm1.Button1Click(Sender TObject);
begin
  if not TryWakeUpComputer(Edit1.Text) then  \\Мак вида BC-AE-C5-8E-0A-2C
  begin
    // Do something...
showmessage('ERROR');
  end;
end;

How to use Wake-on-LAN

Now that the computer is set up to use Wake-on-LAN, you need a program that can send the magic packet required to instigate the startup. TeamViewer is one example of a free remote access tool that supports Wake-on-LAN. Since TeamViewer is made specifically for remote access, its WoL function is handy when you need into your computer while away but forgot to turn it on before you left.

TeamViewer can use Wake-on-LAN in two ways. One is through the network’s public IP address, and the other is through another TeamViewer account on the same network (assuming the other computer is on). This lets you wake the computer without configuring router ports since the other local computer that has TeamViewer installed can relay the WoL request internally.

One Wake-on-LAN tool that runs on Ubuntu is called powerwake. Install it with the following command:

sudo apt-get

Once installed, enter powerwake followed by the IP address or hostname that should be turned on, like this:

powerw

or:

powerwake

Как включить Wake-On-LAN

Для того, чтобы начать использовать Wake-On-LAN, существует несколько вариантов его включения. Самый простой — через BIOS материнской платы. Другой вариант через специальную утилиту от производителя вашей материнской платы или сетевой карты.

В BIOS

Большинство старых компьютеров и многие современные имеют собственные настройки Wake-On-LAN, зашитые в BIOS. Для того, чтобы войти в BIOS, Вам нужно нажать на кнопку DEL или F1 или F2 при загрузке компьютера, После входа в BIOS перейдите в настройки питания (Power) или Дополнительные настройки (Advanced Options).

В UEFI BIOS настройка включения Wake-On-LAN обычно находится в дополнительных опциях, иногда — в разделе Включение питания PCIE / PCI.

Также производители материнских плат называют технологию иначе: Aggresslive Link от ASRock, ErP от Gigabyte, PME от ASUS.

В операционной системе Windows

Вы также можете включить Wake-On-LAN в операционной системе. Как это сделать в Windows. Откройте меню ПУСК и введите Диспетчер устройств. После открытия Диспетчера устройств разверните раздел Сетевые адаптеры. Щелкните правой кнопкой мыши на сетевой карте и выберите Свойства, затем перейдите на вкладку Дополнительно.

Прокрутите список, и найдите Wake on Magic Packet, Wake on LAN — каждый производитель называет эту настройку на свой лад. Измените значение на Enabled, если оно выключено.

Теперь перейдите на вкладку Управление электропитанием, и убедитесь, что опция Разрешить устройству будить компьютер включена. Дополнительно можно установить галку напротив Разрешить только волшебному пакету будить компьютер.

В macOS

Откройте системные настройки и выберите Энергосбережение. Отметьте опцию Wake for Network Access или что-то подобное. Это позволит включить Wake-on-LAN.

В Linux

У Ubuntu есть отличный инструмент, который может проверить, поддерживает ли сетевая карта Wake-on-LAN и можно ли его включить. Откройте терминал и установите ethtool, используя следующую команду:

А поддержку Wake-on-LAN можно, запустив:

Если у Вас сетевой интерфейс другой eth1, eth2, eth3 и так далее, замените его.

Найдите пункт Wake-on. Чтобы включить эту опцию, используйте следующую команду:

Повторно запустите команду Sudo ethtool eth0, чтобы убедиться во включении. Должно быть Wake-on: g.

Требования к оборудованию

Поддержка Wake-on-LAN реализована на материнской плате компьютера и сетевой карте и, следовательно, не зависит от операционной системы, работающей на оборудовании. Некоторые операционные системы могут управлять поведением Wake-on-LAN с помощью драйверов сетевой карты. На старых материнских платах, если сетевой интерфейс представляет собой съемную карту, а не интегрируется в материнскую плату, карту может потребоваться подключить к материнской плате с помощью дополнительного кабеля. Материнские платы со встроенным контроллером Ethernet, поддерживающим Wake-on-LAN, не нуждаются в кабеле. Блок питания должен соответствовать спецификациям ATX 2.01.

Аппаратные реализации

Старые материнские платы должны иметь встроенный разъем WAKEUP-LINK, подключенный к сетевой карте с помощью специального 3-контактного кабеля; однако системы, поддерживающие стандарт PCI 2.2 и с картой сетевого адаптера, совместимой с PCI 2.2, обычно не требуют кабеля Wake-on-LAN, поскольку требуемая мощность в режиме ожидания передается через шину PCI.

PCI версии 2.2 поддерживает PME (события управления питанием). Карты PCI отправляют и принимают сигналы PME напрямую через разъем PCI, без использования кабеля Wake-on-LAN.

Wake-on-LAN обычно необходимо включить в разделе «Управление питанием» утилиты настройки BIOS материнской платы ПК , хотя в некоторых системах, например на компьютерах Apple, она включена по умолчанию. В старых системах настройка BIOS может называться «WOL», в более новых системах, поддерживающих PCI версии 2.2, она может упоминаться как «PME» (события управления питанием, которые включают WOL). Также может потребоваться настроить компьютер на резервное питание сетевой карты в режиме ожидания при выключении системы.

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

Ноутбуки с процессором Intel Centrino Processor Technology или новее (с явной поддержкой BIOS) позволяют выводить компьютер из спящего режима с помощью функции Wake on Wireless LAN (WoWLAN).

В большинстве современных ПК ACPI уведомляется о «пробуждении» и берет на себя управление включением питания. В ACPI OSPM должен записывать «источник пробуждения» или устройство, вызывающее включение. Устройство, являющееся «мягким» переключателем питания, сетевой картой (через Wake-on-LAN), открывающейся крышкой, изменением температуры и т. Д.

3-контактный интерфейс WOL на материнской плате состоит из контакта 1 + 5 В постоянного тока (красный), контакта 2 заземления (черный) и контакта 3 сигнала пробуждения (зеленый или желтый). Подавая сигнал пробуждения контакта 3 с помощью + 5 В постоянного тока, компьютер запускает питание при условии, что WOL включен в конфигурации BIOS .

Как использовать Wake-on-LAN

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

TeamViewer может использовать Wake-on-LAN двумя способами. Один из них — через общедоступный IP-адрес сети, а другой — через другую учетную запись TeamViewer в той же сети (при условии, что этот другой компьютер включен). Это позволяет вам разбудить компьютер, не настраивая порты маршрутизатора (подробнее об этом ниже), поскольку другой локальный компьютер, на котором установлен TeamViewer, может ретранслировать запрос WoL внутренне.

Еще один отличный инструмент Wake-on-LAN — Depicus, и он работает из разных мест. Вы можете использовать свою функцию WoL через свой сайт, не загружая ничего, но у них также есть инструмент графического интерфейса и командной строки, доступный как для Windows (бесплатно), так и для MacOS, а также для мобильных приложений Wake-on-LAN для Android и iOS.

Некоторые другие бесплатные приложения Wake-on-LAN включают Wake On LAN для Android и RemoteBoot WOL для iOS. WakeOnLan — еще один бесплатный инструмент WoL для macOS, а пользователи Windows также могут выбирать пакеты Wake On Lan Magic.

Один инструмент Wake-on-LAN, который работает на Ubuntu, называется powerwake. Установите его с помощью следующей команды:

После установки введите powerwake, за которым следует IP-адрес или имя хоста, которое должно быть включено, например:

Устранение неполадок при пробуждении по локальной сети

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

Волшебный пакет, который запускается на компьютере, обычно отправляется как датаграмма UDP через порт 7 или 9. Если это так происходит с программой, которую вы используете для отправки пакета, и вы пытаетесь сделать это из-за пределов сети, вы необходимо открыть эти порты на маршрутизаторе и перенаправить запросы на каждый IP-адрес в сети.

Перенаправление магических пакетов WoL на конкретный IP-адрес клиента будет бессмысленным, поскольку компьютер с выключенным питанием не имеет активного IP-адреса. Однако, поскольку для пересылки портов необходим определенный IP-адрес, вы должны убедиться, что порт (ы) перенаправлены на так называемый широковещательный адрес, чтобы он попадал на каждый клиентский компьютер. Этот адрес находится в формате *. *. *.

Например, если вы определяете IP-адрес вашего маршрутизатора как 192.168.1.1, используйте адрес 192.168.1.255 в качестве порта пересылки. Если это 192.168.2.1, вы должны использовать 192.168.2.255. То же самое верно для других адресов, таких как 10.0.0.2, которые будут использовать IP-адрес 10.0.0.255 в качестве адреса пересылки.

Вы также можете подумать о подписке на службу динамического DNS (DDNS), например No-IP. Таким образом, даже если IP-адрес, привязанный к сети WoL, изменится, служба DNS обновится, чтобы отразить это изменение и все-таки позволит вам разбудить компьютер. Служба DDNS действительно полезна только при включении компьютера извне сети, например, с вашего телефона, когда вы не дома.

Wake on Wireless LAN (WoWLAN)

Большинство ноутбуков не поддерживают Wake-on-LAN для Wi-Fi, официально называемый Wake on Wireless LAN или WoWLAN. Те, которые нуждаются в поддержке BIOS для Wake-on-LAN и должны использовать технологию Intel Centrino Process Technology или новее.

Причина, по которой большинство беспроводных сетевых карт не поддерживает WoL по Wi-Fi, заключается в том, что волшебный пакет отправляется на сетевую карту, когда он находится в состоянии низкой мощности, и ноутбук (или рабочий стол только для беспроводных сетей), который не аутентифицирован с помощью сети и полностью отключен, не имеет возможности слушать волшебный пакет и, следовательно, не будет знать, отправляется ли он по сети.

Для большинства компьютеров Wake-on-LAN работает через Wi-Fi только в том случае, если беспроводное устройство является одним отправителем запрос WoL. Другими словами, он работает, если ноутбук, планшет, телефон или другое устройство пробуждает компьютер, но не наоборот.

Программы для удаленного включения компьютера

Программы для Windows

Используя программу WakeMeOnLan вы можете использовать технологию Wake on LAN для включения любого количества компьютеров удаленно по сети или через Интернет. Программа имеет удобную графическую оболочку, а также поддерживает работу в режиме командной строки. Скачать её можно с официального сайта.

Для использования программы из графического интерфейса, необходимо сперва добавить его в программу (File — Add New Computer), после чего нажать на нем правой кнопкой мыши и выбрать пункт «Wake Up Selected Computers».

Примеры использования из командной строки:

Включение компьютера с IP адресом 192.168.2.1:

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

Включение компьютера с MAC адресом 12-34-45-78-90-AB:

Программы для Linux

Для операционной системы существует несколько популярных утилит, для удаленного включения компьютера с помощью технологии Wake on LAN. Одна из самых популярных — это etherwake.

Программа etherwake устанавливается в популярных дистрибутивах следующим образом:

В CentOS/RedHat:

В Debian/Linux Mint/Ubuntu:

Используется она просто — нужно выполнить саму утилиту с MAC адресом компьютера, который необходимо включить. К примеру, включения компьютера с MAC адресом 12-34-45-78-90-AB будет выглядеть так:

Если нужно включить компьютер по имени или ip адресу, то придется открыть файл /etc/ethers и вписать в него с новой строки пару «MAC адрес — имя компьютера». Выглядит подобная запись следующим образом:

Теперь, когда имени sysadmin присвоен MAC адрес 12-34-45-78-90-AB, можно воспользоваться именем компьютера в etherwake:

Аналогично будет выглядеть запись для IP, с той разницей, что после MAC адрес будет написан IP адрес:

Программы для Android

Если вы хотите удаленно включить компьютер с помощью вашего телефона, работающего на Андройде, то можете воспользоваться программой Wake On Lan:
Ссылка на google play market: https://play.google.com/store/apps/details?id=co.uk.mrwebb.wakeonlan
Использование программы не представляет из себя ничего сложного, как и в варианте с онлайн сервисом, нужно задать IP адрес того компьютера, который вы хотите включить, а также его MAC-адрес.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий