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 |
安装libpcap和libpcap-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 | tar zxf redis-2.6.13.tar.gz |
安装Ntopng
1 | git clone https://github.com/ntop/ntopng.git |
执行./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 | cd /usr/local/etc/ |
ntopng.start中的内容如下:
1 | --local-network "192.168.220.0/24" #指定要监控的本地子网段 |
创建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:3000或http://your_ip:3000来测试ntopng应用,你将会看到ntopng登录页面。首次登录,你可以使用用户admin和密码admin 

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