Я хочу найти все устройства с поддержкой snmp в моей сети, у меня есть что-то вроде того, как это работает в архитектуре агента и менеджера.
У меня есть библиотека net-snmp для создания простого приложения для получения данных snmp с удаленного устройства. Мне нужно написать программу для этого, мне нужен MAC-адрес устройства и дополнительная информация.
У меня есть программа для получения данных с удаленного узла, но у меня есть одно сомнение, как получить MAC-адрес системы и каков OID, чтобы получить Mac устройства,
Есть ли какие-то общие идентификаторы, которые не зависят от производителя. Мне нужно получить данные для всех устройств.
Некоторые обновления:
Теперь, используя инструменты snmp snmpwalk, я получаю информацию, но среди которой мне нужна некоторая системная информация, mac, имя ОС, если доступно, но я знаю, как программировать с помощью net-snmp для получения этой информации, поскольку я не знаю общий oid, с помощью которого система Я хочу написать программу, и мне нужно получить некоторую необходимую информацию, поэтому мне нужен oid, я должен передать этот oid функции net-Snmp, чтобы она дала мне соответствующий результат.
Я должен использовать строковое имя, например sysName, чтобы получить имя системы. Если это так, то в случае MAC-адреса там написано «ifPhysAddress.2», а затем упоминается Mac (в результате snmpwalk). Итак, что такое oid для получите Mac, так как он отличается для всех устройств.
когда я использую snmpwalk, я получаю одну следующую строку
SNMPv2-SMI :: mib-2.25.3.2.1.3.1 = СТРОКА: «HP LaserJet Professional P1606dn»
Это имя принтера. Означает, что этот oid предназначен для получения имени принтера (mib-2.25.3.2.1.3.1). Верно ли это для всех устройств, значит, если я запрошу этот oid, я получу имя устройства с соответствующим IP-адресом, каким бы оно ни было. Правильно это или нет.
Будьте добры, дайте некоторое представление.
Спасибо
Ты можешь использовать Nmapс snmp-brute что-то вроде
nmap -sU -p161 --script snmp-brute --script-args snmplist=community.lst 192.168.1.0/24
Вот сценарий который я использую с OpenNMS, который будет генерировать XML-файл, содержащий устройства с поддержкой snmp и их соответствующие сообщества.
Он принимает IP-адреса и несколько имен сообществ в качестве входных файлов.
Многие приложения для мониторинга будут включать обнаружение сети инструмент, который может запрашивать snmp на всех обнаруженных устройствах. Некоторые даже позволят вам ввести несколько строк сообщества SNMP, и он будет пробовать каждую из них.