NET-SNMP基本命令

本文详细介绍了NET-SNMP的基本使用,包括设置、查询和管理网络设备的各种命令,帮助读者理解和操作SNMP协议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当环境设置好后,运行snmpd,即snmp代理进程,就可以使用管理工具查询其中的信息了。Net- snmp提供的查询工具有很多,这里只介绍常用的几个,而且大部分查询命令的格式都大同小异。这里以.iso.org.dod.internet.mgmt.mib-2.system为例,其Oid为:.1.3.6.1.2.1.1。结构如下:
   ………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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值