SNMP
基本示例
该命令采用单个 OID,并将显示位于以该 OID 为根的子树中的所有结果的列表:
% snmpwalk -v 2c -c demopublic test.net-snmp.org system
SNMPv2-MIB::sysDescr.0 = HP-UX net-snmp B.10.20 A 9000/715
SNMPv2-MIB::sysObjectID.0 = OID: enterprises.ucdavis.ucdSnmpAgent.hpux10
SNMPv2-MIB::sysUpTime.0 = Timeticks: (586998396) 67 days, 22:33:03.96
SNMPv2-MIB::sysContact.0 = Wes Hardaker wjhardaker@ucdavis.edu
SNMPv2-MIB::sysName.0 = net-snmp
SNMPv2-MIB::sysLocation.0 = UCDavis
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.2 = OID: IF-MIB::ifMIB
SNMPv2-MIB::sysORID.4 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.5 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORDescr.1 = The Mib module for SNMPv2 entities.
SNMPv2-MIB::sysORDescr.2 = The MIB module to describe generic objects for network interface sub-layers
SNMPv2-MIB::sysORDescr.4 = The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.5 = The MIB module for managing UDP implementations
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (82) 0:00:00.82
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (81) 0:00:00.81
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (83) 0:00:00.83
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (82) 0:00:00.82
它也可以与单个 MIB(标量)对象一起使用,甚至是一个精确的实例 OID - 返回相应的值:
% snmpwalk -v 2c -c demopublic test.net-snmp.org sysDescr
SNMPv2-MIB::sysDescr.0 = HP-UX net-snmp B.10.20 A 9000/715
% snmpwalk -v 2c -c demopublic test.net- snmp.org sysDescr.0
SNMPv2-MIB::sysDescr.0 = HP-UX net-snmp B.10.20 A 9000/715
相反,也可以在更高级别开始步行,检索多于一组的信息。
% snmpwalk -v 2c -c demopublic test.net-snmp.org .iso
通常会检索代理已知的所有信息。(这里省略了输出!)
Walk 表节点
上面的第一个示例同时包含标量和表实例。 通过将列对象指定为起点,Snmpwalk还可用于检索表的单个列。
% snmpwalk -v 2c -c demopublic test.net-snmp.org sysORID
SNMPv2-MIB::sysORID.1 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.2 = OID: IF-MIB::ifMIB
SNMPv2-MIB::sysORID.4 = OID:IP-MIB::ip
SNMPv2-MIB::sysORID.5 = OID:UDP-MIB::udpMIB
请注意,在检索完整表时(单独或作为更广泛遍历的一部分),将显示一列的所有值,然后再移至下一列。这可以在上面走系统组的输出中看到。
Walk遍历一颗空树
如果代理没有在指定的 OID 下实现任何 MIB 对象,则snmpwalk命令可能会返回而不显示任何内容,或者它可能会显示含糊不清的信息,具体取决于所使用的 SNMP 版本:
% snmpwalk -v 1 -c demopublic test.net-snmp.org ifXTable
(nothing displayed)
% snmpwalk -v 2c -c demopublic test.net-snmp.org ifXTable
IF-MIB::ifXTable = No Such Object available on this agent at this OID
或者,如果请求的树晚于代理实现的最后一个 MIB 实例,则会显示略有不同的消息:
% snmpwalk -v 1 -c demopublic test.net-snmp.org .2.0
End of MIB
% snmpwalk -v 2c -c demopublic test.net-snmp.org .2.0
joint-iso-ccitt.0 = No more variables left in this MIB View (It is past the end of the MIB tree)