Может кто-нибудь объяснить, как это произошло?

824
Iszi

Кажется, у меня возникают странные результаты при работе netdiscoverв домашней сети. От кабельного модема до моего сканера (пропуская несколько периферийных устройств), вот основная схема:

Кабельный модем подключен к нашему маршрутизатору, который также служит DHCP-сервером и основной точкой доступа Wi-Fi.

Оттуда (опять же, пропуская периферийные устройства) соединение переходит к порту LAN на другом маршрутизаторе, который лишен роли маршрутизатора (DHCP и т. Д.) И действует только как дополнительная точка доступа Wi-Fi.

Мой ноутбук подключен к вторичной точке доступа под управлением Windows 7 x64.

Я работаю netdiscoverс виртуальной машины на моем ноутбуке, которая работает под управлением Backtrack Linux.

Виртуальная машина подключена к моей сети через адаптер VirtualBox, работающий в «мостовом» режиме.

Адреса сети находятся в диапазоне 10.0.0.0/8 адресного пространства RFC 1918.

Итак, я запустил netdiscoverна Backtrack VM. Большинство возвращенных адресов были почти такими же, как и ожидалось, за исключением двух.

 IP At MAC Address Count Len MAC Vendor  -----------------------------------------------------------------------------  192.168.2.1 00:17:9a:8f:69:cf 01 060 D-Link Corporation  192.168.2.1 00:17:9a:8f:69:d0 01 060 D-Link Corporation  

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

Сейчас я ломаю голову над тем, почему устройство D-Link 192.168.2.1 могло принимать и возвращать пакеты ARP через сеть 10.xxx?

5
Как только я закончил писать это, я думаю, что обернул голову вокруг этого. Но, ради сообщества, я хотел бы посмотреть, что кто-то еще напишет за это. Iszi 12 лет назад 2

1 ответ на вопрос

5
Paul

Если вы специально не укажете диапазон для использования, вы netdiscoverбудете сканировать обычные сети, так что это будет включать 192.168.0.0/16.

Запрос ARP транслируется на уровне 2, поэтому, даже если ПК с возвратом находится в IP-сети, отличной от ящика voip, запрос arp будет по-прежнему отображаться и отвечать на него. Запрос будет в форме ARP Probe, который не содержит IP-адрес для ответа - ответ отправляется на уровне 2 на mac-адрес устройства, отправляющего запрос.

ARP Probe - это метод определения того, используется ли IP-адрес в настоящее время. Обычно он используется устройством до «запроса» IP-адреса, чтобы никто другой в локальной сети не использовал его. Однако его можно использовать для просмотра того, какие адреса используются в локальной сети, и, вероятно, его использует netdiscover.

Хотя ARP-зонд является частью IP-протокола уровня 3, он работает на уровне 2. Пакет выглядит примерно так:

From MAC: <host mac address>, To MAC: ff:ff:ff:ff:ff:ff, Payload: "Is anyone using IP address 192.168.1.1" 

Таким образом, целевой mac - это широковещательный mac-адрес - все он совпадает со всеми адресами. Поэтому любое устройство уровня 2, такое как коммутатор, будет транслировать его из всех портов в том же домене широковещательной рассылки, на котором был получен пакет. В домашнем маршрутизаторе это означает все порты локальной сети (порты локальной сети на внутреннем маршрутизаторе являются портами коммутации). Если какой-либо из портов LAN подключен к портам LAN другого маршрутизатора, то все порты LAN находятся в одном домене широковещательной рассылки - пакет будет транслироваться из порта на первом маршрутизаторе, который подключен ко второму маршрутизатору, ко второму маршрутизатору. увидит, что пакет предназначен для ff: ff: ff: ff: ff: ff и, следовательно, будет транслировать его из своих портов локальной сети.

Дело в том, что широковещательный пакет уровня 2 будет виден каждому устройству в сети, независимо от IP-адресов.

Так что каждое устройство это видит. VoIP-устройство видит, что это ARP-зонд, и что IP-адрес отправителя соответствует IP-адресу, который он настроил, и отвечает.

Он не может ответить на IP-адрес отправляющего устройства, потому что сама природа ARP-зонда заключается в том, что он используется устройством, у которого еще нет IP-адреса. Он используется для того, чтобы узнать, используется ли уже используемый IP-адрес., Таким образом, место в пакете, где обычно находится IP-адрес отправителя, - все нули.

Поэтому ответ на запрос ARP отправляется на MAC-адрес отправителя.

Я до сих пор не понимаю, как это могло произойти. Запрос / ответ ARP должен был пройти через два других устройства уровня 2 (ish). Разве это не должно было остановиться на пути к одному из них? Или я не помню свои принципы маршрутизации и коммутации должным образом? Iszi 12 лет назад 2
Если все «маршрутизаторы» соединены друг с другом через свои порты коммутатора, то они фактически являются коммутаторами - маршрутизация не происходит, поэтому все на уровне 2 в одном и том же широковещательном домене. Paul 12 лет назад 3
Похоже, я не единственный, кого это немного смутило. Ум, бросая немного переключения 101? Iszi 12 лет назад 0
Предостережение здесь должно заключаться в том, что я не знаю конкретно, как netdiscover делает свое дело, но именно так он * мог * работать. Я обновил свой ответ более подробно. Я рад продолжать делать это, пока не станет ясно :) Paul 12 лет назад 0
Netdiscover в основном просто спамит ARP-запросы на адреса RFC 1918 и показывает, что возвращается. Iszi 12 лет назад 0
Да, совершенно верно. Paul 12 лет назад 0
Отличная рецензия и оригинальная ясность вопроса. Исходя из аспекта поддержки, зная и понимая, как работает DHCP и основы коммутаторов, - каким будет мой следующий шаг в понимании пакетов, уровней и широковещания? HaydnWVN 12 лет назад 0

Похожие вопросы