背景

网关路由器使用routeros,无法查询到连接客户端的历史流量记录信息,这部分如果记录的话,需要消化本地的磁盘空间,ROS磁盘空间一般都是比较小,再者记录这个信息对于大部分使用的场景都不是必须的。但是对于中大型级别的企业出口网关的话是有必要,这样可以记录所有的客户端出网流量多少,日常工作中大量的下载流量是否为工作需要。历史记录信息就可以作为一个参考数据。ROS提供了netflow流量协议支持,可以通过设置把流量信息,发送到分析的服务器进行记录,本文提供了ntopng作为分析工具进行参考。

【正文开始】

ntopng官网:

http://www.ntop.org/products/traffic-analysis/ntop/

ntopng github项目地址:

https://github.com/ntop/ntopng

(提供开源免费的社区版本)

ntopng是原始ntop的下一代版本,一个显示网络使用情况的网络流量探测器,类似于受欢迎的顶级Unix命令。

ntopng是基于libpcap,它已经以便携式的方式编写,以便在每个Unix平台,MacOSX和Windows上虚拟运行。

ntopng用户可以使用Web浏览器浏览ntop(作为Web服务器)流量信息,并获取网络状态的转储。

在后一种情况下,ntopng可以看作是具有嵌入式Web界面的简单的类似RMON的代理。

指某东西的用途:

  • 一个网页界面。
  • 通过Web界面进行有限的配置和管理。
  • 减少CPU和内存使用(它们根据网络规模和流量而有所不同)。

基本功能介绍:

  • 根据IP地址,端口,L7协议,吞吐量等多种标准对网络流量进行排序。
  • 显示网络流量和IPv4 / v6活动主机。
  • 生成关于各种网络指标(如吞吐量,应用协议)的长期报告
  • Top X讲话者/听众,顶级AS,顶级L7应用程序。
  • 对于每个通信流量报告网络/应用程序延迟/ RTT,TCP统计(重传,数据包OOO,数据包丢失),字节/数据包
  • 以RRD格式存储磁盘持久流量统计信息。
  • 根据主机位置定位主机并显示报告。
  • 通过利用nDPI,ntop的DPI框架来发现应用协议。
  • 通过利用Google提供的特征描述服务和HTTP黑名单来表征HTTP流量
  • 在各种协议之间显示IP流量分配。
  • 分析IP流量并根据源/目的地进行排序。
  • 显示IP流量子网矩阵(谁在和谁交谈?)
  • 报告按协议类型排序的IP协议使用情况。
  • 制作HTML5 / AJAX网路流量统计资料。

安装ngtop\nProbe

安装过程直接引用官方的指引。

In order to use this repository do (as root):

then do:

  • yum erase zeromq3 (Do this once to make sure zeromq3 is not installed)
  • yum clean all
  • yum update
  • yum install pfring n2disk nprobe ntopng ntopng-data cento

在安装时,如果不能完成依赖的完整性,可能是没有关联到epel仓库的内容,则可以在yum增加启用epel参数

yum install --enablerepo=epel pfring n2disk nprobe ntopng ntopng-data cento

PF_RING is now packaged without ZC drivers so you can optionally install them:

  • yum install pfring-drivers-zc-dkms

Most software works without licenses. However some components do need a license. They include:

  • PF_RING ZC user-space libraries
  • nProbe (NetFlow/IPFIX probe)
  • n2disk (packet to disk application)

You can find more info on thentop site, or acquire licenses on the ntop e-shop.

We remind you that all ntop products are available at no cost to universities and research.

NOTE

  • If you are a nProbe user and want to install a nprobe package with no dependency, please install the nprobes

    (rather than the nprobe) package. Note that you can either install the nprobe or the nprobes package

    but NOT both simultaneously.

安装redis服务

wget http://download.redis.io/releases/redis-3.2.8.tar.gz

tar xvf redis-3.2.8.tar.gz

cd redis-3.2.8

make

make install

配置数据库

将收集的数据内容,存放到MySQL里面,方便日后查询历史数据。

yum install mysql-server

新建数据库并授权权限

create database ntopng;

grant all on ntopng.* to ntopng@localhost identified by 'ntopng15102' ;

flush privileges;

ntopng 启动配置文件

指定配置文件的方式为了每次启动软件都是相同的配置情况下运行,确保数据的一致性。

# cat ntopng.conf

--local-networks "192.168.20.0/22,192.168.14.0/23,192.168.88.0/23” (只收集指定的本地网段)

-F "mysql;localhost;ntopng;flows;ntopng;ntopng15102” (配置把flow数据写入到mysql里面)

--interface "tcp://127.0.0.1:1234” (从指定的本地端口收集netflow数据,注意这个数据是经过了nProbe进行转换格式)

nProbe接收并转换数据(关键的步骤)

nprobe -i none -n none -3 2055 --zmq tcp://127.0.0.1:1234 (它的意思是监听2055端口接收回来的数据,并把数据处理ntopng能识别的内容,并转发到1234端口)

routeros配置

在ip——Traffic flow 进行配置转发到netflow分析服务器

注意配置端口和发送数据的版本。

完整启动所有程序

1、mysql 启动数据库

2、redis-server & 回车运行即可,默认端口是6379

3、nprobe -i none -n none -3 2055 --zmq tcp://127.0.0.1:1234 &

监听2055端口,并转发给1234端口

4、 ntopng /usr/local/etc/ntopng.conf &

运行指定的配置文件。参考文章:

http://xautlmx.github.io/2015-11-16-Ntopng-网络流量监控与分析工具.html

http://packages.ntop.org/centos/

注意:

ntopng收集的数据都会存放在本地的磁盘,所以会占用大量空间,如果需要长期积累数据,要预留足够空间。

results matching ""

    No results matching ""