Я хочу найти все устройства с поддержкой 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, каким бы оно ни было. Это правильно или нет.
Пожалуйста, дайте некоторую идею.
Спасибо
источник