Как найти все устройства с поддержкой snmp в моей сети?

10

Я хочу найти все устройства с поддержкой snmp в моей сети, у меня есть что-то вроде того, как это работает в архитектуре агента и менеджера.

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

У меня есть программа для получения данных с удаленного узла, но у меня есть одно сомнение, как получить MAC-адрес системы и каков идентификатор для получения Mac устройства,

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

Некоторые обновления:

Теперь с помощью инструментов snmp snmpwalk я получаю информацию о майе, но я хочу получить некоторую системную информацию, mac, имя os, если доступно, но я программирую, используя net-snmp, чтобы получить эту информацию, так как я не знаю универсальный oid, по какой системе имя придет. Я хочу написать программу, и мне нужно получить некоторую необходимую информацию, поэтому мне нужен oid, я должен передать этот oid функции net-Snmp, чтобы он дал мне основной ответ.

Я должен использовать строковое имя, например sysName, чтобы получить системное имя. Если это так, то в случае MAC-адреса там написано «ifPhysAddress.2», а затем упоминается mac (в результате snmpwalk). получить Mac, как он отличается для всех устройств.

когда я использую snmpwalk, я получаю одну строку следующим образом

SNMPv2-SMI :: mib-2.25.3.2.1.3.1 = STRING: «HP LaserJet Professional P1606dn»

Это имя принтера. Означает, что этот oid предназначен для получения имени принтера (mib-2.25.3.2.1.3.1). Верно ли это для всех устройств, означает, что, если я сделаю запрос к этому oid, я получу имя устройства соответствующего IP, каким бы оно ни было. Это правильно или нет.

Пожалуйста, дайте некоторую идею.

Спасибо

pradiptart
источник

Ответы:

9

Вы можете использовать Nmap «сек SNMP-перебор что - то вроде

nmap -sU -p161 --script snmp-brute --script-args snmplist=community.lst 192.168.1.0/24
Камень
источник
2

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

dunxd
источник
2

Вот скрипт, который я использую с OpenNMS, который сгенерирует файл XML, содержащий устройства с поддержкой snmp и их соответствующие сообщества.

Он принимает IP-адреса и несколько имен сообществ в качестве входных файлов.

ewwhite
источник