Как определить роутер? - PullRequest
       8

Как определить роутер?

1 голос
/ 07 ноября 2011

Я пытаюсь написать программу, которая сканирует диапазон ip и определяет, является ли ip адресом маршрутизатора или нет.

В настоящее время я использовал traceroute со своего компьютера на все хосты в сети. Тем не менее, я считаю, что должен быть какой-то способ напрямую «спросить» хост на ip, если это маршрутизатор или нет?

кстати, вы знаете, какая-нибудь программа / opensource уже делает это?

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

Маршрутизаторы должны сообщать пару протоколов (на самом деле аккуратную связку), которых нет у обычных IP-узлов, а затем есть некоторые, которые являются более распространенными (то есть даже не-маршрутизаторные узлы).

Маршрутизатортолько протоколы:

  • VRRP
  • IGRP / EIGRP
  • OSPF
  • BGP
  • RIP

Вы можете выполнить их активную проверку, т. Е. Отправить пакет (ведя себя так, как будто вы другой маршрутизатор или конечный узел) и проверить, какой тип ответа отправляет маршрутизатор (если он вообще существует).

В качестве альтернативы вы можете выполнить пассивное зондирование, например, «анализировать», то есть следить за видом IP-пакетов, отправляемых различными узлами.Некоторые из них, как правило, отправляются только маршрутизаторами (опять же, в основном из приведенного выше списка).

Общий протокол, но на самом деле он может многое вам сказать:

  • SNMP (особенно небезопасные, такие как v1 / v2, с которыми легко иметь дело, без необходимости устанавливать безопасный сеанс)

Другие способы:

  • Portscanning (на самом деле может сказать вам,например, все маршрутизаторы имеют некоторые порты управления (хотя часто они заблокированы из-за проблем с безопасностью)

То, что вы хотите сделать, это часто то, что делают многие программы «Управление сетью», чтобы "открыть" возможности / функциональность других узлов в сети.И не существует единого решения, подходящего всем.Они используют кучу разных методов, эвристики, чтобы наконец выяснить, что это за другой узел.

1 голос
/ 07 ноября 2011

Любой узел, к которому подключен, а не только конечная точка, является маршрутизатором.Однако это не позволяет обнаруживать маршрутизаторы без подключенных доступных устройств.(Любой вклад в то, будет ли мой ответ заслуживающим внимания, был бы великолепен!)

...