Назад | Перейти на главную страницу

Как отправить запрос snmp на любое устройство в локальной сети?

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

Я думаю, что то, что вы хотите сделать, невозможно.

  • Во-первых, SNMP по умолчанию не установлен и / или не активирован ни в одной настольной операционной системе.
  • Во-вторых, нет возможности настроить SNMP удаленно с помощью SNMP, в лучшем случае вы можете перенастроить уже настроенную систему с его помощью. Это означает, что вам необходимо вручную установить и настроить SNMP на всех устройствах, чтобы разрешить необходимые операции.
  • В-третьих, хотя, безусловно, можно отправлять ловушки SNMP при загрузке / завершении работы для Net-SNMP и реализации Windows, большинство других сетевых устройств, таких как принтеры и т. Д., Не могут быть настроены для этого. Если они вообще рассылают ловушки, это просто для сообщения об ошибках.

Если все, что вам нужно, - это обнаружение сети, есть гораздо лучшие альтернативы, чем заставить SNMP делать то, для чего он не предназначен.

Если вы хотите провести полное обнаружение сети, единственный реальный путь вперед - это:
1 - Получить MAC-адреса от коммутаторов (из их таблиц MAC-адресов)
2 - Получите IP-адрес / MAC-адреса (таблицы ARP) от маршрутизаторов
3 - Используйте DNS для обратного поиска имен хостов с использованием IP-адреса

Этот процесс необходимо повторять на регулярной основе, поскольку время ожидания данных в таблицах MAC-адресов и ARP истекает, в первом случае через 10 минут, во втором случае обычно это будет несколько часов.

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