使用ntopng在Linux上搭建基于Web的网络流量监控系统


2014年1月16日 51CTO外电头条】如果你负责监控本地网络上的网络流量,可能会考虑许多不同的方法来进行监控,这取决于本地网络的规模/流量、监控平台/界面以及后端数据库类型等因素。

ntopng是一款采用开源技术GPLv3)的网络流量分析工具,它为实时监控网络流量提供了一个Web界面。它可以在多个平台上运行,包括Linux和Mac OS X。ntopng本身随带一个简单的类似RMON的代理软件,内置Web服务器功能,并使用支持Redis的键值服务器来存储时间序列统计数字。你可以将ntopng网络流量分析工具安装到与你网络连接的任何指定的监控服务器上,可以使用Web浏览器,访问服务器上现有的实时流量报告。

我在本教程中将介绍如何使用ntopng,在Linux上搭建基于Web的网络流量监控系统。

ntopng的功能特性

  • 对本地网络流量进行流量层、协议层的实时分析。
  • 域、自主系统AS)和虚拟局域网VLAN)等层面的统计数字。
  • IP地址的地理位置。
  • 基于深层数据包检查DPI)的服务发现比如谷歌和Facebook)。
  • 历史流量分析比如分析每小时、每天、每周、每月、每年的流量)。
  • 通过nProbe,支持sFlow、NetFlowv5/v9)和IPFIX。
  • 网络流量矩阵谁跟谁通信?)。
  • 支持IPv6。

将ntopng安装在Linux上

官方网站为Ubuntu和CentOS提供了二进制程序包。

如果你想从其源处构建最新的ntopng,请遵照下面的指示操作最新信息:这些指示适用于ntopng 1.0。如果是ntopng 1.1或更高版本,请参阅最新指示。)。

想在Debian、Ubuntu或Linux Mint上构建ntopng:

  1. $ sudo apt-get install libpcap-dev libglib2.0-dev libgeoip-dev redis-server wget libxml2-dev 
  2. $ tar xzf ntopng-1.0.tar.gz -C ~ 
  3. $ cd ~/ntopng-1.0/ 
  4. $ ./configure 
  5. $ make geoip 
  6. $ make 

在上述步骤中,"make geoip"会使用wget命令,从maxmind.com自动下载免费版的GeoIP数据库。所以,要确保你的系统已连接至网络。

想在Fedora上构建ntopng:

  1. $ sudo yum install libpcap-devel glib2-devel GeoIP-devel libxml2-devel libxml2-devel redis wget 
  2. $ tar xzf ntopng-1.0.tar.gz -C ~ 
  3. $ cd ~/ntopng-1.0/ 
  4. $ ./configure 
  5. $ make geoip 
  6. $ make 

想把ntopng安装到CentOS或RHEL上,先建立EPEL软件库http://xmodulo.com/2013/03/how-to-set-up-epel-repository-on-centos.html),然后遵照与上面Fedora中同样的指示操作即可。

在Linux上配置ntopng

构建了ntopng后,为ntopng创建一个配置目录,并且准备好默认配置文件,如下所示。我假设,"192.168.1.0/24"是你本地网络的CIDR地址前缀。

  1. $ sudo mkir /etc/ntopng -p 
  2. $ sudo -e /etc/ntopng/ntopng.start --local-networks "192.168.1.0/24" 
  3. --interface 1 
  4. $ sudo -e /etc/ntopng/ntopng.conf 
  5. -G=/var/run/ntopng.pid 

在运行ntopng之前,确保先启动redis,这是ntopng的键值存储区。

想在Debian、Ubuntu或Linux Mint上启动ntopng:

  1. $ sudo /etc/init.d/redis-server restart 
  2. $ cd ~/ntopng-1.0/ 
  3. $ sudo ./ntopng 

想在Fedora、CentOS或RHEL上启动ntopng:

  1. $ sudo service redis restart 
  2. $ cd ~/ntopng-1.0/ 
  3. $ sudo ./ntopng 

默认情况下,ntopng在TCP/3000端口侦听。使用下面这个命令,证实确实如此。

  1. $ sudo netstat -nap|grep ntopng 
  2. tcp        0      0 0.0.0.0:3000            0.0.0.0 
  3. :*      LISTEN     29566/ntopng 

在基于Web的界面中监控网络流量

一旦ntopng成功运行,使用你的Web浏览器,进入到http://<ip-address-of-host>:3000,即可访问ntopng的Web界面。

你会看到ntopng的登录屏幕。使用默认的用户名和密码:"admin/admin",即可登录。 

下面是实际使用的ntopng的几个屏幕截图。

顶峰流量的实时图示。

顶峰主机、顶峰协议和顶峰AS号的实时统计数字。

活动流量的实时报告,使用了基于DPI的应用程序/服务自动发现。

历史流量分析。

相关内容