学习熟悉snmp协议

[url][/url]都是实际的学习snmp协议的操作方法,帮助熟悉该协议

以公司的cisco 2500的实验路由器为例来讲

1,先要在cisco router上配置snmp协议(具体配置网络上很多,不必讲解了)

2,通过简单开源工具测试是否router上的snmp协议已经开启 或者通过telnet进入路由器查看(使用 show snmp)

简单开源工具,我这里使用的是snmputil.exe ( http://www.wtcs.org/snmp4tpc/testing.htm
使用命令 snmputil.exe get 192.168.0.100 cisco 1.3.6.1.2.1.1.5.0
192.168.0.100 是路由器的IP地址
cisco 是路由器community的名字
1.3.6.1.2.1.1.5.0 是要查找信息的OID
下面是比较标准的使用在router上的OID
#define sysDescr     "1.3.6.1.2.1.1.1.0"
#define sysObjectID  "1.3.6.1.2.1.1.2.0"
#define sysUpTime    "1.3.6.1.2.1.1.3.0"
#define sysContact   "1.3.6.1.2.1.1.4.0"
#define sysName      "1.3.6.1.2.1.1.5.0"
#define sysLocation  "1.3.6.1.2.1.1.6.0"
#define sysServices  "1.3.6.1.2.1.1.7.0" 

即可得到该路由器的description返回

在测试的时候发现老是连接不上,最后发现是community的名字不对。
所以,大家一定要注意community的名字
最好由telnet到命令行,通过 show running-config 命令 查看当前系统运行配置
以确定community的名字


3,使用net-snmp 开源工具得到路由器上MID的所有的值

先安装 Net-Snmp 软件 net-snmp.sourceforge.net
通过 snmpwalk -v2c -c cisco 192.168.0.100 的得到所有MID及其所对应的值
下来就可以统统 snmptranslate 来的得到 MID 所对应的OID的值
拿到OID就比较好用代码实现功能了
得到MIB的详细信息:
snmptranslate -On -Td IP-MIB::ipInReceives.0


4,查看cisco网站上的文档,找到路由器上cpu 和内存所对应的OID
http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a0080094a94.shtml
http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a0080094a95.shtml

cisco网站系列文档(关于snmp)
http://www.cisco.com/en/US/tech/tk648/tk362/tk605/tsd_technology_support_sub-protocol_home.html

因为使用snmpwalk没法拿到cpu和 memory的OID, 所以在cisco网站上找到了这个东西
cisco网站上也有不少MIB文件,可以通过MIBrowser来查看

cisco网站上路由器交换机的snmp配置
http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a0080094aa4.shtml

猜你喜欢

转载自kukuqiu.iteye.com/blog/468462