[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.shtmlhttp://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a0080094a95.shtmlcisco网站系列文档(关于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