首页 > 文章中心 > 正文

校园网络攻防技术

校园网络攻防技术

摘要:网络流量监测是网络性能分析和通信网络规划设计的基础,分析了SNMP模式网络流量采集技术,并利用php语言结合RRDTOOL、cacti等加以实现,通过HTTP协议实现了客户端用户交互,最终生成实时的PNG格式流量图,给网络的正常运行网络管理维护工作带来极大的方便。

关键词:SNMP;RRDTOOL;CACTI;流量监控

1引言

随着网络技术的迅速发展和各种网络业务应用的普及,用户对网络资源的需求不断增长,网络已成为人们日常工作生活中不可或缺的信息承载工具,同时人们对网络性能的要求也越高,在众多影响网络性能的因素中网络流量是最为重要的因素之一,它包含了用户利用网络进行活动的所有的信息。通过对网络流量的监测分析,可以为网络的运行和维护提供重要信息,对于网络性能分析、异常监测、链路状态监测、容量规划等发挥着重要作用。

SNMP(简单网络维护管理协议)是Internet工程任务组(IETF)在SGMP基础上开发的,SNMP是由一系列协议组和规范组成的,SNMP的体系结构包括SNMP管理者(SNMPManager)、SNMP者(SNMPAgent)和管理信息库(MIB)。每个支持SNMP的网络设备中都包含一个,不断地收集统计数据,并把这些数据记录到一个管理信息库(MIB)中,网络维护管理程序再通过SNMP通信协议查询或修改所纪录的信息。从被管理设备中收集数据有两种方法:轮询方法和基于中断的方法。SNMP最大的特点是简单性,容易实现且成本低,利用SNMP协议能够对被监视的各个网络端口输入字节数、输入非广播包数、输入广播包数、输入包丢弃数、输入包错误数、输入未知协议包数、输出字节数、输出非广播包数、输出广播包数、输出包丢弃数、输出包错误数、输出队长等进行采集。

2RRDTOOL的工作原理

RRDTOOL代表“RoundRobinDatabasetool”,是TobiasOetiker设计的一个基于Perl的功能强大的数据储存和图形生成工具,最初设计目的是为流量统计分析工具MRTG提供更好的数据存储性能和更强的图形生成功能。所谓的“RoundRobin”其实是一种存储数据的方式,使用固定大小的空间来存储数据,并有一个指针指向最新的数据的位置。我们可以把用于存储数据的数据库的空间看成一个圆,上面有很多刻度。这些刻度所在的位置就代表用于存储数据的地方。所谓指针,可以认为是从圆心指向这些刻度的一条直线。指针会随着数据的读写操作自动移动。要注意的是,这个圆没有起点和终点,所以指针可以一直移动,而不用担心到达终点后就无法前进的问题。在一段时间后,当所有的空间都存满了数据,就又从头开始存放。这样整个存储空间的大小就是一个固定的数值。所以RRDtool就是使用类似的方式来存放数据的工具,RRDtool所使用的数据库文件的后缀名是''''.rrd''''。

和其它数据库工具相比,它具有如下特点:

首先RRDtool存储数据,扮演了一个后台工具的角色。但同时RRDtool又允许创建图表,这使得RRDtool看起来又像是前端工具。其他的数据库只能存储数据,不能创建图表。

RRDtool的每个rrd文件的大小是固定的,而普通的数据库文件的大小是随着时间而增加的。

其他数据库只是被动的接受数据,RRDtool可以对收到的数据进行计算,例如前后两个数据的变化程度(rateofchange),并存储该结果。

RRDtool要求定时获取数据,其他数据库则没有该要求。如果在一个时间间隔内(heartbeat)没有收到值,则会用UNKN代替,其他数据库则不会这样做。

3监测系统的安装与配置

(1)配置路由器和交换机:

开始配置RRDTool之前,必须对需要监测的网络及设备进行良好的规划、设计与配置,包括配置设备互联地址、网管地址及路由,保证流量监测计算机可以与被监测设备网络层的互通;配置SNMP通信字符串和端口号,掌握需要的监测对象号(SNMPOID),确保流量监测计算机可以获取正确的SNMP信息。在路由器和交换机上启动SNMP,并设置只读团体名。命令如下:

(config)#snmp-serverenabletraps

(config)#snmp-servercommunitytestro

(2)安装配置RRDTool:

我们以Debian平台来安装配置RRDTOOL系统,在安装RRDTOOL前首先要安装支持RRDTOOL运行的环境:Zlib、libart_lgpl、cgilib、Libpng、freetype软件包。

①安装apache、mysql、php:apt-getinstallapache2php4mysql-serverphp4-mysql;安装成功后通过浏览器访问客户器,可以得到“Itworks!”的提示;利用mysqladmin工具给mysql添加好管理员密码。

②安装RRDTOOL:apt-getinstallrrdtool。

③安装NET-SNMP:apt-getinstallsnmp。

④安装Cacti:apt-getinstallcacti,在安装过程中会提示你输入mysql管理员密码和cacti数据库管理员密码。

(3)系统配置:

安装好系统后就要进行简单的初始化和配置,步骤如下:

①访问x.x.x.x/cacti,按照向导提示进行cacti的初始化安装;

②利用crontab-e添加计划任务:

*/5****/usr/bin/php/usr/share/cacti/site/poller.php>/dev/null2>&1

③利用cacti进行设备的添加;

④利用cacti进行绘图管理。

cacti其实是一套php程序,它运用snmpget采集数据,使用rrdtool绘图。它的界面非常漂亮,能让你根本无需明白rrdtool的参数能轻易的绘出漂亮的图形。更难能可贵的是,它提供了强大的数据管理和用户管理功能,一张图是属于一个host的,每一个host又可以挂载到一个树状的结构上。用户的管理上,作为一个开源软件,它居然做到为指定一个用户能查看的“树”、host、甚至每一张图,还可以与LDAP结合进行用户的验证!我不由得佩服作者考虑的周到!Cacti还提供自己增加模板的功能,让你添加自己的snmp_query和script!可以说,cacti将rrdtool的所有“缺点”都补足了!

网络地图

参考文献

[1]江魁,黄云森.基于RRDtool的网络性能监测系统实现[J].中山大学学报(自然科学版),2002,(增刊):16-19.