Чтение индекса объекта SNMP типа IPAddress

В простой таблице SNMP, такой как mib-2.interfaces.ifTable, ifIndex является индексом для таблицы, поэтому вы читаете ifIndex.1 (т. е. читаете значение из прямых дочерних узлов ifIndex), чтобы получить индекс для первой строки таблицы. Достаточно просто.

Но это не так очевидно с чем-то вроде mib-2.ip.ipRouteTable. В этом случае ipRouteIfIndex является столбцом индекса. Он определяется как INTEGER, как и ifIndex. Однако вы не можете прочитать прямые дочерние узлы (т. е. ifIndex.0 является прямым дочерним элементом), но вместо этого вам нужно прочитать ifIndex.0.0.0.0, чтобы получить значение. Итак, как узнать, как найти значение, если оно не является прямым дочерним элементом столбца индекса?

Есть некоторая концепция, которую я не понимаю. (Возможно, это связано с тем, что объекты SNMP ограничены ., но IP-адреса тоже, и я не могу понять, как распознать разницу).


person DougN    schedule 15.09.2012    source источник


Ответы (1)


Обратите внимание, что в этом конкретном случае у вас есть таблица с несколькими индексами.

Дело в том, что вы не можете напрямую читать записи таблицы с snmp-get сервисом, так как индекс динамический (и, как следствие, OID-адрес). Но вы можете обнаружить значения с помощью сервисов snmp-get-next (v1) и snmp-get-bulk (v2).

Например, вы можете прочитать индексы (и сохранить их для последующего запроса элементов таблицы) или напрямую прочитать элементы таблицы:

  • вы запрашиваете snmp-get-next для IP-MIB::ipAdEntNetMask
  • ответ будет IP-MIB::ipAdEntNetMask.172.16.38.42 IPV4 255.255.0.0
  • (Итак: в этом случае первый индекс — 172.16.38.42!)
  • вы повторяете и запрашиваете следующее значение после IP-MIB::ipAdEntNetMask.172.16.38.42
  • ответ будет IP-MIB::ipAdEntNetMask.172.16.11.43 IPV4 255.255.0.0
  • и т.д.. до тех пор, пока не будет другого значения или значение не находится в том же дереве

Служба snmp-get-bulk позволит вам напрямую запрашивать N значений таким образом.

Взгляните на Net-Snmp snmptable, который хорошо работает с таблицами: http://net-snmp.sourceforge.net/wiki/index.php/TUT:snmptable

person JB. With Monica.    schedule 18.09.2012