关于net-snmp中的No Such Instance currently exists at this OID

这几天在看snmp顺便自己编译,调试了一下net-snmp。net-snmp写的很难读。在自己写了一个MIB文件,并添加到net-snmp中调用snmpget去获得其中的节点值时,碰到No Such Instance currently exists at this OID”的问题。这几天经过用ddd调试以及查找网络终于可以通过snmpget来获取自己的MIB 文件中的相关节点值了。

就在此次调试中碰到的“No Such Instance currently exists at this OID”的出现原因有三种。

(1)MIB文件没有正确添加到MIB树里面,因此agent在收到查询以后真的找不到目标OID.

(2)MIB文件添加成功了,但是snmpd.conf里面的关于权限的配置不对。agent在收到client的查询以后也找到了该OID但是因为没有权限因此返回“No Such Instance currently exists at this OID”。关于权限粗看会以为很复杂,尤其是在心浮气燥的时候,其实静下心来仔细看看就会发现也就那么回事。以USM命名的权限管理还是很清晰的。

(3)第三种情况比较特殊,对于net-snmp不熟的也可能会范理解上的错误。

使用snmpget而忘记了添加OID结尾的实例标识符,net-snmp则会报出“No Such Instance currently exists at this OID”的错误。

如果怀疑是这中错误可以用snmpgetnext先试一试。

SNMP中的GETNEXT请求的作用类似snmpget,但是更加具有通用性,它是一个具有模糊匹配特性的GET请求。有时使用snmpget会报错但是使用snmpgetnext则不会报错,它会 向下查找 并找到距离最近的一个实例,然后返回它的值。(单独使用snmpgetnext操作的机会不太多,它经常被当作遍历表中所有数据的一个基本操作。

调试时,

多看net-snmp的官方wiki

Vacm - Net-SNMP Wiki

多查网络是没有错的。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值