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


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

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

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

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

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

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

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

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

 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           

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

На что я сейчас почесал голову: почему устройство D-Link в 192.168.2.1 могло получать и возвращать ARP-пакеты через сеть 10.x.x.x?


5
2017-11-16 00:41


Источник


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


Ответы:


Если вы конкретно не укажете диапазон использования, 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 подключен к другим портам LAN маршрутизатора, то порты LAN находятся в одном и том же широковещательном домене - пакет будет передаваться из порта на первом маршрутизаторе, который подключен ко второму маршрутизатору, второй маршрутизатор увидит, что пакет предназначен для ff: ff: ff: ff: ff: ff и поэтому будет транслировать его из своих собственных LAN-портов.

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

Поэтому каждое устройство видит это. Устройство voip видит, что это ARP-зонд, и что IP-адрес отправителя соответствует его IP-адресу, который он настроил, и поэтому отвечает.

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

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


5
2017-11-16 00:52



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