基于snmp网络管理系统的设计与实现.docx
- 文档编号:1499920
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:12
- 大小:313.38KB
基于snmp网络管理系统的设计与实现.docx
《基于snmp网络管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于snmp网络管理系统的设计与实现.docx(12页珍藏版)》请在冰豆网上搜索。
基于snmp网络管理系统的设计与实现
本科毕业设计(论文)
题目:
基于SNMP网络管理系统的设计与实现
院(系):
计算机科学与工程学院
专业:
班级:
学生:
学号:
指导教师:
2014年6月
1基于SNMP网络管理的研究
在Windows环境下进行SNMP编程,可以使用WinSNMPAPI函数。
这些函数实现了基本的SNMP功能,但直接使用WinSNMPAPI函数要复杂得多,幸运的是,目前有许多支持SNMP功能的第三方开发包,如UCDSNMP,PowerTCP和SNMP++等,使用这些开发包,可以大大简化Windows环境下的SNMP编程工作。
SNMP++是网络管理程序与SNMP代理之间的通信协议,因此SNMP编程也包括两大部分:
网络管理程序的开发和SNMP代理软件的开发。
SNMP代理运行在特定的网络设备中,由设备生产商负责开发。
本文主要研究在Windows环境下开发基于SNMP的网络管理程序,不涉及SNMP代理开发方面的内容。
微软的Windows系统(包括WindowsNT、Windows2000、WindowsXP、Windows2003等)支持SNMP,默认是关闭的,可以通过添加组件的方式进行打开并进行简单配置。
启动后,代理在主机上启动一个SNMP代理服务器进程,监听从UDP端口161接收的SNMP操作请求。
但是还不能使用SNMP获取到系统的信息,因为此时代理支持的MIB-II中还没有定义相关的被管理对象,因此,还需要安装第三方支持的软件。
SNMP第三方软件实际上是一个SNMP子代理,系统中原来的代理称为SNMP主代理,主代理与子代理之间使用特有的协议进行通信。
通过安装子代理,可以在系统中扩展主代理不支持的MIB。
Net-SNMP就是这样的一款第三方软件,安装后即可为SNMP提供信息。
2环境配置
使用windowsXP操作系统,软件使用VC++6.0,测试设备,本机,工大瑞普虚拟实验环境,可以模拟如帧中继,路由交换的环境。
从下载SNMP++开发包,解压后进行编译,形成一个静态链接库,下面的步骤将在VC++6.0开发环境中将SNMP软件包编译成一个静态的链接库。
在VC6中编辑生成snmp_pp.lib文件,操作步骤如下:
1)在开发环境下,选择“File”->“New…”项,在弹出的窗口中选择“Win32StaticLibrary”,工程名为“snmp_pp”,如图2.1所示。
图2.1建立一个静态链接库工程
2)单击“OK”按钮,进入下一步,使用缺省选项,如图2.2所示,点击“Finish”完成,建立一个没有文件的静态链接库工程。
图2.2静态链接库工程建立完成
3)在工作区内,为工程添加解压缩后的所有源文件(即snmp++目录下的src目录下的所有后缀为CPP的文件,如图3.3所示)。
图2.3向工程中添加源文件
为了让编译的链接库支持SNMPV3,用上步同样方法,要把snmp++目录下的libdes目录下的c文件包含进来。
4)文件添加完后,设置工程编译环境。
主菜单选“Project”->“Settings…”项,弹出的窗口中,选“C/C++”页,按照下表进行设置,如图2.5所示。
图2.5工程设置
5)目录设置。
主菜单“Tools”->“Options…”项,弹出的窗口中,选“Directories”页,添加SNMP++头文件所在的目录,如图2.6所示。
图4.6工程目录设置
6)选择“Build”->“Buildsnmp_pp.lib”项,生成静态链接库文件snmp_pp.lib.
7)将生成的静态链接库文件直接复制到VC安装目录:
\VC98\Lib中去,就可以像使用VC自带的其他库文件一样使用它了。
3代理设备的配置
a.windows主机安装,启用SNMP;
首先查看本地服务,检查SNMP服务是否已经安装。
如没有安装,按下列步骤进行安装。
(1)单击“开始”→“设置”→“控制面板”→“添加/删除程序”→“添加/删除Windows组件”,勾选“管理和监视工具”项,再单击“详细信息”按钮,此时出现如图3.1所示的界面。
图3.1WindowsXP操作系统启用SNMP
(2)勾选“简单网络管理协议”项,单击“确定”按钮。
安装SNMP后,默认的community字符串是“public”,可以修改为其他字符串,如图3.2。
图3.2修改community字符串
(3)安装第三方软件Net-SNMP:
如图3.3所示。
图3.3安装net-snmp时选择安装目录
b.可配置网络设备启用SNMP服务
SNMP代理是运行在可网管设备中的一个管理进程,在网络管理软件运行前要对其进行配置,使它能够响应网络管理站的信息请求,发送Trap消息,并进行权限限制与身份验证。
需要配置的代理设备主要是网络中可网管的路由器与交换机,不同的厂商的不同设备配置有所区别,但都大同小异,都可以通过telnet进行命令行设置,需要配置的内容我们通过配置一个Cisco7200路由器的实例来具体描述:
(1)接受的团体名称和权限。
SNMP服务需要至少一个团体名,一般设备都有默认的团体名,public为只读权限的团体名,private为可读写权限的团体名。
这两个团体名被普遍地使用,每个人都会被猜到,为安全起见,配置团体名时尽量为不同权限使用不同的团体名,并要为团体名选择强壮的口令,定期更改。
配置命令如下:
snmp-servercommunitypublicRO
命令配置了一个RO权限的团体名public,
(2)配置访问控制列表ACL。
默认情况下,在仅配置了团体名和权限后,代理会接受来自任何主机的SNMP数据包,这使得在团体名在被破译或泄漏后任何主机都可通过代理进行读写操作,所以必须考虑安全性方面,设置访问控制列表,使SNMP代理只接受访问控制中主机发出的SNMP数据包。
配置如下:
access-list3permit192.168.0.00.0.0.255
snmp-servercommunitypublicRW3
第一个命令创建了一个编号为3的访问控制列表,允许来自网络192.168.0.0255.255.255.0的信息流量。
第二个命令设置代理只接受来自于网络192.168.0.0255.255.255.0的SNMP数据包,并且数据包中的commnunity是可读写权限的团体名public。
(3)发送身份验证Trap。
身份验证是验证团体名或地址是否有效的过程。
当SNMP代理收到错误的团体名,或者不是从可接受访问控制列表成员发出的请求,那么代理将发送身份验证Trap消息到Trap目标(管理站),指出身份验证失败,在默认情况下,该项是启动的。
(4)配置SNMPTrap。
配置使得路由器能够向管理工作站发送陷阱消息。
配置如下;
snmp-serverhost192.168.216.128publicsnmp
snmp-serverenabletrapssnmp
第一条命令指明SNMP标准Trap被发送到主机192.168.216.128;
第二条命令指明激活本设备上的所有SNMP标准的Trap消息。
4设计与实现
基于SNMP的网络管理系统的关键功能之一为采集被管理Windows主机的信息资源。
按照管理人员信息监测和维护工作的要求,信息采集主要涉及以下几个方面,管理人员可以通过采集到的信息数据来判断远程主机的运行情况、业务状态和网络安全。
a.配置管理
对系统的配置有详细了解是网络管理的一个重点,任何时候都需要。
在需要的时候及时,准确的查看系统配置,包括基本信息、系统信息、IP地址,路由信息,TCP连接,UDP连接,进程信息,软件安装信息。
利用MIB对象组的OID,将感兴趣的流量或数据进行分类,之后再进行显示出来,达到我们所要的效果。
表4.1为与配置管理有关的MIB对象与OID的对应关系表。
表4.1MIB对象与OID对应关系表
MIB对象
OID
备注
系统组
1.3.6.1.2.1.1
列对象
IP组
1.3.6.1.2.1.4.20.1
表对象
路由组
1.3.6.1.2.1.4.21.1
表对象
进程组
1.3.6.1.2.1.25.4.2.1
列对象
TCP组
1.3.6.1.2.1.6.13.1
表对象
UDP组
1.3.5.1.2.1.7.5.1
表对象
内存信息组
1.3.6.1.2.1.25.2.3.1
表对象
软件信息组
1.3.6.1.2.25.6.3.1.2
表对象
系统组(SystemGroup)提供了系统的一般信息,对象的OID如表4.2所示。
表4.2系统组与OID对应关系表
MIB对象
OID
备注
系统描述
1.3.6.1.2.1.1.1.
标量对象
设备的生产厂商
1.3.6.1.2.1.1.2
标量对象
设备名称
1.3.6.1.2.1.1.5
标量对象
系统运行时间
1.3.6.1.2.1.1.3
标量对象
IP组提供了与IP协议有关的信息。
IP组包含的对象如表4.3所示。
表4.3IP地址信息与OID对应表
MIB对象
OID
备注
IP地址
1.3.6.1.2.1.4.20.1.1
标量对象
IP地址索引
1.3.6.1.2.1.4.20.1.2
标量对象
IP地址掩码
1.3.6.1.2.1.4.20.1.3
标量对象
装配数据包大小
1.3.6.1.2.1.4.20.1.5
标量对象
路由组提供了本地的路由信息。
路由组包含的对象如表4.4所示。
表4.4路由信息与OID对应关系表
MIB对象
OID
备注
目的IP地址
1.3.6.1.2.1.4.21.1.1
标量对象
基本路由度量
1.3.6.1.2.1.4.21.1.3
标量对象
转发地址
1.3.6.1.2.1.4.21.1.7
标量对象
子网掩码
1.3.6.1.2.1.4.21.1.11
标量对象
b.性能管理
主机的CPU,内存的使用情况对主机的性能影响很大,如果出现问题,将直接影响到主机的正常运行,进而对服务器上正在运行的重要的应用系统带来不可预料的后果,所以,对服务器主机的CPU,内存资源使用情况进行监测是网络管理的首要任务。
通过特定的Oid,不断检测CPU和内存的使用信息,并通过简单的公式计算相应数值,并用图表进行显示。
1)CPU5秒内平均利用率的OID:
1.3.6.1.4.1.9.2.1.56.0;
2)CPU利用率的OID:
1.3.6.1.4.1.9600.1.5.1.5.1.48;
3)可用物理内存(Bytes)的OID:
1.3.6.1.4.1.9600.1.1.2.1.0;
c.故障管理
根据预先设置,代理对网络中的异常断开及时发送错误提示给管理站,使管理者最快发现网络中存在的问题,及时进行处理。
通过SNMP获取设备端口的相关信息需要设备的SNMP代理对一些被管对象的支持。
这些被管理对象有的是通用的,比如MIB-II中的某些被管理对象;有的是私有的,例如CISCO定义和一些MIB。
当查询到某一接口的值时,由索引对象的值来决定OID,如表4.5所示。
表4.5索引值与OID关系表
ifIndex
ifDescr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 snmp 网络 管理 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)