您当前的位置:首页 > 计算机论文>计算机网络论文

校园网络攻防技术研究

2015-07-06 10:46 来源:学术参考网 作者:未知
摘 要:网络流量监测是网络性能分析和通信网络规划设计的基础,分析了snmp模式网络流量采集技术,并利用php语言结合rrdtool、cacti等加以实现,通过http协议实现了客户端用户交互,最终生成实时的png格式流量图,给网络的正常运行网络管理维护工作带来极大的方便。
  关键词:snmp;rrdtool;cacti;流量监控 
  
  1 引言
  
  随着网络技术的迅速发展和各种网络业务应用的普及, 用户对网络资源的需求不断增长, 网络已成为人们日常工作生活中不可或缺的信息承载工具, 同时人们对网络性能的要求也越高, 在众多影响网络性能的因素中网络流量是最为重要的因素之一, 它包含了用户利用网络进行活动的所有的信息。通过对网络流量的监测分析,可以为网络的运行和维护提供重要信息, 对于网络性能分析、异常监测、链路状态监测、容量规划等发挥着重要作用。
  snmp(简单网络维护管理协议)是internet工程任务组(ietf)在sgmp基础上开发的,snmp是由一系列协议组和规范组成的,snmp的体系结构包括snmp管理者(snmpmanager)、snmp代理者(snmpagent)和管理信息库(mib)。每个支持snmp的网络设备中都包含一个代理,不断地收集统计数据,并把这些数据记录到一个管理信息库(mib)中,网络维护管理程序再通过snmp通信协议查询或修改代理所纪录的信息。从被管理设备中收集数据有两种方法:轮询方法和基于中断的方法。wWW.133229.COMsnmp最大的特点是简单性,容易实现且成本低,利用snmp协议能够对被监视的各个网络端口输入字节数、输入非广播包数、输入广播包数、输入包丢弃数、输入包错误数、输入未知协议包数、输出字节数、输出非广播包数、输出广播包数、输出包丢弃数、输出包错误数、输出队长等进行采集。
  
  2 rrdtool的工作原理
  
  rrdtool代表 “round robin database tool”,是tobiasoetiker设计的一个基于perl的功能强大的数据储存和图形生成工具,最初设计目的是为流量统计分析工具mrtg提供更好的数据存储性能和更强的图形生成功能。所谓的“round robin” 其实是一种存储数据的方式,使用固定大小的空间来存储数据,并有一个指针指向最新的数据的位置。我们可以把用于存储数据的数据库的空间看成一个圆,上面有很多刻度。这些刻度所在的位置就代表用于存储数据的地方。所谓指针,可以认为是从圆心指向这些刻度的一条直线。指针会随着数据的读写操作自动移动。要注意的是,这个圆没有起点和终点,所以指针可以一直移动,而不用担心到达终点后就无法前进的问题。在一段时间后,当所有的空间都存满了数据,就又从头开始存放。这样整个存储空间的大小就是一个固定的数值。所以rrdtool 就是使用类似的方式来存放数据的工具,rrdtool 所使用的数据库文件的后缀名是 '.rrd'。
  和其它数据库工具相比,它具有如下特点:
   首先 rrdtool 存储数据,扮演了一个后台工具的角色。但同时 rrdtool 又允许创建图表,这使得 rrdtool看起来又像是前端工具。其他的数据库只能存储数据,不能创建图表。
   rrdtool 的每个 rrd 文件的大小是固定的,而普通的数据库文件的大小是随着时间而增加的。
   其他数据库只是被动的接受数据, rrdtool 可以对收到的数据进行计算,例如前后两个数据的变化程度(rate ofchange),并存储该结果。
   rrdtool 要求定时获取数据,其他数据库则没有该要求。如果在一个时间间隔内(heartbeat)没有收到值,则会用 unkn 代替,其他数据库则不会这样做。
  
  3 监测系统的安装与配置
  
  (1)配置路由器和交换机:
  开始配置rrdtool之前 ,必须对需要监测的网络及设备进行良好的规划、设计与配置,包括配置设备互联地址、网管地址及路由 ,保证流量监测计算机可以与被监测设备网络层的互通;配置 snmp 通信字符串和端口号 ,掌握需要的监测对象号 ( snmp oid) ,确保流量监测计算机可以获取正确的snmp信息。在路由器和交换机上启动 snmp代理,并设置只读团体名。命令如下:
  (config) # snmp - server enable traps
  (config) # snmp - server community test ro
  (2)安装配置rrdtool:
  我们以debian平台来安装配置rrdtool系统,在安装rrdtool前首先要安装支持rrdtool运行的环境:zlib、 libart_lgpl 、cgilib 、libpng、 freetype软件包。
  ①安装apache、mysql、php:apt-get install apache2 php4 mysql-server php4-mysql;安装成功后通过浏览器访问客户器,可以得到“it works!”的提示;利用mysqladmin工具给mysql添加好管理员密码。
  ②安装rrdtool:apt-get install rrdtool。
  ③安装net-snmp:apt-get install snmp。
  ④安装cacti:apt-get install cacti,在安装过程中会提示你输入mysql管理员密码和cacti数据库管理员密码。
  (3)系统配置:
  安装好系统后就要进行简单的初始化和配置,步骤如下:
  ①访问http://x.x.x.x/cacti,按照向导提示进行cacti的初始化安装;
  ②利用crontab -e添加计划任务:
  */5 * * * * /usr/bin/php /usr/share/cacti/site/poller.php > /dev/null 2>&1
  ③利用cacti进行设备的添加;
  
  ④利用cacti进行绘图管理。
  
  cacti 其实是一套php程序,它运用snmpget采集数据,使用rrdtool绘图。它的界面非常漂亮,能让你根本无需明白rrdtool的参数能轻易的绘出漂亮的图形。更难能可贵的是,它提供了强大的数据管理和用户管理功能,一张图是属于一个host的,每一个host又可以挂载到一个树状的结构上。用户的管理上,作为一个开源软件,它居然做到为指定一个用户能查看的“树”、host、甚至每一张图,还可以与ldap结合进行用户的验证!我不由得佩服作者考虑的周到!cacti还提供自己增加模板的功能,让你添加自己的snmp_query和script!可以说,cacti将rrdtool的所有“缺点” 都补足了!


  网络地图

  
  参考文献
  [1]江魁,黄云森.基于rrdtool的网络性能监测系统实现[j].中山大学学报(自然科学版),2002,(增刊) :16-19.
相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页