Определить некомпьютерное сетевое устройство?

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

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

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


person Avilan    schedule 23.06.2011    source источник
comment
У меня нет большого опыта в области обнаружения/каталогизации, но я верю WBEM или родственная технология позволяет обнаруживать и каталогизировать устройства.   -  person Merlyn Morgan-Graham    schedule 13.11.2011


Ответы (4)


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

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

Другой альтернативой является поиск поставщика сетевого чипа для данного 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)
person Alex KeySmith    schedule 23.06.2011
comment
MAC-адрес ни о чем не говорит - person John Saunders; 23.06.2011
comment
Привет @John Saunders Это даст вам поставщика, так что, возможно, это часть головоломки, чтобы идентифицировать тип устройства. Но соглашусь, что это мало поможет. - person Alex KeySmith; 23.06.2011
comment
Я имею в виду, что производитель сетевого чипа ничего не скажет вам об устройстве, содержащем этот чип. - person John Saunders; 23.06.2011
comment
Хороший вопрос @John Saunders, я добавлю в свой ответ больше деталей. Ваше право, поставщик сетевых чипов не дает вам многого. Но я предполагаю, что NMAP использует эту информацию (наряду со всем остальным, что он получает), чтобы помочь отпечатку пальца устройства. Сказав это, NMAP имеет гораздо больше информации для работы. - person Alex KeySmith; 23.06.2011
comment
@Alex: nmap дает вам всю нечеткую информацию. Угадать ОС по tcpip зондированию не по карману; Я пробовал. Также результаты сканирования портов нечеткие, часто посередине находится аппаратный или программный брандмауэр. - person Massimo; 13.11.2011
comment
@John: продавец с MAC-адреса: это бесполезно для ПК и дешевых устройств. Полезно для управляемых коммутаторов и маршрутизаторов: поставщики используют частные MAC-адреса, созданные из их зарегистрированного пула. Ммм, это тоже нечетко, но имхо надежнее и проще. Зондирование Nmap tcpip делает вид, что угадывает производителя и модель. По MAC-адресу мы лишь пытаемся угадать производителя. - person Massimo; 13.11.2011

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

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

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

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

Можно, например, с nmap.

Про:

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

Минусы:

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

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

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

Плюсы:

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

Минусы:

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

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

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

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

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

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

Плюсы:

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

Минусы:

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

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

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

person Massimo    schedule 13.11.2011

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

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

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

person Bibhu    schedule 23.06.2011

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

введите здесь описание изображения

person JPBlanc    schedule 27.06.2011