網路流量分析2

来源:百度文库 编辑:神马文学网 时间:2024/04/27 16:18:40
■網路流量分析
對網管人員來說,網路流量分析是網路管理相當重要的一環,目的是為了避免資源濫用
、有效發揮網路效能,和過濾和掌控可能因為病毒蠕蟲、垃圾郵件或入侵攻擊所導致的異常
流量以免癱瘓其他合法使用者網路服務等等。本文將介紹兩個知名常見的流量監測工具—
MRTG與Cacti供網管人員參考,能更方便瞭解自己伺服器的網路流量以便於管理。
MRTG
MRTG (Multi Router Traffic Grapher) 是一個年代久遠卻十分普遍好用的流量分析軟
體,繪圖介面簡單易懂,耗用資源的程度也低,主要可以偵測以下三種流量:
1.網路卡整體流量
2.CPU 使用率
3.RAM 使用率
MRTG是透過SNMP(Simple Network Management Protocol,簡單網路管理協議)向指定的
網路設備要求相關資料,每幾分鐘統計該設備之流量,將統計結果傳回給MRTG進行繪製,網
管人員即可輕易地由統計圖上觀察出實際的網路流量。SNMP協議專門供給監測連接網路設備
使用,要使用MRTG必須支援SNMP協定及perl才行。以下範例是FreeBSD 4.11上的實際安裝步
驟,MRTG是一種跨平台軟體,可安裝在任何Unix-like的系統上,可以依自己的系統,找出安
裝套件的方式使用。
安裝步驟:
1.安裝SNMP
#cd /usr/ports/net-mgmt/net-snmp4
#make ; make install
值得注意的是net-snmp4內安裝的是ucd-snmp,而feebsd5.0以後的系列已經不用ucd-snmp而
是改用net-snmp,所以使用ports tree更新的freebsd5.0以後用戶必須改為
/usr/ports/net-mgmt/net
2.檢查snmpd.conf設定
#cd /usr/local/share/snmp
#vim snmpd.conf
新增一個snmpd.conf檔案並加入以下內容
rocommunity public
syslocation FreeBSD
syscontact Maintainer
sysname LocalHost
3.啟動snmpd.sh
#usr/local/etc/rc.d/snmpd.sh
4.設定開機啟動snmp
#ee /etc/rc.conf
snmpd_enable="YES"
snmpd_flags="-p /var/run/snmpd.pid"
5.安裝MRTG套件
#cd /usr/ports/net-mgmt/mrtg
#make ; make install
6.產生mrtg.cfg設定檔
#cd /usr/local/etc/mrtg
#cfgmaker public@欲監控的ip > mrtg.cfg
「欲監控的ip」請輸入實際要監控的ip位址,通常為本機ip。
7.產生mrtg.cfg
在/usr/local/etc/mrtg輸入以下指令:
#cfgmaker \
--global 'WorkDir: /usr/local/www/data/mrtg' \
--global 'Options[_]: growright, bits' \
--global 'Language: big5' \
--global 'WithPeak[_]: wmy' \
public@欲監控的ip \
? > /usr/local/etc/mrtg/mrtg.cfg
其中--global 'WorkDir: /usr/local/www/data/mrtg'是設定放置mrtg的目錄。
8.產生首頁
#indexmaker \
--title 'MRTG - 網路流量分析' \
--addhead='' \
--output /usr/local/www/data/mrtg/index.html \
--columns=1 \
--nolegend \
/usr/local/etc/mrtg/mrtg.cfg
其中--output /usr/local/www/data/mrtg/index.html是指定首頁
9.執行MRTG
#/usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg
第一次執行會有錯誤,執行個三次就會正常運行,不放心可以多下幾次指令。
到此MRTG算是安裝完成,之後若想改設定檔更新請從步驟7開始重新操作,便會重新建立MRTG。
最後不要忘記將mrtg指令加入crontab
*/5 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg
以上設定是指每五分鐘更新一次MRTG的資料。
Cacti
MRTG是一套開發已久的軟體,簡單易上手,安裝完後僅需更改配置檔即可,然而由以上
的安裝步驟可以發現以下幾項缺點,
1. 使用文本式的資料庫,資料不能重複使用
2. 只能按日/周/月/年來查看資料
3. 能繪製出的圖形有限
4. 無管理功能
因此原作者又開發了一套RRDtool替代MRTG,兩者相較優點如下:
1. 使用RRD存儲格式,資料能重複使用,例如可將不同RRD檔中的資料相加。
2. 可依不同需求定義任意時間區段繪製圖表,例如可設定繪出一年內或半小時內的網路流
量分析圖。
3. 是個強大的繪圖引擎,能依需求繪出任意圖型
然而RDRtool也有下述缺點:
1. RRDtool的作用只是儲存資料和繪圖,不似MRTG具有集成的資料獲取功能
2. 在命令列的使用相較MRTG較為複雜,使用極多的參數
3. 缺乏管理功能
RRDtool的複雜指令對於一般使用者來說操作上較不友善,因此Cacti應運而生,除了可監
控 SNMP流量跟系統資訊外,也可依需求另行外掛其他的scripts並加上不同的templates繪製
網路流量監控圖。相較於MRTG來說Cacti在管控上相形便利,然而如果網路設備過多的情況下
,可能過於耗費系統資源而使得Cacti無法動彈,網路管理者應參酌需求適當使用。
安裝步驟:
1.先確認server上已安裝 Apache, PHP 和 MySQL
基本上php必須能開啟snmp, sockets 和gd函式庫
2.安裝SNMP
可參照前面mrtg安裝SNMP的部分
3.安裝RRDTool
由於rrdtool1.2版本已經不再自帶外部的lib庫(如cgilib,zlib等),所以需要從
http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/libs/ 下載安裝,建議還是使
用1.0.x的版本比較方便
(http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/rrdtool-1.0.x/rrdtool-1.0.50.tar.gz)
4.安裝Cacti並建立MySQL資料庫
# mysqladmin --user=root create cacti
5.匯入預設的cacti資料庫
#mysql cacti < cacti.sql
6.修改檔案 include/config.php 連接 MySQL 的使用者、密碼及資料庫名稱
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "cacti";
7.新增Unix使用者
#useradd -r -M cactiuser
8.設定log及rra資料夾權限
# chown -R cactiuser rra/ log/
9.新增自動執行到您的 /etc/crontab 檔案裡
*/5 * * * * cactiuser php /var/www/html/cacti/poller.php > /dev/null 2>&1
值得注意的是要以前面新增的使用者來執行,請勿以root身份執行,否則會有權限的問題。
10.將Cacti的執行目錄設定到apache中,使它可以運行,如果到這都沒問題,就可以使用圖形化介面來管理
11.打開您的瀏覽器輸入網址 http://your-server/cacti/
登入的帳號密碼預設都是 admin,登入後需立即更改密碼以策安全,並輸入相關資訊,如rrdtool, php,
snmpwalk和snmpget的位置,使用ucd-snmp或net-snmp等等。
Cacti集MRTG與RRDtool之大成,使用snmpget收集流量資訊並發揮RRDtool強大繪圖功能,並提供強大的
資料及用戶管理,相信對網管人員可提供事半功倍之效。
在電腦網路蓬勃發展的現今社會,使用者所擁有的頻寬越來越大,更需要完善的管理機制管控網路流量
,以期達到公平分配網路資源,發揮最大使用效益。透過觀察、記錄、分析、解決網路流量可瞭解網路使用
狀況,提供網管人員作為網路建置與管理決策的參考,才能有效達到網路控管的目的。
from site :http://www.cert.org.tw/document/column/show.php?key=116