Ntopng--网络流量监控与分析工具

当今世界,人们的计算机都相互连接,互联互通。小到你的家庭局域网(LAN),大到最大的一个被我们称为互联网。当你管理一台联网的计算机时,你就是在管理最关键的组件之一。由于大多数开发出的应用程序都基于网络,网络就连接起了这些关键点。

这就是为什么我们需要网络监控工具。Ntop是最好的网络监控工具之一。Ntop是网络流量监控中的新贵,它是一种网络嗅探器,以与top显示进程般类似的方式显示网络使用率,在监控网络数据传输、排除网络故障方面功能十分强大。它通过分析网络流量来判断网络上存在的各种问题,还可以监控是否有黑客正在攻击网络,如果网络突然变缓慢,通过Ntop截获的数据包,可以确定是什么类型的数据包占据了大量带宽,以及数据包的发送时间、数据包传送的延时、数据包的来源地址等,通过这些信息,运维人员可以及时做出相应,或者对网络进行调整,从而保持网络正常、稳定运行。在交互模式中,Ntop显示了用户终端上的网络状态。在网页模式中,Ntop作为网络服务器,创建网络状态的HTML转储文件。Ntop支持NetFlow/sFlowemitter/collector,这是一个基于HTTP的客户端界面,用于创建Ntop为中心的监控应用,并使用RRD来持续存储通信数据。

今天,你将见到Ntopng——下一代Ntop。

Ntopng是什么


Ntopng是一个基于网页的高速通信分析器和流量收集器。Ntopng基于ntop,它运行于所有Unix平台、MacOS X和Windows。

Ntop与Ntopng的功能

  • 可以自动从网络中获取有用的信息
  • 可以将获取的数据包信息转换为可识别的格式
  • 可以记录网络的通信时间和过程
  • 可以对网络中失败的通信进行分析
  • 可以发现网络中通信的瓶颈
  • 可以自动识别客户端正在使用的操作系统

Ntopng新功能

  • 以图形的方式动态展示流量状态
  • 实时监控网络数据并实时汇总
  • 以矩阵图的方式显示IP流量
  • 可以生成基于HTML5/AJAX的网络流量统计
  • 支持历史流量数据分析
  • 基于HTML5的动态图形用户界面

特性

  • 按各种协议对网络通信排序
  • 显示网络通信和IPv4/v6的激活主机
  • 持续不断以RRD格式存储定位主机的通信数据到磁盘
  • 通过nDPI,ntop的DPI框架,发现应用协议
  • 显示各种协议间的IP通信分布
  • 分析IP通信,并根据源/目的地址进行排序
  • 显示IP通信子网的矩阵(谁在和谁通信?)
  • 报告按协议类型排序的IP协议使用率
  • 生成HTML5/AJAX网络通信数据

Ntopng的安装(RedHat6.X/7.X)


安装的先决条件

安装开发工具

1
yum groupinstall "Development Tools" -y

安装TCL

1
yum install tcl -y

安装libpcaplibpcap-devel

说明
在RedHat6.X/7.X自带的软件源中只提供libpcap的安装,没有libpcap-devel,可自行到Linux Packages Search搜索对应系统版本的安装包进行安装,这里不再赘述

1
yum localinstall libpcap-1.4.0-4.20130826git2dbcaa1.el6.x86_64.rpm libpcap-devel-1.4.0-4.20130826git2dbcaa1.el6.x86_64.rpm  -y

Redis官网下载Redis源码包,按照以下步骤安装Redis

1
2
3
4
5
tar zxf redis-2.6.13.tar.gz
cd redis-2.6.13
make
make test
make install

安装Ntopng

1
2
3
4
git clone https://github.com/ntop/ntopng.git
cd ntopng/
./autogen.sh
./configure

执行./configure时会相继出现如下提示:

解决方法
执行如下命令后重新执行./configure

1
2
cd ..; git clone https://github.com/ntop/nDPI.git; cd nDPI; ./autogen.sh; make; cd ../ntopng
./configure

解决方法

1
2
yum install libcurl-devel -y
./configure

解决方法

1
2
yum install sqlite sqlite-devel -y
./configure

解决方法

1
2
yum install mysql-devel -y
./configure

解决方法

1
2
yum install wget -y
./configure

./configure成功后,执行make

1
make

执行make时会相继出现如下提示:

解决方法

1
2
yum install glib2-devel -y
make

解决方法

1
2
yum install  libxml2-devel -y
make

make成功后,执行make install完成安装

1
make install

为Ntopng创建配置文件

默认情况下,如果我们在./configure这一步没有明确修改安装文件夹的话,redis和ntopng将安装到/usr/local/目录下。接下来,我们需要为ntopng创建配置文件。

1
2
3
4
cd /usr/local/etc/
mkdir ntopng
cd ntopng/
vim ntopng.start

ntopng.start中的内容如下:

1
2
--local-network "192.168.220.0/24"  #指定要监控的本地子网段
--interface eth0 #指定监听eth0网卡上的流量

创建ntopng.pid文件

1
touch ntopng.pid

ntopng.pid中的内容如下:

1
-G=/var/run/ntopng.pid  #指定存储Ntopng进程号的文件路径

运行Ntopng

运行redis服务器

1
/usr/local/bin/redis-server &

运行Ntopng

1
/usr/local/bin/ntopng &

测试Ntopng

现在,你可以通过访问http://yourserver.name:3000http://your_ip:3000来测试ntopng应用,你将会看到ntopng登录页面。首次登录,你可以使用用户admin和密码admin

至此Ntopng安装配置完成,更过关于Ntopng的使用和信息可以访问Ntop官网

参考文档