如何在Linux上配置基于Web的網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)
當(dāng)你在本地網(wǎng)絡(luò)監(jiān)控網(wǎng)絡(luò)流量,根據(jù)流量大小、監(jiān)控平臺(tái)/接口、數(shù)據(jù)庫類型等等,可以有許多不同的選擇。
ntopng是一套開源(遵循GPLv3協(xié)議)網(wǎng)絡(luò)流量分析解決方案,提供基于web界面的實(shí)時(shí)網(wǎng)絡(luò)流量監(jiān)控。支持跨平臺(tái),包括Linux和MacOS X。ntopng類似于RMON遠(yuǎn)端網(wǎng)絡(luò)監(jiān)控代理,具有內(nèi)置的Web服務(wù)能力,使用Redis鍵值服務(wù)按時(shí)間序列存儲(chǔ)統(tǒng)計(jì)信息。你可以在任何指定的監(jiān)控服務(wù)器上安裝ntopng,只需使用任一web瀏覽器,就能實(shí)時(shí)訪問服務(wù)器上的流量報(bào)告了。
本教程就來介紹如何使用ntopng在Linux上配置基于Web的網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)。
ntopng的特性
- 從數(shù)據(jù)流級(jí)別與協(xié)議級(jí)別對(duì)本地網(wǎng)絡(luò)流量進(jìn)行實(shí)時(shí)分析
- 支持域、AS(自制系統(tǒng))與VLAN級(jí)別的統(tǒng)計(jì)分析
- 支持IP地址地理定位
- 支持基于“服務(wù)探索”(例如Google、Facebook)的深度報(bào)文檢測(cè)(DPI)
- 歷史流量分析(例如分別按照小時(shí)、日、周、月、年進(jìn)行分析)
- 支持sFlow、NetFlow(v5/v9版)以及基于nProbe的IPFIX
- 網(wǎng)絡(luò)流量矩陣(誰正在和誰談話?)
- 支持IPv6
在Linux上安裝ntopng
官方網(wǎng)頁上提供了針對(duì)Ubuntu和CentOS的二進(jìn)制安裝包。如果你使用的恰好是以上二者其一,并且懶得用源碼安裝,可以直接到官網(wǎng)下載二進(jìn)制文件包安裝,并忽略這一小節(jié)下面的內(nèi)容。
如果你想通過源碼安裝最新的ntopng,請(qǐng)繼續(xù)往下看。
如果你是Debian、Ubuntu或Linux Mint,執(zhí)行以下命令:
- $ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget libxml2-dev
- $ tar xzf ntopng-1.0.tar.gz -C ~
- $ cd ~/ntopng-1.0/
- $ ./configure
- $ make geoip
- $ make
上面的幾個(gè)步驟中,“make geoip”將會(huì)自動(dòng)通過wget從maxmind.com下載一個(gè)免費(fèi)版的GeoIP數(shù)據(jù)庫,因此,這里最好確保你的系統(tǒng)能聯(lián)網(wǎng)。
如果你是Fedora:
- $ sudo yum install libpcap-devel glib2-devel GeoIP-devel libxml2-devel
- libxml2-devel redis wget
- $ tar xzf ntopng-1.0.tar.gz -C ~
- $ cd ~/ntopng-1.0/
- $ ./configure
- $ make geoip
- $ make
如果你是CentOS或RHEL,首先設(shè)置EPEL repository,然后再執(zhí)行上面和Fedora一樣的命令就可以。
在Linux上配置ntopng
ntopng安裝完畢之后,接下來,新建一個(gè)ntopng配置目錄,然后按照下列命令準(zhǔn)備默認(rèn)的配置文件。這里我假設(shè)你的本地網(wǎng)絡(luò)地址為C類“192.168.1.0/24”。
- $ sudo mkir /etc/ntopng -p
- $ sudo -e /etc/ntopng/ntopng.start
修改如下:
--local-networks "192.168.1.0/24"
--interface 1
- $ sudo -e /etc/ntopng/ntopng.conf
修改如下:
-G=/var/run/ntopng.pid
在運(yùn)行ntopng之前,要確認(rèn)先啟動(dòng)redis,剛才不說了,redis為ntopng提供鍵值存儲(chǔ)嘛~
在Debian、Ubuntu和Linux Mint上,這樣啟動(dòng):
- $ sudo /etc/init.d/redis-server restart
- $ sudo ./ntopng
在Fedora、CentOS和RHEL上,這樣啟動(dòng):
- $ sudo service redis restart
- $ sudo ./ntopng
ntopng默認(rèn)監(jiān)聽TCP的3000端口,使用下列命令加以確認(rèn):
- $ sudo netstat -nap|grep ntopng tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 29566/ntopng
基于Web界面的網(wǎng)絡(luò)流量監(jiān)控
一旦ntopng成功運(yùn)行,就可以打開瀏覽器,訪問地址http://<你的主機(jī)IP地址>:3000
這時(shí),你會(huì)看到ntopng的登錄界面。使用默認(rèn)帳密:“admin/admin”。
下面是一些截圖。
top流的實(shí)時(shí)可視化圖像
top主機(jī)的實(shí)時(shí)統(tǒng)計(jì),包括top協(xié)議和top AS數(shù)量
基于DPI的自動(dòng)程序/服務(wù)探索生成的的實(shí)時(shí)數(shù)據(jù)報(bào)告
歷史流量數(shù)據(jù)分析
via: http://xmodulo.com/2013/10/set-web-based-network-traffic-monitoring-linux.html