………system .1.3.6.1.2.1.1
|——sysDescr .1.3.6.1.2.1.1.1
|——sysObjectID .1.3.6.1.2.1.1.2
|——sysUpTimeInstance .1.3.6.1.2.1.1.3
|——sysContact.0 .1.3.6.1.2.1.1.4
|——sysName.0 .1.3.6.1.2.1.1.5
|——sysLocation.0 .1.3.6.1.2.1.1.6
1) snmpwalk [APPLICATION OPTIONS] [COMMON OPTIONS] [OID] ...用来取得所有类识别代码 (OID, Object Identifier),取得类为从根类 (root) 开始的全部 MIB 类。
实例:
snmpwalk -v2c -c public localhost .1.3.6.1.2.1.1
-v2c: 使用的是2c的snmp版本,可选1|2c|3
-c public:community 名为public
localhost: 代理的地址,这里因为代理运行在本机上,所以可用localhost
.1.3.6.1.2.1.1:这里查询的是.iso.org.dod.internet.mgmt.mib-2.system,其Oid为.1.3.6.1.2.1.1,
其Oid也可使用名称具体操作如下:
snmpwalk -v2c -c public localhost system
或:
snmpwalk -v2c -c public localhost .1.3.6.1.2.1.1
SNMPv2-MIB::sysDescr.0 = STRING: Linux ubuntu 2.6.27-7-generic #1 SMP Fri Oct 24 06:42:44 UTC 2008 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (8137) 0:01:21.37
SNMPv2-MIB::sysContact.0 = STRING: Me <me@somewhere.org>
SNMPv2-MIB::sysName.0 = STRING: ubuntu
SNMPv2-MIB::sysLocation.0 = STRING: Right here, right now.
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.3 = STRING: The management information definitions for the SNMP User-based Security Model.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00
2)snmpget——snmpget [OPTIONS] AGENT OID [OID]...用来查询叶子节点
实例:snmpget -v2c -c public localhost .1.3.6.1.2.1.1.5.0
-v2c: 使用的是2c的snmp版本,可选1|2c|3
-c public:community 名为public
localhost: 代理的地址,这里因为代理运行在本机上,所以可用localhost
.1.3…….0:这里查询的是.iso.org.dod.internet.mgmt.mib-2.system.sysName,其Oid为.1.3.6.1.2.1.1.5,使用这个命令使叶子节点要在后面加.0。可后面查询多个OID期间用空格分开
其Oid也可使用名称具体操作如下:
snmpget -v2c -c public localhost .1.3.6.1.2.1.1.5.0
返回信息如下:
SNMPv2-MIB::sysName.0 = STRING: ubuntu
snmpget -v2c -c public localhost sysName
SNMPv2-MIB::sysName.0 = STRING: ubuntu
以下为一些具体使用实例:
使用snmpwalk来获取sysDescr信息(Oid使用名称)
snmpwalk -v2c -c public localhost sysDescr
SNMPv2-MIB::sysDescr.0 = STRING: Linux ubuntu 2.6.27-7-generic #1 SMP Fri Oct 24 06:42:44 UTC 2008 i686
(Oid使用编号)
snmpwalk -v2c -c public localhost .1.3.6.1.2.1.1.1
SNMPv2-MIB::sysDescr.0 = STRING: Linux ubuntu 2.6.27-7-generic #1 SMP Fri Oct 24 06:42:44 UTC 2008 i686
使用snmpget来获取sysDescr信息时要在Oid后加上.0
snmpget -v2c -c public localhost .1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0 = STRING: Linux ubuntu 2.6.27-7-generic #1 SMP Fri Oct 24 06:42:44 UTC 2008 i686
使用snmpwalk来获取sysObjectID信息
snmpwalk -v2c -c public localhost .1.3.6.1.2.1.1.2
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
使用snmpget来获取sysObjectID信息
snmpget -v2c -c public localhost .1.3.6.1.2.1.1.2.0
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
snmpwalk -v2c -c public localhost sysContact
SNMPv2-MIB::sysContact.0 = STRING: Me <me@somewhere.org>
3) snmpgetnext.exe——snmpgetnext [OPTIONS] AGENT OID [OID]...通过父节点查询叶子节点
实例:snmpgetnext -v2c -c public localhost .1.3.6.1.2.1.1
SNMPv2-MIB::sysDescr.0 = STRING: Linux ubuntu 2.6.27-7-generic #1 SMP Fri Oct 24 06:42:44 UTC 2008 i686
这个命令假设不知道叶子节点,但知道父节点,则可遍历到第一个叶子节点。此例结果等同于
snmpget -v2c -c public localhost .1.3.6.1.2.1.1.1.0
Oid也可输入.1.3.6.1.2,因为它是按字典顺序遍历的。
4) snmptable——snmptable [OPTIONS] AGENT TABLE-OID 用来查询表对象
实例:
snmptable -v2c -c public localhost .1.3.6.1.2.1.4.20
这个命令查询表对象,本例中查询的是.iso.org.dod.internet.mgmt.mib-2.ip.ipAddrTable
显示如下:
SNMP table: IP-MIB::ipAddrTable
ipAdEntAddr ipAdEntIfIndex ipAdEntNetMask ipAdEntBcastAddr ipAdEntReasmMaxSize
127.0.0.1 1 255.0.0.0 0 ?
192.168.1.249 2 255.255.255.0 1
使用snmpwalk再来查询一下
snmpwalk -v2c -c public localhost .1.3.6.1.2.1.4.20
IP-MIB::ipAdEntAddr.127.0.0.1 = IpAddress: 127.0.0.1
IP-MIB::ipAdEntAddr.192.168.1.249 = IpAddress: 192.168.1.249
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntIfIndex.192.168.1.249 = INTEGER: 2
IP-MIB::ipAdEntNetMask.127.0.0.1 = IpAddress: 255.0.0.0
IP-MIB::ipAdEntNetMask.192.168.1.249 = IpAddress: 255.255.255.0
IP-MIB::ipAdEntBcastAddr.127.0.0.1 = INTEGER: 0
IP-MIB::ipAdEntBcastAddr.192.168.1.249 = INTEGER: 1
5)snmpset——snmpset [OPTIONS] AGENT OID TYPE VALUE [OID TYPE VALUE]...修改数据
实例:snmpset -v2c -c public localhost .1.3.6.1.2.1.4.21.1.3.x i 99
x:在这里是索引值,表示表项中某一列的第几个数据,根据要求设定
i: 这里是列数据类型,包括i: INTEGER, u: unsigned INTEGER, t: TIMETICKS,a: IPADDRESS o: OBJID, s: STRING, x: HEX STRING,d: DECIMAL STRING, b: BITS U: unsigned int64,I: signed int64, F: float, D: double
如修改联系(sysContact)的地址
snmpset -v2c -c public localhost .1.3.6.1.2.1.1.4 s mute@hotmail.com
6)snmpdelta 一直监视SNMP变量中的变化 (未验证)
linux:~ # snmpdelta -c public -v 1 -Cs -CT localhost IF-MIB:ifInUcastPkts.3 IF-MIB:ifOutcastPkts.3
localhost ifInUcastPkts.3 ifOutUcastPkts.3
[20:15:59 6/14] 184.00 184.00
[20:16:00 6/14] 158.00 158.00