我正在使用这个示例发送一个请求获取snmp节点
:
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::snmpFrameworkMIBCompliance
和snmp4j
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: The SNMP Management Architecture MIB。