gpt4 book ai didi

c - 为什么 snmp oid 的描述给出 "null"?

转载 作者:太空宇宙 更新时间:2023-11-04 09:48:33 26 4
gpt4 key购买 nike

我的以下代码不起作用,因为我想使用 Net-Snmp 库获取节点的描述。

#include "net-snmp/net-snmp-config.h"
#include "net-snmp/net-snmp-includes.h"

void print_s(struct tree *);

int main(int argc, char ** argv)
{
char buff[100];
struct tree *node=NULL;

init_mib();
node=read_all_mibs();
if( node == NULL )
{
exit(2);
}
print_s(node);
}


void print_s(struct tree *tree)
{
struct tree *tp;

for (tp = tree->child_list; tp; tp = tp->next_peer)
{
printf("%s:%s\n",tp->label,tp->description);
}
for (tp = tree->child_list; tp; tp = tp->next_peer)
{
if (tp->child_list)
print_s(tp);
}

}




o/p-
org:(null)
dod:(null)
internet:(null)
snmpV2:(null)
security:(null)
private:(null)
experimental:(null)
mgmt:(null)
directory:(null)
snmpModules:(null)
snmpProxys:(null)
snmpDomains:(null)
snmpMIB:(null)
snmpFrameworkMIB:(null)
.........
........

我得到所有节点的空值,

请告诉我为什么我无法获得可用的节点描述。当我使用如下命令行选项时

snmptranslate -On -Td 1.3.6.1.6.3.10

Result
-----------
.1.3.6.1.6.3.10
snmpFrameworkMIB MODULE-IDENTITY
-- FROM SNMP-FRAMEWORK-MIB
DESCRIPTION "The SNMP Management Architecture MIB

Copyright (C) The Internet Society (2002). This
version of this MIB module is part of RFC 3411;
see the RFC itself for full legal notices.
"
::= { iso(1) org(3) dod(6) internet(1) snmpV2(6) snmpModules(3) 10 }

1.3.6.1.6.3.10snmpFrameworkMIBoid 但您可以看到我程序中的节点上方为空它的描述

任何人都可以知道这里的问题是什么。

最佳答案

默认情况下,net-snmp MIB 解析器不会开启 DESCRIPTION 字符串存储特别是因为它需要更多的内存。

要打印描述调用:

snmp_set_save_descriptions(1);

在调用 init_snmp() 以强制保存 DESCRIPTION 子句之前。

函数 void snmp_set_save_descriptions(int);

include/net-snmp/mib_api.h中声明,在snmplib/ucd_compat.c中定义。

定义:

void
snmp_set_save_descriptions(int save)
{
netsnmp_ds_set_boolean(NETSNMP_DS_LIBRARY_ID,
NETSNMP_DS_LIB_SAVE_MIB_DESCRS, save);
}

编辑:

init_snmp() 之前调用 snmp_set_save_descriptions(1); 还有 ..init_snmp() 调用 netsnmp_init_mib() 因此,如果正在调用 init_snmp()

,则无需显式调用 netsnmp_init_mib()

关于c - 为什么 snmp oid 的描述给出 "null"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13641802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com