網路流量分析

来源:百度文库 编辑:神马文学网 时间:2024/04/27 13:49:12
■網路流量分析
對網管人員來說,網路流量分析是網路管理相當重要的一環,目的是為了避免資源濫用
、有效發揮網路效能,和過濾和掌控可能因為病毒蠕蟲、垃圾郵件或入侵攻擊所導致的異常
流量以免癱瘓其他合法使用者網路服務等等。本文將介紹兩個知名好用的流量監測工具—
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=114