前言:本站為你精心整理了校園網(wǎng)絡(luò)攻防技術(shù)范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
摘要:網(wǎng)絡(luò)流量監(jiān)測是網(wǎng)絡(luò)性能分析和通信網(wǎng)絡(luò)規(guī)劃設(shè)計的基礎(chǔ),分析了SNMP模式網(wǎng)絡(luò)流量采集技術(shù),并利用php語言結(jié)合RRDTOOL、cacti等加以實現(xiàn),通過HTTP協(xié)議實現(xiàn)了客戶端用戶交互,最終生成實時的PNG格式流量圖,給網(wǎng)絡(luò)的正常運行網(wǎng)絡(luò)管理維護工作帶來極大的方便。
關(guān)鍵詞:SNMP;RRDTOOL;CACTI;流量監(jiān)控
1引言
隨著網(wǎng)絡(luò)技術(shù)的迅速發(fā)展和各種網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用的普及,用戶對網(wǎng)絡(luò)資源的需求不斷增長,網(wǎng)絡(luò)已成為人們?nèi)粘9ぷ魃钪胁豢苫蛉钡男畔⒊休d工具,同時人們對網(wǎng)絡(luò)性能的要求也越高,在眾多影響網(wǎng)絡(luò)性能的因素中網(wǎng)絡(luò)流量是最為重要的因素之一,它包含了用戶利用網(wǎng)絡(luò)進行活動的所有的信息。通過對網(wǎng)絡(luò)流量的監(jiān)測分析,可以為網(wǎng)絡(luò)的運行和維護提供重要信息,對于網(wǎng)絡(luò)性能分析、異常監(jiān)測、鏈路狀態(tài)監(jiān)測、容量規(guī)劃等發(fā)揮著重要作用。
SNMP(簡單網(wǎng)絡(luò)維護管理協(xié)議)是Internet工程任務(wù)組(IETF)在SGMP基礎(chǔ)上開發(fā)的,SNMP是由一系列協(xié)議組和規(guī)范組成的,SNMP的體系結(jié)構(gòu)包括SNMP管理者(SNMPManager)、SNMP者(SNMPAgent)和管理信息庫(MIB)。每個支持SNMP的網(wǎng)絡(luò)設(shè)備中都包含一個,不斷地收集統(tǒng)計數(shù)據(jù),并把這些數(shù)據(jù)記錄到一個管理信息庫(MIB)中,網(wǎng)絡(luò)維護管理程序再通過SNMP通信協(xié)議查詢或修改所紀錄的信息。從被管理設(shè)備中收集數(shù)據(jù)有兩種方法:輪詢方法和基于中斷的方法。SNMP最大的特點是簡單性,容易實現(xiàn)且成本低,利用SNMP協(xié)議能夠?qū)Ρ槐O(jiān)視的各個網(wǎng)絡(luò)端口輸入字節(jié)數(shù)、輸入非廣播包數(shù)、輸入廣播包數(shù)、輸入包丟棄數(shù)、輸入包錯誤數(shù)、輸入未知協(xié)議包數(shù)、輸出字節(jié)數(shù)、輸出非廣播包數(shù)、輸出廣播包數(shù)、輸出包丟棄數(shù)、輸出包錯誤數(shù)、輸出隊長等進行采集。
2RRDTOOL的工作原理
RRDTOOL代表“RoundRobinDatabasetool”,是TobiasOetiker設(shè)計的一個基于Perl的功能強大的數(shù)據(jù)儲存和圖形生成工具,最初設(shè)計目的是為流量統(tǒng)計分析工具MRTG提供更好的數(shù)據(jù)存儲性能和更強的圖形生成功能。所謂的“RoundRobin”其實是一種存儲數(shù)據(jù)的方式,使用固定大小的空間來存儲數(shù)據(jù),并有一個指針指向最新的數(shù)據(jù)的位置。我們可以把用于存儲數(shù)據(jù)的數(shù)據(jù)庫的空間看成一個圓,上面有很多刻度。這些刻度所在的位置就代表用于存儲數(shù)據(jù)的地方。所謂指針,可以認為是從圓心指向這些刻度的一條直線。指針會隨著數(shù)據(jù)的讀寫操作自動移動。要注意的是,這個圓沒有起點和終點,所以指針可以一直移動,而不用擔(dān)心到達終點后就無法前進的問題。在一段時間后,當(dāng)所有的空間都存滿了數(shù)據(jù),就又從頭開始存放。這樣整個存儲空間的大小就是一個固定的數(shù)值。所以RRDtool就是使用類似的方式來存放數(shù)據(jù)的工具,RRDtool所使用的數(shù)據(jù)庫文件的后綴名是''''.rrd''''。
和其它數(shù)據(jù)庫工具相比,它具有如下特點:
首先RRDtool存儲數(shù)據(jù),扮演了一個后臺工具的角色。但同時RRDtool又允許創(chuàng)建圖表,這使得RRDtool看起來又像是前端工具。其他的數(shù)據(jù)庫只能存儲數(shù)據(jù),不能創(chuàng)建圖表。
RRDtool的每個rrd文件的大小是固定的,而普通的數(shù)據(jù)庫文件的大小是隨著時間而增加的。
其他數(shù)據(jù)庫只是被動的接受數(shù)據(jù),RRDtool可以對收到的數(shù)據(jù)進行計算,例如前后兩個數(shù)據(jù)的變化程度(rateofchange),并存儲該結(jié)果。
RRDtool要求定時獲取數(shù)據(jù),其他數(shù)據(jù)庫則沒有該要求。如果在一個時間間隔內(nèi)(heartbeat)沒有收到值,則會用UNKN代替,其他數(shù)據(jù)庫則不會這樣做。
3監(jiān)測系統(tǒng)的安裝與配置
(1)配置路由器和交換機:
開始配置RRDTool之前,必須對需要監(jiān)測的網(wǎng)絡(luò)及設(shè)備進行良好的規(guī)劃、設(shè)計與配置,包括配置設(shè)備互聯(lián)地址、網(wǎng)管地址及路由,保證流量監(jiān)測計算機可以與被監(jiān)測設(shè)備網(wǎng)絡(luò)層的互通;配置SNMP通信字符串和端口號,掌握需要的監(jiān)測對象號(SNMPOID),確保流量監(jiān)測計算機可以獲取正確的SNMP信息。在路由器和交換機上啟動SNMP,并設(shè)置只讀團體名。命令如下:
(config)#snmp-serverenabletraps
(config)#snmp-servercommunitytestro
(2)安裝配置RRDTool:
我們以Debian平臺來安裝配置RRDTOOL系統(tǒng),在安裝RRDTOOL前首先要安裝支持RRDTOOL運行的環(huán)境: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數(shù)據(jù)庫管理員密碼。
(3)系統(tǒng)配置:
安裝好系統(tǒng)后就要進行簡單的初始化和配置,步驟如下:
①訪問x.x.x.x/cacti,按照向?qū)崾具M行cacti的初始化安裝;
②利用crontab-e添加計劃任務(wù):
*/5****/usr/bin/php/usr/share/cacti/site/poller.php>/dev/null2>&1
③利用cacti進行設(shè)備的添加;
④利用cacti進行繪圖管理。
cacti其實是一套php程序,它運用snmpget采集數(shù)據(jù),使用rrdtool繪圖。它的界面非常漂亮,能讓你根本無需明白rrdtool的參數(shù)能輕易的繪出漂亮的圖形。更難能可貴的是,它提供了強大的數(shù)據(jù)管理和用戶管理功能,一張圖是屬于一個host的,每一個host又可以掛載到一個樹狀的結(jié)構(gòu)上。用戶的管理上,作為一個開源軟件,它居然做到為指定一個用戶能查看的“樹”、host、甚至每一張圖,還可以與LDAP結(jié)合進行用戶的驗證!我不由得佩服作者考慮的周到!Cacti還提供自己增加模板的功能,讓你添加自己的snmp_query和script!可以說,cacti將rrdtool的所有“缺點”都補足了!
網(wǎng)絡(luò)地圖
參考文獻
[1]江魁,黃云森.基于RRDtool的網(wǎng)絡(luò)性能監(jiān)測系統(tǒng)實現(xiàn)[J].中山大學(xué)學(xué)報(自然科學(xué)版),2002,(增刊):16-19.