Определить не компьютерное сетевое устройство? - PullRequest
6 голосов
/ 23 июня 2011

В настоящее время я работаю над программой, которая сканирует мою сеть и обнаруживает компьютеры и устройства в сети.Я использую различные операции для поиска данных на обнаруженных устройствах, но хочу отличить сетевые устройства от компьютеров.И мне интересно, знает ли кто-нибудь, как я могу это сделать?

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

Есть ли другой способ определить, к какому устройству относится IP-адрес?

Ответы [ 4 ]

9 голосов
/ 23 июня 2011

С помощью инструмента командной строки, такого как nmap , вы можете отпечатать устройство, которое может предоставить вам всю информацию.

Возможно, вы можете вызвать nmap через c # и прочитать ответ.

Другой альтернативой является поиск поставщика сетевых микросхем с заданным MAC-адресом.Но я не уверен, сколько деталей это даст вам.

Вот пример с сайта nmap :

# nmap -O -v scanme.nmap.org

Starting Nmap ( http://nmap.org )
Nmap scan report for scanme.nmap.org (64.13.134.52)
Not shown: 994 filtered ports
PORT    STATE  SERVICE
22/tcp  open   ssh
25/tcp  closed smtp
53/tcp  open   domain
70/tcp  closed gopher
80/tcp  open   http
113/tcp closed auth
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.20-1 (Fedora Core 5)
Uptime guess: 11.433 days (since Thu Sep 18 13:13:01 2008)
TCP Sequence Prediction: Difficulty=204 (Good luck!)
IP ID Sequence Generation: All zeros

Nmap done: 1 IP address (1 host up) scanned in 6.21 seconds
           Raw packets sent: 2021 (90.526KB) | Rcvd: 23 (1326B)
8 голосов
/ 13 ноября 2011

Во-первых, этот ответ смещен в сетях Ethernet. Идеи могут быть подсказками и для других сценариев.

Есть много способов сделать это, например:

  • сканирование
  • целевое обнаружение
  • пассивный мониторинг трафика

сканирование

Возможно, например, с помощью nmap.

Pro:

  1. Может обнаружить неизвестных устройств и служб. забыто ленивыми системными администраторами или установлено ненадежными пользователями.
  2. Может быть полезным инструментом для обнаружения служб и аудита безопасности.
  3. Для новичков это звучит лучше всего: начните с нуля, найдите их всех. Плохие новости: читайте минусы.

Минусы:

  1. Это очень неэффективно. Если вы начинаете с нуля - вы ничего не знаете о локальной сети - и хотите найти все возможные службы, вам придется сканировать почти все порты tcp и udp для каждого возможного хоста.
  2. Результаты не доступны на 100%: брандмауэры hw или sw; и т.д ... Следующий запуск может привести к совершенно другому результату.
  3. Результаты не простые i_got_it / null, но нечеткие: вам нужен эксперт для оценки результатов.
  4. Иногда для запуска этого сканирования на вашем компьютере должна быть учетная запись администратора.
  5. Некоторые IDS могут регистрировать эту активность как плохую.

целевое обнаружение

Если ваша цель состоит в том, чтобы сопоставить вашу сеть с официальными службами, вы можете подумать об их официальных возможностях обнаружения. Например, CDP, SSDP, srvloc, snmp получают трансляцию и т. Д. Вы должны знать, какие услуги вы проверяете.

Pro:

  1. Это наиболее эффективный способ, с максимальной скоростью и минимальной пропускной способностью сети.
  2. Результат достоверен: следующий запуск должен вернуть тот же результат (очевидно, если службы и сеть остаются живыми).
  3. Это способ проверки доступности услуг и учета SLA.
  4. Вам не нужен эксперт: например, если устройство отвечает на SNMP получить SysDescr, вы знаете свои данные. Вы получите точный ответ или пропустите его.

Минусы:

  1. Вы должны знать, какие услуги вы испытываете.
  2. Вы не можете использовать это, чтобы быть уверенным в обнаружении устройств / услуг. Это ни аудит безопасности, ни инструмент обнаружения. Например: я изменил свой порт прослушивания http-сервера на 81, как вы меня нашли?

пассивный мониторинг трафика

Когда-то вы находили хосты Ethernet, соединенные медными кабелями (CAT3 / CAT5) с концентраторами. Вы можете запустить на любом из этих хостов программу для захвата всего трафика, переводя карту Ethernet в смешанный режим, поэтому сетевая карта передает операционной системе все пакеты, а также пакеты с назначением MAC, отличным от MAC-адреса NIC.

Ваша программа может анализировать эти необработанные данные и анализировать протоколы и пакеты внутри.

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

Вы должны использовать управляемые коммутаторы и настроить один порт как ретранслятор или порт монитора , чтобы связать хост мониторинга.

Pro:

  1. Это пассивный мониторинг - если все сделано правильно. Это может быть полезно для конкретной оценки, когда вы не можете отправить какой-либо пакет в тестируемой сети и уважаете надежный SLA.
  2. Для сбора трафика nw вам не нужно знать конфигурацию протоколов и служб. Например, вы можете удалить со своего хоста стек tcp / ip, оставить драйвер вашей карты Ethernet и собрать трафик.
  3. Используя управляемый коммутатор с портом монитора, вам не нужно переводить сетевую карту в смешанный режим / настраивать стек tcp / ip.
  4. libpcap / winpcap является стандартом де-факто для захвата пакетов, и он работает.Вы можете поиграть с каким-либо внешним интерфейсом GUI, например Analyzer или Wireshark, прежде чем разрабатывать свое собственное приложение.
  5. Это также будет полезным инструментом для обнаружения служб и аудита безопасности.

Минусы:

  1. Обязательно ли отправлять пакеты по тестируемой сети?Используйте управляемый коммутатор с портом повторителя, также если у вас есть концентраторы.Порт ретранслятора может принимать только сетевой трафик.
  2. Чтобы захватить высокую пропускную способность данных, например, на 1 Гбит, вам необходимо настроить конфигурацию операционной системы, в противном случае процессор будет работать с полной нагрузкой, и вы по-прежнему будете терять пакеты.Забыл MS Windows для этого материала.
  3. Очевидно, вы видите только живой трафик, ничего о службах, не передающих.
  4. См. Минусы 3, 4 из сканирование .Это близко, чтобы смотреть биты на проводах, это как осциллограф для электронщиков.Вы фиксируете все данные, позже вам понадобится эксперт ^ 2, чтобы оценить их.Да, позже , потому что детальный анализ ошибок и сбоев занимает очень много времени.

Это простое открытие для чайников вступление.Инструменты обнаружения могут комбинировать оба способа поиска устройств и служб в сети.

Например, для обнаружения HP JetAdmin используются различные методы только для поиска сетевых принтеров и сканеров HP , а не для всехустройства в вашей локальной сети.

0 голосов
/ 27 июня 2011

Мое замечание может выглядеть просто.Но большинство устройств, которые реализуют SNMP, реализуют MIB-II.Как вы можете видеть здесь, в «Системе» существует запись под названием «sysDescr», которую вы можете использовать большую часть времени для идентификации устройства.

enter image description here

0 голосов
/ 23 июня 2011

Как правило, вы не можете много узнать об устройстве по IP-адресу. Используя MAC-адрес хоста, вы можете определить производителя сетевого адаптера.Первая половина MAC-адресов присваивается производителем.

Вы можете попробовать использовать nmap .

Nmap ("Network Mapper") - бесплатная утилита с открытым исходным кодом для исследования сети или аудита безопасности.Он был разработан для быстрого сканирования больших сетей, хотя он отлично работает на отдельных хостах.Nmap использует необработанные IP-пакеты новыми способами, чтобы определить, какие хосты доступны в сети, какие сервисы (имя и версия приложения) предлагают эти хосты, какие операционные системы (и версии ОС) они работают, какой тип фильтров / межсетевых экрановнаходятся в использовании и десятки других характеристик.Nmap работает на большинстве типов компьютеров, доступны как консольные, так и графические версии.Nmap - это бесплатное программное обеспечение, доступное с полным исходным кодом в соответствии с условиями GNU GPL.

...