2013-03-02 85 views
0

我正在使用net-snmp。給定一個特定的OID,如.1.3.6.1,如何找到相應的 MIB/module/filename/anything其中描述了OID?給定一個OID,我如何找到相應的MIB?

我瀏覽了所有的#include file in <net-snmp/*>,但我無法弄清楚。

我期待的線沿線的東西:

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

關 - 當然還有你有沒有的net-snmp的源代碼,看看你會發現parse.c。 – 2013-03-02 20:43:31

+0

[**請閱讀此問題及其答案**](http://stackoverflow.com/questions/13641802/why-the-description-of-the-snmp-oid-giving-null/13776327#13776327) – 2013-03-02 20:46:04

+0

是的,我有源代碼,不,這個問題是關於獲取默認情況下未保存的OID描述文本。 – 2013-03-02 21:00:59

回答

0

我想通了。這是一個3個步驟:

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 
相關問題