Определить возможность WOL - PullRequest
0 голосов
/ 02 октября 2010

Я хотел бы определить, возможен ли Wake On Lan.

На моем роутере (прошивка Tomato) есть таблица с информацией - когда отображается устройство «Активно (в ARP)» - возможно включить это устройство по WOL (офлайн linux pc).

Интересно, достигается ли это только функцией маршрутизатора, или я могу сделать это в C # или C? Функция SendArp может обнаружить MAC-адрес и выполнить «арпинг», но это не то, что я хотел бы сделать.

Ответы [ 3 ]

1 голос
/ 10 ноября 2010

Ваш маршрутизатор не может определить, поддерживает ли ваш компьютер (или любое другое сетевое устройство) Wake-On-Lan. Все, что может сделать ваш маршрутизатор, это отправить пакет WOL и надеяться, что он проснется.

Если вызывающее устройство соблюдает пакет и пробуждения должны быть настроены на самом устройстве, и на уровнях OSI 4–1 не существует ничего, что могло бы сказать вам, поддерживает ли устройство WOL.

Если вы хотите отправить пакет WOL со своего ПК с помощью C #, вы найдете множество примеров с помощью вашей любимой поисковой системы. Вот один пример из Барта де Смета .

Обновление

Сообщение «Активно (в ARP)» не означает, что маршрутизатор обнаружил, что можно отправить пакет WOL. Это просто говорит вам, что в кеше ARP маршрутизатора в настоящее время есть соответствующая запись для этого IP или MAC-адреса. Такой кеш имеет каждое сетевое устройство (в том числе и ваш компьютер). В Windows просто откройте командную строку и введите arp -a, чтобы увидеть кеш вашего компьютера с Windows. Здесь вы получите список сохраненных адресов Mac для отправки на IP-адрес. Черная шляпа может попытаться манипулировать этим кешем, чтобы перенаправить вашу IP-связь. Дополнительную информацию об этом можно найти в википедии .

Так что это сообщение просто говорит вам, что ваш маршрутизатор недавно имел ip-соединение с этим устройством. Вот и все. Но он не может сказать вам, может ли ваше устройство в настоящее время обрабатывать пакет WOL (потому что оно подключено к источнику питания или нет).

0 голосов
/ 10 ноября 2010

Вы получаете информацию о том, поддерживает ли машина WOL из BIOS.

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

Для маршрутизации пакетов WOL через сеть необходимо перенаправить порт 9 на маршрутизаторе на IP-адрес 255.255.255.255 (Brodcast-to-all).

0 голосов
/ 02 октября 2010

Вам, вероятно, лучше всего проверить http://msdn.microsoft.com/en-us/library/ff566341(VS.85).aspx

Это позволит вам запрашивать логическое значение для управления питанием и для конкретного состояния устройства "включить активацию".

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

...