使用ntopng在Linux上搭建基于Web的網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)
譯文【2014年1月16日 51CTO外電頭條】如果你負(fù)責(zé)監(jiān)控本地網(wǎng)絡(luò)上的網(wǎng)絡(luò)流量,可能會考慮許多不同的方法來進(jìn)行監(jiān)控,這取決于本地網(wǎng)絡(luò)的規(guī)模/流量、監(jiān)控平臺/界面以及后端數(shù)據(jù)庫類型等因素。
ntopng是一款采用開源技術(shù)(GPLv3)的網(wǎng)絡(luò)流量分析工具,它為實時監(jiān)控網(wǎng)絡(luò)流量提供了一個Web界面。它可以在多個平臺上運(yùn)行,包括Linux和Mac OS X。ntopng本身隨帶一個簡單的類似RMON的代理軟件,內(nèi)置Web服務(wù)器功能,并使用支持Redis的鍵值服務(wù)器來存儲時間序列統(tǒng)計數(shù)字。你可以將ntopng網(wǎng)絡(luò)流量分析工具安裝到與你網(wǎng)絡(luò)連接的任何指定的監(jiān)控服務(wù)器上,可以使用Web瀏覽器,訪問服務(wù)器上現(xiàn)有的實時流量報告。
我在本教程中將介紹如何使用ntopng,在Linux上搭建基于Web的網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)。
ntopng的功能特性
- 對本地網(wǎng)絡(luò)流量進(jìn)行流量層、協(xié)議層的實時分析。
- 域、自主系統(tǒng)(AS)和虛擬局域網(wǎng)(VLAN)等層面的統(tǒng)計數(shù)字。
- IP地址的地理位置。
- 基于深層數(shù)據(jù)包檢查(DPI)的服務(wù)發(fā)現(xiàn)(比如谷歌和Facebook)。
- 歷史流量分析(比如分析每小時、每天、每周、每月、每年的流量)。
- 通過nProbe,支持sFlow、NetFlow(v5/v9)和IPFIX。
- 網(wǎng)絡(luò)流量矩陣(誰跟誰通信?)。
- 支持IPv6。
將ntopng安裝在Linux上
官方網(wǎng)站為Ubuntu和CentOS提供了二進(jìn)制程序包。
如果你想從其源處構(gòu)建最新的ntopng,請遵照下面的指示操作(最新信息:這些指示適用于ntopng 1.0。如果是ntopng 1.1或更高版本,請參閱最新指示。)。
想在Debian、Ubuntu或Linux Mint上構(gòu)建ntopng:
- $ 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
在上述步驟中,"make geoip"會使用wget命令,從maxmind.com自動下載免費(fèi)版的GeoIP數(shù)據(jù)庫。所以,要確保你的系統(tǒng)已連接至網(wǎng)絡(luò)。
想在Fedora上構(gòu)建ntopng:
- $ 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
想把ntopng安裝到CentOS或RHEL上,先建立EPEL軟件庫(http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html),然后遵照與上面Fedora中同樣的指示操作即可。
在Linux上配置ntopng
構(gòu)建了ntopng后,為ntopng創(chuàng)建一個配置目錄,并且準(zhǔn)備好默認(rèn)配置文件,如下所示。我假設(shè),"192.168.1.0/24"是你本地網(wǎng)絡(luò)的CIDR地址前綴。
- $ 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之前,確保先啟動redis,這是ntopng的鍵值存儲區(qū)。
想在Debian、Ubuntu或Linux Mint上啟動ntopng:
- $ sudo /etc/init.d/redis-server restart
- $ cd ~/ntopng-1.0/
- $ sudo ./ntopng
想在Fedora、CentOS或RHEL上啟動ntopng:
- $ sudo service redis restart
- $ cd ~/ntopng-1.0/
- $ sudo ./ntopng
默認(rèn)情況下,ntopng在TCP/3000端口偵聽。使用下面這個命令,證實確實如此。
- $ sudo netstat -nap|grep ntopng
- tcp 0 0 0.0.0.0:3000 0.0.0.0
- :* LISTEN 29566/ntopng
在基于Web的界面中監(jiān)控網(wǎng)絡(luò)流量
一旦ntopng成功運(yùn)行,使用你的Web瀏覽器,進(jìn)入到http://<ip-address-of-host>:3000,即可訪問ntopng的Web界面。
你會看到ntopng的登錄屏幕。使用默認(rèn)的用戶名和密碼:"admin/admin",即可登錄。
下面是實際使用的ntopng的幾個屏幕截圖。
頂峰流量的實時圖示。
頂峰主機(jī)、頂峰協(xié)議和頂峰AS號的實時統(tǒng)計數(shù)字。
活動流量的實時報告,使用了基于DPI的應(yīng)用程序/服務(wù)自動發(fā)現(xiàn)。
歷史流量分析。
原文鏈接:http://xmodulo.com/2013/10/set-web-based-network-traffic-monitoring-linux.html