net-snmp教程snmpset失败了

时间:2011-12-27 23:21:27

标签: net-snmp

我正在尝试使net-snmp支持我自己的MIB,但我失败了。我按照这里的说明操作: http://www.net-snmp.org/wiki/index.php/TUT:Writing_a_MIB_Module

然后我想也许我可以使用示例MIB文件和.c和.h文件来测试该示例是否有效。再次,按照上面链接中的教程,我可以使用它:

snmpget -v2c -c public localhost NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0

我得到了这个:

NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0 = INTEGER: 1(看起来不错)。

然后我尝试像这样测试snmpset:

snmpset -v 2c -c public localhost NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0 i 5

snmpset -v 2c -c public localhost NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0 = 5

snmpset -v 2c -c public localhost NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0 INTEGER 5

我收到以下错误:

Error in packet.
Reason: wrongLength (The set value has an illegal length from what the agent expects)
Failed object: NET-SNMP-TUTORIAL-MIB::nstAgentModuleObject.0

请帮我理解我哪里做错了。所有文件都来自教程,但我没有 改变一切。

提前致谢!

2 个答案:

答案 0 :(得分:2)

如果您使用64位目标进行编程this可以帮助您

答案 1 :(得分:0)

如果要继续在64位机器上运行,可以将变量从int更改为long:

static int nstAgentModuleObject = 1; ==> static long ..... netsnmp_register_int_instance(....) ==> netsnmp_register_long_instance(....)