当我执行SNMP获取OID .2.47.1.1.1.1.11.1.0
时,我无法获取制造商序列号。如果我使用以下命令在OID上使用以下命令执行snmpget
:
snmpget -v1 -c public 192.168.4.99 .2.47.1.1.1.1.11.1.0
我收到消息:
原因:(noSuchName)此MIB中没有此类变量名称 失败的对象:joint-iso-ccitt.47.1.1.1.1.11.1.0
我通过转到此SO thread在Google上搜索可能的错误原因,因为它是由于缺少实例subidentifier引起的。
我为OID执行了一个SNMPtranslate,我得到了以下字符串joint-iso-ccitt.47.1.1.1.1.11.1.0
。
当我通过以下命令在OID上执行snmpwalk
时,我收到消息为END OF MIB
。
snmpwalk -v1 -c public 192.168.4.1 .2.47.1.1.1.1.11.1.0
请让我知道我哪里出错了,让我知道确切的通用OID以获取制造商的序列号。
答案 0 :(得分:2)
谁告诉你OID是.2.47.1.1.1.1.11.1.0
?
严重来说,正常的OID以.1开头,除了.0.0这是非常特殊的。
答案 1 :(得分:1)
如果您从MIB树的顶部开始走,您很快就会发现您的设备支持哪些变量:
snmpwalk -v1 -c public -Ont 192.168.4.1 .1
删除“-Ont”以获取已翻译的名称(如果可能),而不是完全数字的OID。
如果您正在寻找与供应商无关的数据,您可以查看大多数设备支持的MIB,SNMPV2-MIB:
http://www.ietf.org/rfc/rfc3418.txt
但是,您会发现它不包含任何序列号变量。大多数供应商提供特定于供应商(或特定于产品)的MIB,其中将定义序列号等。但是,与SNMP中的大多数事情一样,它完全取决于他们选择实施的每个供应商。