2

Возможный дубликат:
Могу ли я отправить пакет Wake On LAN без трансляции?

Я могу разбудить мой компьютер через Интернет, потому что мой компьютер подключен к маршрутизатору, а маршрутизатор подключен к кабельному модему. Маршрутизатор имеет свой собственный IP, и я могу отправлять волшебные пакеты на этот IP с MAC-адресом моего компьютера. Я полностью понимаю это, и это работает.

Мне интересно, возможно ли технически разбудить компьютер, подключенный напрямую к кабельному модему, через моего интернет-провайдера. Я, вероятно, отправил бы тогда MAC-адрес моего компьютера на мой IP-адрес интернет-провайдера, но возможно ли, чтобы мой интернет-провайдер отправил волшебный пакет на мой компьютер через кабельный модем? Мой Интернет-провайдер знает MAC-адрес моего модема и MAC-адреса моего компьютера (неизвестные устройства не могут получить IP-адрес от DHCP), так что, возможно, это возможно?

2 ответа2

4

Маршрутизаторы работают путем "переписывания" пакетов, которые они пересылают между сетями (такими как ваша домашняя сеть и Интернет). Кроме того, функция NAT большинства маршрутизаторов еще больше запутывает трафик за маршрутизатором, благодаря чему все с внешней точки зрения выглядит так, как будто оно поступило от вашего маршрутизатора на поверхности.

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

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

Я считаю, что на самом деле не имеет значения, как данные «пробуждения по локальной сети» попадают на хост, они могут быть в IP-пакете. Таким образом, если у вас (например) порт 5000 открыт на вашем маршрутизаторе и настроен на пересылку на компьютер в вашей сети с IP 192.168.0.222, теоретически ваш провайдер может отправить IP-пакет, содержащий данные пробуждения по локальной сети, на порт 5000 ,

Протокол ARP используется для преобразования IP-адресов в MAC-адреса. ARP-запросы транслируются, и поэтому не будут переходить из подсетей (т.е. маршрутизаторы по умолчанию не будут пересылать широковещательный трафик). Когда два хоста общаются друг с другом в первый раз, запрос ARP выдается стеками TCP/IP соответствующих хостов. Успешные запросы кешируются некоторое время. Я забыл, как долго это стандарт.

Чтобы маршрутизатор попытался перенаправить его на 192.168.0.222, MAC-адрес 192.168.0.222 должен находиться в его кэше ARP. Это означает, что ваш маршрутизатор должен был "говорить" с 192.168.0.222 недавно, до того, как истечет срок действия этой записи в таблице ARP (не знаю точную продолжительность). Итак, продолжая наш пример, если вы только что отключили 192.168.0.222, маршрутизатор может по-прежнему пытаться переадресовывать несогласованные данные с порта 5000 на него, пока не истечет время ожидания, не будет выполнен другой запрос ARP и произойдет сбой. Если вы очистите кэш ARP на своем маршрутизаторе при выключении компьютера, этого не произойдет. Конечно, ваш интернет-провайдер должен был бы очень осторожно отслеживать ваш трафик, чтобы знать, что у вас открыт порт 5000. Но, возможно, злоумышленник может это сделать.

1

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

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