SNMP初步

SNMP(Simple Network Management Protocol), 简单网络管理协议,用途可以理解为网管软件,SNMP提供了一种统一的、跨平台的设备管理办法,使得网管坐在自己电脑前就可以远程监控远端的一系列设备(路由器,交换机,网桥,集线器,服务器)。

SNMP提供了一种从网络上的设备中收集网络管理信息的方法,也为设备向网络管理工作站报告问题和错误提供了一种方法。

目前,几乎所有的网络设备生产厂家都实现了对SNMP的支持。设备的管理者收集这些信息并记录在管理信息库(MIB)中。这些信息报告设备的特性、数据吞吐量、通信超载和错误等。MIB有公共的格式,所以来自多个厂商的SNMP管理工具可以收集MIB信息,在管理控制台上呈现给系统管理员。

1.名词解释
SNMP:Simple Network Management Protocol 简单网络管理协议
SMI: Structure of Management Information 管理信息结构
MIB: Management Information Base 管理信息库 被管理对象的一个信息集合
PDU:Protocol Data Unit 协议数据单元
OID:OBJECT IDENTIFIER 对象标识符

2.SNMP协议的版本
SNMP V1 采用UDP协议,支持最为广泛,但存在安全问题
SNMP V2c 语义进行了增强,支持TCP协议
SNMP V3 增强了更加强大的安全控制,协议可以加密

3.Win7下如何开启SNMP服务
win7下可以通过添加组件的方式来添加SNMP。
控制面板-->程序和功能-->打开或关闭windows功能,选中简单网络管理协议(SNMP),然后确定就可以了。
这样到windows服务里去看一下就多出了2个,分别是“SNMP Service”和“SNMP Trap”,建议把它们都设置成手动启动。
鼠标双击“SNMP Service”选项,在弹出的窗口中切换到“安全”选项卡中,如图添加“接受的社区名称”为public。



一旦安装并启动了简单网络管理协议,将打开以下2个端口
UDP 161 snmp
UDP 162 snmptrap

4.snmputil
接下来需要一个能够进行Snmp通信的工具,比较简单的有snmputil

snmputil的命令规则是:
snmputil [get|getnext|walk] agent community oid [oid ...]

[get|getnext|walk]为消息类型

get,就理解成获取一个信息。
getnext,就理解成获取下一个信息。
walk,就理解成获取一堆信息(嗯,应该说所有数据库子树/子目录的信息)

agent,指Snmp代理即你想进行操作的网络设备的ip或名称。
community,即密码,默认是public。
oid,想要操作的MIB数据对象号(Object Identifier)。可以把oid理解成MIB管理信息库中各种信息分类存放树资源的一个数字标识。比如设备名称对应的MIB对象号是.1.3.6.1.2.1.1.5.0

打开命令行窗口,进入snmputil所在路径,键入
snmputil get localhost public .1.3.6.1.2.1.1.5.0
如果参数都正确,控制台就会显示出本机的机器名。

这样的命令还有很多
.1.3.6.1.2.1.25.4.2.1.2    列出机器当前进程列表
.1.3.6.1.4.1.77.1.2.25.1.1 列出机器系统用户列表
.1.3.6.1.4.1.77.1.4.1.0    列出域名
.1.3.6.1.2.1.25.6.3.1.2    列出安装的软件
.1.3.6.1.2.1.1             列出系统信息

不知道现在大家对snmp有没有一个感性的认识,通过get、set这样的操作,我们就可以读取、控制网络设备了。
可以看到这样系统存在隐患,别人可以通过SNMP工具来刺探你的系统信息。
防范措施是
1)“SNMP Service”服务的安全选项卡限制能够访问的IP地址。
2) 社区名称不要用默认的public,改成其它。

5.MIB Browser
用snmputil打印出来的信息如果有中文的话会无法显示,我们可以用另一款免费的 MIB Browser来查看中文文字,这是一个GUI工具。

菜单,Search-->Find OID,输入OID,比如.1.3.6.1.2.1.25.6.3.1.2,右键-->Get next,在弹出的窗口中不断地按Get next,可以看到打出来的软件信息都没有乱码了。



6.附件
文中提到的snmputil和mibbrowser可在附件下载。
另外还有一款免费的工具 sugarnmsTool貌似还不错

7.参考资料
维基百科上的介绍 http://zh.wikipedia.org/wiki/SNMP
Snmp学习笔记 http://blog.csdn.net/clearwater21cn/article/details/1667614
SNMP口令的利用以及一些相关知识 http://www.cnpaf.net/Class/SNMP/200510/5038.html
SNMP监控一些常用OID的总结 http://www.cnblogs.com/aspx-net/p/3554044.html

猜你喜欢

转载自xpenxpen.iteye.com/blog/2044595