Только что научился включать свой комп не нажимая кнопку питания компьютера, причем удаленно. Радуюсь как ребенок. Оказывается еще давным давно было придумана технология Wake On Lan. Все, что надо знать, так это мак адресс включаемого компа и айпишку рабочего узла, который видит карточку с фичей Wake On Lan на борту.
Начнем с самого самого начала. Допустим я не знаю ни IP компьютеров в сети, ни уж тем более MAC адресов карточек. Что делать?
Нумбер1. Садимся за комп, который позже планируем включать удаленно. На нем запускаем команду cmd и там запускаем ipconfig
Так среди прочего можно в поле IPv4 Address найти айпишку компа а в поле Physical Address - МАС адресс. Кстати я лишние циферки заменил на символ '.' чтобы не смущать любознательных и выделить полезное.
Если же у нас нет возможности подойти к компьютеру, то мы можем за любым другим компьютером сети сделать следующее (опять же в cmd)
Тут отображаются компьютеры (IP и MAC), с которыми пообщался текущий компьютер. Если тут нет компьютера, который мы хотим включить, тогда его всего лишь надо попинговать (если знаем IP)
А после снова запустить arp -a и подглядеть результат Но если мы не знаем айтишку включаемого компьютера - тоже не беда. Нам всего лишь надо просканить весь диапазон айпишек локальной сетки. Когда мы вводили ipconfig команду то могли пронаблюдать что в поле Subnet Mask написано 255.255.255.0 - это значит, что айпишники локальной сетки при том, что айпишник текущей машины 192.168.1.200 - будут в диапазоне 192.168.1.0-255. Осталось пропинговать все 255 компов и снова запустить arp -a
Как пропинговать диапазон? Просто запускаем команду (для адресов 192.168.1.1-255)
А потом смотрим файл ping.txt. Обычно ответ будет таким
Но когда комп включен, то таким
Вот это нам и надо.
Чтобы не париться по всему файлу, можно качнуть отсюда пак с юниксовыми утилитами, портированными под windows. Распаковать и запустить команду
Теперь, если ты еще не забыл зачем мы тут собрались, запускаем arp -a - смотрим на мак-адрес компьютера. Записываем на бумажке, а когда он случайно выключится, то качаем вот эту програмульку и запускаем ее так:
И все :) Если вы находитесь в расхных подсетях, тогда запускать стоит так
где 123.234.231.123 - айпишник узла, который видит карточку. (я этого непробовал, но говорят работает). Попробую в будущем включать комп удаленно из интернета, так что продолжение следует...
Этот пост состоялся благодаря гуглу и страничкам
1) http://white55.narod.ru/wol.html
1) http://computernity.ru/index.php?s=&act=ST&f=11&t=5941
1) http://www.sablog.ru/kak-uznat-mac-adres-setevoj-karty-udalenno/
1) http://unxutils.sourceforge.net/
Начнем с самого самого начала. Допустим я не знаю ни IP компьютеров в сети, ни уж тем более MAC адресов карточек. Что делать?
Нумбер1. Садимся за комп, который позже планируем включать удаленно. На нем запускаем команду cmd и там запускаем ipconfig
C:\Users\xxx>ipconfig /all Windows IP Configuration Wireless LAN adapter Wireless Network Connection: Connection-specific DNS Suffix . : ...... Description . . . . . . . . . . . : .... Physical Address. . . . . . . . . : 12-34-56-78-9A-BC DHCP Enabled. . . . . . . . . . . : .... Autoconfiguration Enabled . . . . : .... Link-local IPv6 Address . . . . . : ....::....:....:....:....%..(Preferred) IPv4 Address. . . . . . . . . . . : 192.168.1.200(Preferred) Subnet Mask . . . . . . . . . . . : 255.255.255.0 Lease Obtained. . . . . . . . . . : ......, .... .., .... ..:..:.. PM Lease Expires . . . . . . . . . . : ......, .... .., .... ..:..:.. PM Default Gateway . . . . . . . . . : 192.168.1.1 DHCP Server . . . . . . . . . . . : 192.168.1.1 DHCPv6 IAID . . . . . . . . . . . : ........... DHCPv6 Client DUID. . . . . . . . : ..-..-..-..-..-..-..-..-..-..-..-..-..-.. DNS Servers . . . . . . . . . . . : 123.45.678.9 234.56.789.10 NetBIOS over Tcpip. . . . . . . . : ........ C:\Users\xxx>
Так среди прочего можно в поле IPv4 Address найти айпишку компа а в поле Physical Address - МАС адресс. Кстати я лишние циферки заменил на символ '.' чтобы не смущать любознательных и выделить полезное.
Если же у нас нет возможности подойти к компьютеру, то мы можем за любым другим компьютером сети сделать следующее (опять же в cmd)
C:\Users\xxx>arp -a Interface: 192.168.1.200 --- 0xc Internet Address Physical Address Type 192.168.1.1 01-23-45-67-78-9A dynamic 192.168.1.200 12-34-56-78-9A-BC dynamic 192.168.1.201 23-45-67-89-AB-CD dynamic ___.___.___.___ ..-..-..-..-..-.. static ___._.__.__ ..-..-..-..-..-.. static ___._.__.__ ..-..-..-..-..-.. static ___._.__._ ..-..-..-..-..-.. static ___.___.___.___ ..-..-..-..-..-.. static ___.___.___.___ ..-..-..-..-..-.. static
Тут отображаются компьютеры (IP и MAC), с которыми пообщался текущий компьютер. Если тут нет компьютера, который мы хотим включить, тогда его всего лишь надо попинговать (если знаем IP)
C:\Users\xxx>ping 192.168.1.200 Pinging 192.168.1.200 with 32 bytes of data: Reply from 192.168.1.200: bytes=64 time<1ms TTL=128 Reply from 192.168.1.200: bytes=64 time<1ms TTL=128 Reply from 192.168.1.200: bytes=64 time<1ms TTL=128 Reply from 192.168.1.200: bytes=64 time<1ms TTL=128 Ping statistics for 192.168.1.200: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
А после снова запустить arp -a и подглядеть результат Но если мы не знаем айтишку включаемого компьютера - тоже не беда. Нам всего лишь надо просканить весь диапазон айпишек локальной сетки. Когда мы вводили ipconfig команду то могли пронаблюдать что в поле Subnet Mask написано 255.255.255.0 - это значит, что айпишники локальной сетки при том, что айпишник текущей машины 192.168.1.200 - будут в диапазоне 192.168.1.0-255. Осталось пропинговать все 255 компов и снова запустить arp -a
Как пропинговать диапазон? Просто запускаем команду (для адресов 192.168.1.1-255)
C:\Users\xxx>for /l %i in (1,1,254) do ping -n 1 192.168.1.%i >>ping.txt
А потом смотрим файл ping.txt. Обычно ответ будет таким
Pinging 192.168.1.___ with 32 bytes of data: Reply from 192.168.1.___: Destination host unreachable. Ping statistics for 192.168.1.___: Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Но когда комп включен, то таким
Pinging 192.168.1.___ with 32 bytes of data: Reply from 192.168.1.___: bytes=32 time<1ms TTL=128 Ping statistics for 192.168.1.___: Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
Вот это нам и надо.
Чтобы не париться по всему файлу, можно качнуть отсюда пак с юниксовыми утилитами, портированными под windows. Распаковать и запустить команду
C:\Users\xxx>grep bytes.*time.*TTL ping.txt Reply from 192.168.1.___: bytes=64 time=20ms TTL=64 Reply from 192.168.1.___: bytes=64 time<1ms TTL=128 Reply from 192.168.1.___: bytes=64 time=112ms TTL=128 Reply from 192.168.1.___: bytes=64 time=3ms TTL=128
Теперь, если ты еще не забыл зачем мы тут собрались, запускаем arp -a - смотрим на мак-адрес компьютера. Записываем на бумажке, а когда он случайно выключится, то качаем вот эту програмульку и запускаем ее так:
C:\Users\xxx>wol 12:34:56:78:9A:BC
И все :) Если вы находитесь в расхных подсетях, тогда запускать стоит так
C:\Users\xxx>wol 123.234.231.123-12:34:56:78:9A:BC
где 123.234.231.123 - айпишник узла, который видит карточку. (я этого непробовал, но говорят работает). Попробую в будущем включать комп удаленно из интернета, так что продолжение следует...
Этот пост состоялся благодаря гуглу и страничкам
1) http://white55.narod.ru/wol.html
1) http://computernity.ru/index.php?s=&act=ST&f=11&t=5941
1) http://www.sablog.ru/kak-uznat-mac-adres-setevoj-karty-udalenno/
1) http://unxutils.sourceforge.net/
Из интернета не получится - мак адрес идет до ближайшего устройства, работающего на 3м уровне ISO/OSI
ОтветитьУдалитьhttp://www.wakeonlan.ru/
УдалитьА то так можно было бы включать все компьютеры в интернете - просто перебирая адреса.
ОтветитьУдалитьНу.... Mac-адреса по идее уникальны в пределах интернета. Так что то что конкретный протокол или семейство протоколов не позволяет выйти за рамки "сети" в смысле OSI ещё не значит ... что обходным путём этого сделать нельзя.
УдалитьТак... мысли вслух.
Именно! Обходным путем. Люблю тропы, а если еще и нехоженные. :)
УдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьСогласен, но все же я видел в некоторых постах, что был успешный кейс. Так же отказываться от мечты, пусть даже если сейчас она кажется нереальной не буду. Если придется эту идею забросить, то я останусь неудовлетворенным. Как говорится "я получил ответ, но не получит то, что хотел". Конечно, сейчас на это не охота тратить/инвестировать времени, но таску оставлю открытой - мало ли когда-то именно она поднимет меня сутра с дивана... Так иногда случается. Использую как инструмент.
ОтветитьУдалитьможно включать комп и через интернет, чере сайт http://wakeonlan.ru
ОтветитьУдалитьВключать через интернет можно, только нужно это делать как описано в статье по Вашей ссылке (white55.narod.ru/wol.html) Принцип простой - включающий пакет приходит на IP - адрес и определенный порт роутера, и уже правилом маппинга портов отправляется в локалку на широковещательный адрес.
УдалитьРискнул, попробовал - не получается. У Вас получалось?
ОтветитьУдалитьПишет. Ошибка отправки!
УдалитьИ вообще, какой широковещательный адрес должен быть, если у меня маска 255.255.255.252?
Для тех у кого Android - вот приложуха небольшая для включения компа https://play.google.com/store/apps/details?id=ru.freask.pcwakeup
ОтветитьУдалитьОписание тут http://develop.freask.ru/android/vklyuchenie-kompyutera-udalyonno-so-smartfona-na-android.html
Она работает даже в тех случаях, когда компьютер за NAT-ом роутера и проброс портов не помогает (а он и не поможет если комп выключен).
----
http://freask.ru - веб-студия, услуги разработки сайтов, создание сайта под ключ