当今世界,人们的计算机都相互连接,互联互通。小到你的家庭局域网(LAN),大到最大的一个被我们称为互联网。当你管理一台联网的计算机时,你就是在管理最关键的组件之一。由于大多数开发出的应用程序都基于网络,网络就连接起了这些关键点。
这就是为什么我们需要网络监控工具。ntop 是最好的网络监控工具之一。来自维基百科的知识“ntop是一个网络探测器,它以与top显示进程般类似的方式显示网络使用率。在交互模式中,它显示了用户终端上的网络状态。在网页模式中,它作为网络服务器,创建网络状态的HTML转储文件。它支持NetFlow/sFlowemitter/collector,这是一个基于HTTP的客户端界面,用于创建ntop为中心的监控应用,并使用RRD来持续存储通信数据”。
15年后的今天,你将见到ntopng——下一代ntop。
ntopng是什么Ntopng是一个基于网页的高速通信分析器和流量收集器。Ntopng基于ntop,它运行于所有Unix平台、MacOS X和Windows。
特性从ntopng网站上,我们可以看到他们说它有众多的特性。这里列出了其中一些:
按各种协议对网络通信排序
显示网络通信和IPv4/v6的激活主机
持续不断以RRD格式存储定位主机的通信数据到磁盘
通过nDPI,ntop的DPI框架,发现应用协议
显示各种协议间的IP通信分布
分析IP通信,并根据源/目的地址进行排序
显示IP通信子网的矩阵(谁在和谁通信?)
报告按协议类型排序的IP协议使用率
生成HTML5/AJAX网络通信数据
安装的先决条件Ntop为CentOS和基于64位Ubuntu预编译好了包,你可以在它们的下载页面找到这些包。对于32位操作系统,你必须从源代码编译。本文在CentOS 6.4 32位版本上测试过。但是,它也可以在其它基于CentOS/RedHat的Linux版本上工作。让我们开始吧。
开发工具你必须确保你安装了编译ntopng所需的所有开发工具,要安装开发工具,你可以使用yum命令:
# yum groupinstall ‘Development Tools’
安装TCL# yum install tcl
安装libpcap# yum install libpcap libcap-devel
安装Redis# wget
# tar zxfv redis-2.6.13.tar.gz
# cd redis-2.6.13
# make 32bit
# make test
# make install
安装ntopng 方法 1 :# wget
# tar zxfv ntopng-1.1_6932.tgz
# cd ntopng-1.1_6932
# ./configure
# make
# make install
方法 2 :在我的CentOS 6.4上,我使用方法 1时收到了一个错误消息,错误消息内容如下:
./third-party/LuaJIT-2.0.2/src/libluajit.a : could not read symbols :Filein wrong format
所以,我切换到了SVN来安装。对于此方法,需要联网,步骤如下:
# svn co https://svn.ntop.org/svn/ntop/trunk/ntopng/
# ./autogen.sh
# ./configure
# make
# make install
由于ntopng是一个基于网页的应用,你的系统必须安装有工作良好的 Web 服务器
为ntopng创建配置文件如果一切都已安装完毕,那么我们该来运行它了。默认情况下,如果我们在./configure这一步没有明确修改安装文件夹的话,redis和ntopng将安装到/usr/local/文件夹。接下来,我们需要为ntopng创建配置文件。在本文中,我们使用vi作为文本编辑器。你也可以使用你所中意的文本编辑器来创建ntopng的配置文件。
# cd /usr/local/etc
# mkdir ntopng
# cd ntopng
# vi ntopng.start
放入这些行:
--local-network "10.0.2.0/24"
--interface1
# vi ntopng.pid
放入该行:
-G=/var/run/ntopng.pid
保存这些文件,然后继续下一步。
运行ntopng我们假定你已正确安装了网络服务器,那么下一步就是运行redis服务器。
# /usr/local/bin/redis-server
然后,运行ntopng
# /usr/local/bin/ntopng
测试ntopng