3

snmp nodes我正在发送使用此示例的请求:

PDU pdu = new PDU();
pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.1")));
pdu.add(new VariableBinding(new OID("1.3.6.1.2.1.1.9.1.2.1")));
pdu.setType(PDU.GETNEXT);

结果是:

Linux pia 2.6.26-2-686 #1 SMP Thu Sep 16 19:35:51 UTC 2010 i686
1.3.6.1.6.3.11.3.1.1

使用监听器:

Received response PDU is: RESPONSE[requestID=307256023, errorStatus=Success(0), errorIndex=0, VBS[1.3.6.1.2.1.1.9.1.2.2 = 1.3.6.1.6.3.11.3.1.1]]

snmpwalk命令给了我这些结果:

root@pia:~/workspace_c/SNMP# snmpwalk -v2c -c public localhost 1.3.6.1.2.1.1.1
SNMPv2-MIB::sysDescr.0 = STRING: Linux pia 2.6.26-2-686 #1 SMP Thu Sep 16 19:35:51 UTC 2010 i686

root@pia:~/workspace_c/SNMP# snmpwalk -v2c -c public localhost 1.3.6.1.2.1.1.9.1.2.1
SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance

为什么snmpwalk返回SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliancesnmp4j 1.3.6.1.6.3.11.3.1.1

为什么我在第一种情况下得到节点的名称,在第二种情况下得到节点的数量???

更新: 啊哈,节点似乎可以是 OID、STRING、Timesticks 对象:

  • 1.3.6.1.2.1.1.9.1.2.1 => OID:SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
  • 1.3.6.1.2.1.1.9.1.3.1 => STRING:SNMP 管理架构 MIB。
4

2 回答 2

3

不完全一样吗?(SNMP OID 可能采用字符串或“带点的数字”的形式——不同的表示形式,但指向树中完全相同的信息)。

来自 MIBExplorer:

snmpMPDCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION “实现 SNMP-MPD-MIB 的 SNMP 实体的合规性声明。”

    MODULE 
    MANDATORY-GROUPS {
                    snmpMPDGroup }

-- 1.3.6.1.6.3.11.3.1.1 -- ::= { snmpMPDMIBCompliances 1 }

于 2012-04-23T10:19:10.737 回答
0

对于大多数应用程序,MIB 对象的对象名称是不相关的,并且可能模棱两可。SMI 只要求对象名称在 MIB 模块内和所有 IETF 标准 MIB 规范中是唯一的。

因此,最佳实践是尽可能使用点号表示法(例如“1.3.6.1.4.1”)。SNMP4J 默认没有内置 MIB 解析器,因此提供点号 OID 字符串。

但是,如果您想要 MIB 规范定义的对象名称或其他值转换,您可以简单地添加带有几行代码的SNMP4J-SMI ,并且您可以在任何您想要的地方使用对象名称。

于 2014-02-07T22:58:20.087 回答