基于snmp网络管理系统的设计与实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本科毕业设计(论文)

题目:基于SNMP网络管理系统

的设计与实现

院(系):计算机科学与工程学院

专业:

班级:

学生:

学号:

指导教师:

2014年6月

1 基于SNMP网络管理的研究

在Windows环境下进行SNMP编程,可以使用WinSNMP API函数。这些函数实现了基本的SNMP功能,但直接使用WinSNMP API函数要复杂得多,幸运的是,目前有许多支持SNMP功能的第三方开发包,如UCD SNMP,PowerTCP 和SNMP++等,使用这些开发包,可以大大简化Windows环境下的SNMP编程工作。

SNMP++是网络管理程序与SNMP代理之间的通信协议,因此SNMP编程也包括两大部分:网络管理程序的开发和SNMP代理软件的开发。

SNMP代理运行在特定的网络设备中,由设备生产商负责开发。本文主要研究在Windows 环境下开发基于SNMP的网络管理程序,不涉及SNMP代理开发方面的内容。

微软的Windows系统(包括Windows NT、Windows 2000、Windows XP、Windows 2003等)支持SNMP,默认是关闭的,可以通过添加组件的方式进行打开并进行简单配置。启动后,代理在主机上启动一个SNMP代理服务器进程,监听从UDP端口161接收的SNMP操作请求。但是还不能使用SNMP获取到系统的信息,因为此时代理支持的MIB-II中还没有定义相关的被管理对象,因此,还需要安装第三方支持的软件。

SNMP第三方软件实际上是一个SNMP子代理,系统中原来的代理称为SNMP主代理,主代理与子代理之间使用特有的协议进行通信。通过安装子代理,可以在系统中扩展主代理不支持的MIB。Net-SNMP就是这样的一款第三方软件,安装后即可为SNMP提供信息。

2 环境配置

使用windows XP 操作系统,软件使用VC++6.0,测试设备,本机,工大瑞普虚拟实验环境,可以模拟如帧中继,路由交换的环境。

从 下载SNMP++开发包,解压后进行编译,形成一个静态链接库,下面的步骤将在VC++6.0开发环境中将SNMP软件包编译成一个静态的链接库。

在VC6中编辑生成snmp_pp.lib文件,操作步骤如下:

1) 在开发环境下,选择“File”->“New…”项,在弹出的窗口中选择“Win32 Static Library”,工程名为“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”->“Build snmp_pp.lib”项,生成静态链接库文件snmp_pp.lib.

7) 将生成的静态链接库文件直接复制到VC安装目录:\VC98\Lib中去,就可以像使用VC自带的其他库文件一样使用它了。

3 代理设备的配置

a. windows主机安装,启用SNMP;

首先查看本地服务,检查SNMP服务是否已经安装。如没有安装,按下列步骤进行安装。

(1) 单击“开始”→“设置”→“控制面板”→“添加/删除程序”→“添加/删除Windows组件”,勾选“管理和监视工具”项,再单击“详细信息”按钮,此时出现如图3.1所示的界面。

图3.1 Windows XP操作系统启用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-server community public RO

命令配置了一个RO 权限的团体名public,

(2) 配置访问控制列表ACL。

默认情况下,在仅配置了团体名和权限后,代理会接受来自任何主机的SNMP 数据包,这使得在团体名在被破译或泄漏后任何主机都可通过代理进行读写操作,所以必须考虑安全性方面,设置访问控制列表,使SNMP 代理只接受访问控制中主机发出的SNMP 数据包。配置如下:

access-list 3 permit 192.168.0.0 0.0.0.255

snmp-server community public RW 3

第一个命令创建了一个编号为 3 的访问控制列表,允许来自网络192.168.0.0255.255.255.0 的信息流量。

第二个命令设置代理只接受来自于网络192.168.0.0 255.255.255.0的SNMP 数据包,并且数据包中的commnunity 是可读写权限的团体名public。

相关文档
最新文档