给定OID,如何找到相应的MIB?

时间:2013-03-02 20:37:34

标签: c net-snmp mib

我正在使用net-snmp。给定一个特定的OID,如.1.3.6.1,我如何找到相应的 MIB/module/filename/anything描述了哪个OID?

我查看了所有#include file in <net-snmp/*>,但我无法弄明白。

我期待的是:

struct module *netsnmp_get_module_from_oid( oid *, int oidlen );

1 个答案:

答案 0 :(得分:0)

我明白了。这是一个分为三步的过程:

struct tree *head = get_tree_head();
struct tree *t = get_tree( o, l, head );
struct module *m = find_module( t->modid );

这给出了模块名称,文件名和模块导入的列表,然后可以进一步查找。使用原始问题中的.1.3.6.1示例进行调用时,这会让我:

NAME=SNMPv2-SMI
FILE=/usr/share/mibs/ietf/SNMPv2-SMI
COUNT=3
#0: LABEL=joint-iso-ccitt, ID=-1
#1: LABEL=ccitt, ID=-1
#2: LABEL=iso, ID=-1