网络流量监测与管理(二):NetFlow

日期: 2007-12-26 作者:邵喻美 来源:TechTarget中国

        NetFlow

        (一)NetFlow简介

        NetFlow为Cisco之专属协议,提供路由器中第三层之信息,可用来了解该路由器所传输之封包表头内容,依据此内容,我们可以撰写程序将 所获得之资料加以统计。一旦收集到路由器上的详细流量数据后,便可为网络流量统计、网络使用量计价、网络规划、网络监测等应用提供计 数根据。同时,NetFlow也提供针对QoS(Quality of Service)的测量基准,能够捕捉到每笔数据流的流量分类或优先性特性,而能够进一步 根据QoS进行分级收费。

        目前Cisco网站上所提供可执行netflow之硬件数据:

        NetFlow versions Supported Platforms

Cisco IOS Software Release Version Supported NetFlow Export Version(s) Supported Cisco Hardware Platforms 
 11.1CA, 11.1CC v1, v5 Cisco 7200, 7500, RSP7000 
11.2, 11.2P   v1 Cisco 7200, 7500, RSP7000 
11.2P v1 Route Switch Module (RSM), 11.2(10)P and later 
11.3, 11.3T v1 Cisco 7200, 7500, RSP7000 
12.0 v1, v5 Cisco 2600, 3600, 4500, 4700, AS5800, 7200, uBR7200, 7500, RSP7000, RSM 
12.0T V1, v5 Cisco 1000*,1600*,1720**, 2500*,2600, 3600, 4500, 4700, AS5800, 7200, uBR7200, 7500, RSP7000, RSM, MGX8800 RPM 
12.0(3)T and later v8 Cisco 1000*,1600*,1720**, 2500*,2600, 3600, 4500, 4700, AS5800, 7200, uBR7200, 7500, RSP7000, RSM, MGX8800 RPM 
N/A v7 Catalyst 5000 NetFlow Feature Card (NFFC)

(参考http://www.cisco.com/warp/public/cc/pd/iosw/ioft/neflct/tech/napps_wp.htm

        (二)执行NetFlow

        1. 路由器的设定

        在收集netflow数据之前,必须先在路由器上设定flow数据的传送方式。首先,login到router并在global执行以下指令:

        ip flow-export destination

        例如:ip flow-export destination 10.112.0.1 9991。除此之外,还要在欲捕捉数据的接口上设定:ip route-cache flow。如此一来, router便会开始将flow信息向IP 10.112.0.1端口号为9991送出封包(协议为UDP),而10.112.0.1即开始接收netflow的数据,此时只需要在该 台机器上执行程序即可进行统计。

       2. 统计分析流程

        进行统计分析的流程可分为两个阶段:

        (1) 在机器上固定执行一个常驻程序(daemon),负责收集路由器送出的UDP封包,并且写入硬盘。

        (2) 分析log file,并且产生所需之报表。

        3. 记录及储存flow信息

        首先,从网络下载flow-tool程序包(http://ftp.eng.oar.net/pub/flow-tools-0.58.tar.gz),其中包含数种用来收集及统计数据的程序 ,分列如下:

        ¨ flow-capture – collect flows from an exporter and store them to disk. Disk space is managed by expiring (removing) old flow files based on a configurable archive size or number of files.

        ¨ flow-cat – concatenate flow files.

        ¨ flow-dscan – detect network scanning and other suspicious activity

        ¨ flow-expire – expire (remove) old flow files.

        ¨ flow-fanout – fanout flows from a exporter to multiple collectors. Also supports multicast.

        ¨ flow-gen – Generate flows for testing.

        ¨ flow-header – Display flow file meta information.

        ¨ flow-merge – Merge flows files so that records are preserved in relative chronological order.

        ¨ flow-print – Formatted ASCII output.

        ¨ flow-receive – Receive flows in NetFlow format from a network.

        ¨ flow-send – Send flows over a network in NetFlow format.

        ¨ flow-split – Split flow files into smaller files.

        ¨ flow-stat – Generate usage reports based on IP address, IP address pairs, ports, packets, bytes, interfaces, next hops, autonomous systems, ToS bits, exporters, and tags.

        ¨ flow-xlate – Translate various fields of flow recrods.

        flow-tool程序包安装步骤如下(以Linux系统为例):

        (1) 先确定机器上已安装下列程序:

        ¨ zlib:ftp://ftp.freesoftware.com/pub/infozlib/zlib/

        ¨ gnu make:ftp://ftp.gnu.org/pub/gnu/make/make-3.79.1.tar.gz

        (2) 将档案解压缩到一个目录下,例如

        zcat flow-tools-0.58.tar.gz | tar xvf –

        解开后执行下列指令:

        ./configure

        gmake

        gmake install

        (3) 若已将路由器设定为打开netflow,可利用flow-receive确认主机是否已开始接收flow数据,例如:

        flow-receive 0/0/9991 | flow-print

        (4) 执行flow-capture将flow数据储存下来,其指令格式为flow-capture –z Z –n N –e E –p P –w W,其中参数意义如下:

        Z – 压缩比例

        N – 每日留存份数

        E – 共留存几份在硬盘中

        P – 埠号

        W – 存放路径

        例如:flow-capture –z 6 –n 143 –e 1500 –p 9991 –w /netflow,其中,压缩率约6就差不多了,设定更高的参数不见得可以多压多少 ,一天留144份,也就是10分钟rotate一次log file,方便我们做细部统计,一共留存1500份,也就是10天左右,最后一项参数表示把所有log file都放在/netflow目录下。

        之后,便可将此指令加入 /usr/local/etc/rc.d 目录下,让机器一开机便执行此常驻程序。

        (5) 收集一段时间的数据之后,可透过flow-print指令列出log file的内容,例如:flow-print –f0 ,所显示字段由左至右分别为:Source Interface, Source IP, Destination Interface, Destination IP, Protocol,Source Port, Destination Port, Packets 。Octects 。

        4. 统计分析程序

        在netflow流量数据捕捉并储存下来之后,便可根据其格式及所欲统计的项目撰写程序进行统计分析。目前从网络上可下载国立交通大学 发展的netflow统计程序(http://netflow.nctu.edu.tw/netflow.html),该程 序以perl撰写,通常必须根据各自的架构及需求予以修改后方能适用。以交大发展的netflow.pl程序为例,以一日为单位统计当天的流量,可 针对网段、协议、流入/流出之IP网段进行合计或Top统计。台大为了取得更实时的数据,将该程序修改为每10分钟统计一次,便能够了解过去 十分钟的流量。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

邵喻美
邵喻美

暂无

相关推荐