目前正在搞snmp,v3版本查询设置基本实现,
136163151130 是mib树中的一个节点,23是节点上变量的值,至于你说查询的时候每次返回的都是这个节点的值?我有点不明白,正常的话你获取哪个节点的值就应该返回哪个节点的值啊,怎么会只返回一个值,请问你用的什么管理端,代理端是什么系统下的什么代理,我帮你分析分析
也就是说你写的这个v3监控相当于一个管理端,你通过这个管理端获取mib节点上的值的时候都返回136163151130= 23 上的值,如果代理端正常的话,那就是你的管理端发送查询的时候都是发送的一个节点的查询报文,是不是报文出问题了
我最近也在研究这个,SNMP工具是通过自带的MIB库去读取被监控设备的SNMP信息,如果两边MIB库符合的话,SNMP信息就会正常读取出来,比如思科的和windows的MIB库就比较规范,很容易就读取出来。而一些设备就不一定那么规范了比如AIX,solaris的,这种情况一般需要在SNMP工具里定义相应的MIB,或者在被监控设备上重新定义MIB库(好像有相应的补丁包)。
MIB库一般都是在系统里面自带的,可以自己添加定义,比如AIX的MIB就在/etc/mibdefs这个文件,WINDOWS的不清楚。
Snmputil是一个命令行下的软件,使用语法如下: usage: snmputil get|getnext|walk] agent community oid [oid ] snmputil trap
其中agent表示代理进程的IP地址,community表示团体名,oid表示MIB对象ID。
举例说明:
1)查看本地计算机(IP地址为1921680176)的系统信息
通过对系统组的MIB对象的查阅,我们知道系统信息所对应的MIB对象为13612111(参看系统组对象),我们使用get参数来查询:
C:>snmputil get 1921680176 public 136121110 Variable = systemsysDescr0
Value = String Hardware: x86 Family 15 Model 2 Stepping 7 AT/AT COMPATIBLE -
Software: Windows 2000 Version 51 (Build 2600 Uniprocessor Free)
其中public是19216803计算机上的团体名,136121110是对象实例,注意对象ID前面要加一个点"",后面还要加一个"0"。如果不在对象ID末尾加上一个0,那么用get参数查询就会出错。从查询结果中我们能够看出 *** 作系统版本和CPU类型。
2)查询计算机连续开机多长时间
C:>snmputil get 1921680176 public 136121130
Variable = systemsysUpTime0
Value = TimeTicks 447614
如果我们在对象ID后面不加0,使用getnext参数能得到同样的效果:
C:>snmputil getnext 1921680176 public 13612113
Variable = systemsysUpTime0
Value = TimeTicks 476123
3)查询计算机的联系人
C:>snmputil get 1921680176 public 136121140
Variable = systemsysContact0
Value = String administrator
以上简单介绍了用snmputil查询代理进程的方法,由于在命令行下使用,可能大家感到颇为不方便,但命令行的一个好处就是可以促进大家主动查阅MIB对象,加深对SNMP网络管理的认识。
4)使用walk查询设备上所有正在运行的进程:
C:>snmputil walk 1921680176 public 136121254212 Variable = hosthrSWRunhrSWRunTablehrSWRunEntry hrSWRunName1 Value = String System Idle Process
Variable = hosthrSWRunhrSWRunTablehrSWRunEntry hrSWRunName4 Value = String System
Variable = hosthrSWRunhrSWRunTablehrSWRunEntry hrSWRunName292
- 1 -
snmputil使用方法
SWRunhrSWRunTablehrSWRunEntry hrSWRunName308 Value = String RavTimerexe
Variable = hosthrSWRunhrSWRunTablehrSWRunEntry hrSWRunName336 Value = String RavMonexe
限于篇幅笔者就不把所有进程列出来,大家可以在自己的计算机上面实验,以加强感性认识。
5)查询计算机上面的用户列表
C:>snmputil walk 1921680176 public 13614177122511
Variable = isoorgdodinternetprivateenterprises lanmanagerlanmgr-2server svUserTablesvUserEntrysvUserName4117115101114
Value = String user
Variable = isoorgdodinternetprivateenterprises lanmanagerlanmgr-2server svUserTablesvUserEntrysvUserName571117101115116
Value = String Guest
Variable = isoorgdodinternetprivateenterprises lanmanagerlanmgr-2serversvUserTablesvUserEntry svUserName1365100109105110 10511511611497116111114
Value = String Administrator
从中我们可以得知该计算机共有三个用户,它们分别为user、guest和administrator。
Snmputil还有一个trap的参数,主要用来陷阱捕捉,它可以接受代理进程上主动发来的信息。如果我们在命令行下面输入snmputil trap后回车,然后用错误的团体名来访问代理进程,这时候就能收到代理进程主动发回的报告。
在MIBII中总共有175个对象,每个对象均有其不同的含义,我们只有通过查阅MIB才能知道它们各自的作用。MIB对象是SNMP网络管理中的核心内容,只有深入了解MIB对象的含义我们才有可能知道如何去驾驭SNMP网络管理。
以上就是关于snmp协议 v3版本主动发起询问信息,我的返回mib库都是1.3.6.1.6.3.15.1.1.3.0= 23,求高手全部的内容,包括:snmp协议 v3版本主动发起询问信息,我的返回mib库都是1.3.6.1.6.3.15.1.1.3.0= 23,求高手、通过SNMP读取公共MIB问题、如何通过get,getnext,set,trap几种 *** 作访问mib对象的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)