[摘要]本文从互联网运营商的视角,利用NetFlow分析手段,对互联网异常流量的特征进行了深入分析,进而提出如何在网络层面对互联网异常流量采取防护措施,并给出了近年来一些典型互联网异常流量的NetFlow分析案例。
 
标准的单接收终端配置是比较简单的,标准配置方法如下:

ip flow-export source Loopback0
ip flow-export version 5
ip flow-export destination xxx.xxx.xxx.xxx xxxx

xxx.xxx.xxx.xxx为目的IP,xxxx为目的端口号,我想请教的是双接收终端的配置方法。

关键词:互联网 异常流量 NetFlow 流量分析 DoS/DDoS 蠕虫病毒

一、前言

近年来,随着互联网在全球的迅速发展和各种互联网应用的快速普及,互联网已成为人们日常工作生活中不可或缺的信息承载工具。然而,伴随着互联网的正常应用流量,网络上形形×××的异常流量也随之而来,影响到互联网的正常运行,威胁用户主机的安全和正常使用。

本文从互联网运营商的视角,对互联网异常流量的特征进行了深入分析,进而提出如何在网络层面对互联网异常流量采取防护措施,其中重点讲述了NetFlow分析在互联网异常流量防护中的应用及典型案例。

二、NetFlow简介

本文对互联网异常流量的特征分析主要基于NetFlow数据,因此首先对NetFlow做简单介绍。


1. NetFlow概念

NetFlow是一种数据交换方式,其工作原理是:NetFlow利用标准的交换模式处理数据流的第一个IP包数据,生成NetFlow 缓存,随后同样的数据基于缓存信息在同一个数据流中进行传输,不再匹配相关的访问控制等策略,NetFlow缓存同时包含了随后数据流的统计信息。

一个NetFlow流定义为在一个源IP地址和目的IP地址间传输的单向数据包流,且所有数据包具有共同的传输层源、目的端口号。




2. NetFlow数据采集

针对路由器送出的NetFlow数据,可以利用NetFlow数据采集软件存储到服务器上,以便利用各种NetFlow数据分析工具进行进一步的处理。

Cisco提供了Cisco NetFlow Collector(NFC)采集NetFlow数据,其它许多厂家也提供类似的采集软件。

下例为利用NFC2.0采集的网络流量数据实例:
211.*.*.57|202.*.*.12|Others|localas|9|6|2392
|80|80|1|40|1
出于安全原因考虑,本文中出现的IP地址均经过处理。
NetFlow数据也可以在路由器上直接查看,以下为从Cisco GSR路由器采集的数据实例,:
gsr #att 2 (登录采集NetFlow数据的GSR 2槽板卡)
LC-Slot2>sh ip cache flow
SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts
Gi2/1 219.*.*.229 PO4/2 217.*.*.228 06 09CB 168D 2
Gi2/1 61.*.*.23 Null 63.*.*.246 11 0426 059A 1
本文中的NetFlow数据分析均基于NFC采集的网络流量数据,针对路由器直接输出的Neflow数据,也可以采用类似方法分析。

3. NetFlow数据采集格式说明

NFC 可以定制多种NetFlow数据采集格式,下例为NFC2.0采集的一种流量数据实例,本文的分析都基于这种格式。
61.*.*.68|61.*.*.195|64917|Others|9|13|4528|
135|6|4|192|1
数据中各字段的含义如下:
源地址|目的地址|源自治域|目的自治域|流入接口号|流出接口号|源端口|目的端口|协议类型|包数量|字节数|流数量

4. 几点说明

NetFlow主要由Cisco路由器支持,对于其它厂家的网络产品也有类似的功能,例如Juniper路由器支持sFlow功能。

NetFlow支持情况与路由器类型、板卡类型、IOS版本、IOS授权都有关系,不是在所有情况下都能使用,使用时需考虑自己的软硬件配置情况。

本文的所有分析数据均基于采自Cisco路由器的NetFlow数据。



三、互联网异常流量的NetFlow分析

要对互联网异常流量进行分析,首先要深入了解其产生原理及特征,以下将重点从NetFlow数据角度,对异常流量的种类、流向、产生后果、数据包类型、地址、端口等多个方面进行分析。

1. 异常流量的种类

目前,对互联网造成重大影响的异常流量主要有以下几种:


(1)拒绝服务***(DoS)

DoS***使用非正常的数据流量***网络设备或其接入的服务器,致使网络设备或服务器的性能下降,或占用网络带宽,影响其它相关用户流量的正常通信,最终可能导致网络服务的不可用。

例如DoS可以利用TCP协议的缺陷,通过SYN打开半开的TCP连接,占用系统资源,使合法用户被排斥而不能建立正常的TCP连接。

以下为一个典型的DoS SYN***的NetFlow数据实例,该案例中多个伪造的源IP同时向一个目的IP发起TCP SYN***。
117.*.68.45|211.*.*.49|Others|64851|3|2|10000|
10000|6|1|40|1
104.*.93.81|211.*.*.49|Others|64851|3|2|5557|
5928|6|1|40|1
58.*.255.108|211.*.*.49|Others|64851|3|2|3330|
10000|6|1|40|1
由于Internet协议本身的缺陷,IP包中的源地址是可以伪造的,现在的DoS工具很多可以伪装源地址,这也是不易追踪到***源主机的主要原因。


(2)分布式拒绝服务***(DDoS)

DDoS把DoS又发展了一步,将这种***行为自动化,分布式拒绝服务***可以协调多台计算机上的进程发起***,在这种情况下,就会有一股拒绝服务洪流冲击网络,可能使被***目标因过载而崩溃。

以下为一个典型的DDoS***的NetFlow数据实例,该案例中多个IP同时向一个IP发起UDP***。
61.*.*.67|69.*.*.100|64821|as9|2|9|49064|5230|
17|6571|9856500|1
211.*.*.163|69.*.*.100|64751|as9|3|9|18423|
22731|17|906|1359000|1
61.*.*.145|69.*.*.100|64731|Others|2|0|52452|
22157|17|3|4500|1


(3)网络蠕虫病毒流量

网络蠕虫病毒的传播也会对网络产生影响。近年来,Red Code、SQL Slammer、冲击波、振荡波等病毒的相继爆发,不但对用户主机造成影响,而且对网络的正常运行也构成了的危害,因为这些病毒具有扫描网络,主动传播病毒的能力,会大量占用网络带宽或网络设备系统资源。

以下为最近出现的振荡波病毒NetFlow数据实例,该案例中一个IP同时向随机生成的多个IP发起445端口的TCP连接请求,其效果相当于对网络发起DoS***。
61.*.*.*|168.*.*.200|Others|Others|3|0|1186|
445|6|1|48|1
61.*.*.*|32.*.*.207|Others|Others|3|0|10000|
445|6|1|48|1
61.*.*.*|24.*.*.23|Others|Others|3|0|10000|
445|6|1|48|1

(4)其它异常流量

我们把其它能够影响网络正常运行的流量都归为异常流量的范畴,例如一些网络扫描工具产生的大量TCP连接请求,很容易使一个性能不高的网络设备瘫痪。

以下为一个IP对167.*.210.网段,针对UDP 137端口扫描的NetFlow数据实例:
211.*.*.54|167.*.210.95|65211|as3|2|10|1028|
137|17|1|78|1
211.*.*.54|167.*.210.100|65211|as3|2|10|
1028|137|17|1|78|1
211.*.*.54|167.*.210.103|65211|as3|2|10|
1028|137|17|1|78|1




2. 异常流量流向分析

从异常流量流向来看,常见的异常流量可分为三种情况:

?网外对本网内的***
?本网内对网外的***
?本网内对本网内的***

针对不同的异常流量流向,需要采用不同的防护及处理策略,所以判断异常流量流向是进一步防护的前提,以下为这三种情况的NetFlow数据实例:
124.*.148.110|211.*.*.49|Others|64851|3|2|
10000|10000|6|1|40|1
211.*.*.54|167.*.210.252|65211|as3|2|10|
1028|137|17|1|78|1
211.*.*.187|211.*.*.69|Others|localas|71|6|1721|
445|6|3|144|1
其中211开头的地址为本网地址。



3. 异常流量产生的后果

异常流量对网络的影响主要体现在两个方面:
占用带宽资源使网络拥塞,造成网络丢包、时延增大,严重时可导致网络不可用;
占用网络设备系统资源(CPU、内存等),使网络不能提供正常的服务。



4. 异常流量的数据包类型

常见的异常流量数据包形式有以下几种:
?TCP SYN flood(40字节)
11.*.64.3|2.*.38.180|64821|as10|5|4|1013|18|6|
1|40|1
从NetFlow的采集数据可以看出,此异常流量的典型特征是数据包协议类型为6(TCP),数据流大小为40字节(通常为TCP的SYN连接请求)。
?ICMP flood
2.*.33.1|1.*.97.22|as12|64811|5|2|0|0|1|146173|
218359704|1
从NetFlow的采集数据可以看出,此异常流量的典型特征是数据包协议类型为1(ICMP),单个数据流字节数达218M字节。
?UDP flood
*.*.206.73|160.*.71.129|64621|Others|6|34|
1812|1812|17|224|336000|1
*.*.17.196|25.*.156.119|64621|Others|6|34|
1029|137|17|1|78|1
从NetFlow的采集数据可以看出,此异常流量的典型特征是数据包协议类型为17(UDP),数据流有大有小。
?其它类型
其它类型的异常流量也会在网络中经常见到,从理论上来讲,任何正常的数据包形式如果被大量滥用,都会产生异常流量,如以下的DNS正常访问请求数据包(协议类型53)如果大量发生,就会产生对DNS服务器的DoS***。
211.*.*.146|211.*.*.129|Others|Others|71|8|
3227|53|53|1|59|1



5. 异常流量的源、目的地址

?目的地址为固定的真地址,这种情况下目的地址通常是被异常流量***的对象,如下例数据:
211.*.*.153|*.10.72.226|as2|as8|5|4|3844|10000|
17|2|3000|2
211.*.*.153|*.10.72.226|
as2|as8|5|4|3845|10000|17|1|1500|1
211.*.*.153|*.10.72.226|as2|as8|5|4|3846|10000|
17|1|1500|1
?目的地址随机生成,如下例数据:
211.*.*.187|169.*.190.17|Others|localas|71|6|
1663|445|6|3|144|1
211.*.*.187|103.*.205.148|Others|localas|71|6|
3647|445|6|3|144|1
211.*.*.187|138.*.80.79|Others|localas|71|6|
1570|445|6|3|144|1
?目的地址有规律变化,如下例数据,目的地址在顺序增加:
211.*.*.219|192.*.254.18|Others|Others|15|9|
10000|6789|17|1|36|1
211.*.*.219|192.*.254.19|Others|Others|15|9|
10000|6789|17|2|72|2
211.*.*.219|192.*.254.20|Others|Others|15|9|
10000|6789|17|3|108|3
?源地址为真实IP地址,数据同上例:
?源地址为伪造地址,这种情况源地址通常随机生成,如下例数据,源地址都是伪造的网络地址:
63.245.0.0|209.*.*.38|as5|as4|3|7|1983|23|23|
1|40|1
12.51.0.0 |209.*.*.38 |as6|as4|3|7|1159|2046|6|
1|40|1
212.62.0.0|209.*.*.38| as7|as4|3|7|1140|3575|6|
1|40|1



6. 异常流量的源、目的端口分析

?异常流量的源端口通常会随机生成,如下例数据:
211.*.*.187|169.172.190.17|Others|localas|71|
6|1663|445|6|3|144|1
211.*.*.187|103.210.205.148|Others|localas|71|
6|3647|445|6|3|144|1
211.*.*.187|138.241.80.79|Others|localas|71|6|
1570|445|6|3|144|1
?多数异常流量的目的端口固定在一个或几个端口,我们可以利用这一点,对异常流量进行过滤或限制,如下例数据,目的端口为UDP 6789:
211.*.*.219|192.*.254.18|Others|Others|15|9|
10000|6789|17|1|36|1
211.*.*.219|192.*.254.19|Others|Others|15|9|
10000|6789|17|2|72|2
211.*.*.219|192.*.254.20|Others|Others|15|9|
10000|6789|17|3|108|3



四、利用NetFlow工具处理防范网络异常流量

从某种程度上来讲,互联网异常流量永远不会消失而且从技术上目前没有根本的解决办法,但对网管人员来说,可以利用许多技术手段分析异常流量,减小异常流量发生时带来的影响和损失,以下是处理网络异常流量时可以采用的一些方法及工具:

1. 判断异常流量流向

因为目前多数网络设备只提供物理端口入流量的NetFlow数据,所以采集异常流量NetFlow数据之前,首先要判断异常流量的流向,进而选择合适的物理端口去采集数据。

流量监控管理软件是判断异常流量流向的有效工具,通过流量大小变化的监控,可以帮助我们发现异常流量,特别是大流量异常流量的流向,从而进一步查找异常流量的源、目的地址。

目前最常用的流量监控工具是免费软件MRTG,下图为利用MRTG监测到的网络异常流量实例,可以看出被监测设备端口在当天4:00至9:30之间产生了几十Mbps的异常流量,造成了该端口的拥塞(峰值流量被拉平)。

如果能够将流量监测部署到全网,这样在类似异常流量发生时,就能迅速找到异常流量的源或目标接入设备端口,便于快速定位异常流量流向。

有些异常流量发生时并不体现为大流量的产生,这种情况下,我们也可以综合异常流量发生时的其它现象判断其流向,如设备端口的包转发速率、网络时延、丢包率、网络设备的CPU利用率变化等因素。



2. 采集分析NetFlow数据

判断异常流量的流向后,就可以选择合适的网络设备端口,实施Neflow配置,采集该端口入流量的NetFlow数据。

以下是在Cisco GSR路由器GigabitEthernet10/0端口上打开NetFlow的配置实例:
ip flow-export source Loopback0
ip flow-export destination *.*.*.61 9995
ip flow-sampling-mode packet-interval 100
interface GigabitEthernet10/0
ip route-cache flow sampled
通过该配置把流入到GigabitEthernet10/0的NetFlow数据送到NetFlow采集器*.*.*.61,该实例中采用sampled模式,采样间隔为100:1。


3. 处理异常流量的方法

(1)切断连接
在能够确定异常流量源地址且该源地址设备可控的情况下,切断异常流量源设备的物理连接是最直接的解决办法。

(2)过滤
采用ACL(Access Control List)过滤能够灵活实现针对源目的IP地址、协议类型、端口号等各种形式的过滤,但同时也存在消耗网络设备系统资源的副作用,下例为利用ACL过滤UDP 1434端口的实例:
access-list 101 deny udp any any eq 1434
access-list 101 permit ip any any
此过滤针对蠕虫王病毒(SQL Slammer),但同时也过滤了针对SQL Server的正常访问,如果要保证对SQL Server的正常访问,还可以根据病毒流数据包的大小特征实施更细化的过滤策略(本文略)。

(3)静态空路由过滤
能确定异常流量目标地址的情况下,可以用静态路由把异常流量的目标地址指向空(Null),这种过滤几乎不消耗路由器系统资源,但同时也过滤了对目标地址的正常访问,配置实例如下:
ip route 205.*.*.2 255.255.255.255 Null 0
对于多路由器的网络,还需增加相关动态路由配置,保证过滤在全网生效。

(4)异常流量限定
利用路由器CAR功能,可以将异常流量限定在一定的范围,这种过滤也存在消耗路由器系统资源的副作用,以下为利用CAR限制UDP 1434端口流量的配置实例:
Router# (config) access-list 150 deny udp any any eq 1434
Router# (config) access-list 150 permit ip any any
Router# (config) interface fastEthernet 0/0
Router# (config-if) rate-limit input access-group rate-limit 150 8000 1500 20000
conform-action drop exceed-action drop
此配置限定UDP 1434端口的流量为8Kbps。



五、常见蠕虫病毒的NetFlow分析案例

利用上诉方法可以分析目前互联网中存在的大多数异常流量,特别是对于近年来在互联网中造成较大影响的多数蠕虫病毒,其分析效果非常明显,以下为几种蠕虫病毒的NetFlow分析实例:


1. 红色代码 (Code Red Worm)
2001年7月起发作,至今仍在网络流量中经常出现。
211.*.*.237|192.*.148.107|65111|as1|6|72|
3684|80|80|3|144|1
211.*.*.237|192.*.141.167|65111|as1|6|36|
4245|80|80|3|144|1
211.*.*.237|160.*.84.142|65111|as1|6|72|
4030|80|80|3|144|1
NetFlow流数据典型特征:目的端口80, 协议类型80,包数量3,字节数144。


2. 硬盘杀手(worm.opasoft,W32.Opaserv.Worm)
2002年9月30日起发作,曾对许多网络设备性能造成影响,2003年后逐渐减少。
61.*.*.196|25.|*.156.106|64621|Others|6|36|
1029|137|17|1|78|1
61.*.*.196|25.*.156.107|64621|Others|6|36|
1029|137|17|1|78|1
61.*.*.196|25.*.156.108|64621|Others|6|36|
1029|137|17|1|78|1
NetFlow流数据典型特征:目的端口137,协议类型UDP,字节数78。


3. 2003蠕虫王 (Worm.NetKiller2003,WORM_SQLP1434,W32.Slammer,W32.SQLExp.Worm)
2003年1月25日起爆发,造成全球互联网几近瘫痪,至今仍是互联网中最常见的异常流量之一。
61.*.*.124|28.*.17.190|65111|as1|6|34|4444|
1434|17|1|404|1
61.*.*.124|28.*.154.90|65111|as1|6|70|4444|
1434|17|1|404|1
61.*.*.124|28.*.221.90|65111|as1|6|36|4444|
1434|17|1|404|1
NetFlow流数据典型特征:目的端口1434,协议类型UDP,字节数404


4. 冲击波 (WORM.BLASTER,W32.Blaster.Worm)
2003年8月12日起爆发,由其引发了危害更大的冲击波杀手病毒。
211.*.*.184|99.*.179.27|Others|Others|161|0|
1523|135|6|1|48|1
211.*.*.184|99.*.179.28|Others|Others|161|0|
1525|135|6|1|48|1
211.*.*.184|99.*.179.29|Others|Others|161|0|
1527|135|6|1|48|1
典型特征:目的端口135,协议类型TCP,字节数48


5. 冲击波杀手(Worm.KillMsBlast,W32.Nachi.worm,W32.Welchia.Worm)
2003年8月18日起发现,其产生的ICMP流量对全球互联网造成了很大影响,2004年后病毒流量明显减少。
211.*.*.91|211.*.*.77|Others|Others|4|0|0|
2048|1|1|92|1
211.*.*.91|211.*.*.78|Others|Others|4|0|0|
2048|1|1|92|1
211.*.*.91|211.*.*.79|Others|Others|4|0|0|
2048|1|1|92|1
NetFlow流数据典型特征:目的端口2048,协议类型ICMP,字节数92


6. 振荡波(Worm.Sasser,W32.Sasser)
2004年5月爆发。
61.*.*.*|32.*.70.207|Others|Others|3|0|10000|
445|6|1|48|1
61.*.*.*|24.*.217.23|Others|Others|3|0|10000|
445|6|1|48|1
61.*.*.*|221.*.65.84|Others|Others|3|0|10000|
445|6|1|48|1
NetFlow流数据典型特征:目的端口445,协议类型TCP,字节数48
从以上案例可以看出,蠕虫爆发时,应用Neflow分析方法,可以根据病毒流量的NetFlow特征快速定位感染病毒的IP地址,并参考NetFlow数据流的其它特征在网络设备上采取相应的限制、过滤措施,从而达到抑制病毒流量传播的目的。



六、总结

处理分析网络异常流量存在许多其它方法,如我们可以利用IDS、协议分析仪、网络设备的Log、Debug、ip accounting等功能查找异常流量来源,但这些方法的应用因各种原因受到限制,如效率低、对网络设备的性能影响、数据不易采集等因素。

利用NetFlow分析网络异常流量也存在一些限制条件,如需要网络设备对NetFlow的支持,需要分析NetFlow数据的工具软件,需要网络管理员准确区分正常流量数据和异常流量数据等。

但相比其它方法,利用NetFlow分析网络异常流量因其方便、快捷、高效的特点,为越来越多的网络管理员所接受,成为互联网安全管理的重要手段,特别是在较大网络的管理中,更能体现出其独特优势。

参考文献
[1] NetFlow Overview
[2] NetFlow Export Datagram Format
[3]Customizing FlowCollector
[4]SAFE SQL Slammer Worm Attack Mitigation
[5]病毒与安全
标题:        作者:loveme23  时间:2007-05-18 23:30
还有这个:
1理解NETFLOW AND NDE 如何工作?
1.1 NETFLOW AND NDE 介绍
网络流是一种流量监控技术,该技术描述了一台路由器通过如何导出统计到的被路由的数据包的方法,对网络信息作分析归纳统计,从而获得网络整体利用情况。目前该技术集成到大部分的思科和其它公司的网络设备的IOS,网络流会收集所有流经交换设备的流量,并且把收集到的流量存储到NETFLOW 缓冲中。
当在具有该功能的网络设备上的某个接口上激活网络流后,在那个接口上被接收到的数据包将会以流(flow)的形式被存储在一个动态的流缓冲中,具有存储在缓冲中的数据流特征的后续的数据将被直接交换而不需要通过软件交换。
NDE 是netflow data export 的缩写,当配置了NDE后,所有在缓冲中的符合一定要求的数据流将会被导出到一个指定的终端,该终端安装数据流接受和分析软件,通过该软件,我们可以直观的了解网络业务运行情况,对于NDE,我们可以通过一定的技术手段比如policy,filter等手段获得我们需要的数据,以方便我们对网络的分析。
1.2 NETFLOW CACHE
网络流通过创建一个流缓冲来工作,在这个缓冲中包含了必须的信息,网络设备通过这些信息来交换数据,并且通过设置好的访问列表来过滤所有活动的数据流,提供安全性。流缓冲的创建是通过提取网络设备按照标准的路由方式路由的数据流的第一个包,然后把这个提取的数据包存储到一个缓冲中,因此每一个数据流都会对应相关的进出接口,对于后续的数据包,网络设备就会查找存储在缓冲中的记录,如果与缓冲中的记录相符,那么就会改变记录数,如果是一个新的记录,那么就会在缓冲中创建一个新的纪录。
在缓冲被创建之后,与之相符的后续数据包就会被直接处理,并且不需要通过访问列表的检查,从而提高了数据的交换速度,降低了网络设备的资源消耗。
1.3 NETFLOW DATA FORMAT
NETFLOW 一共有两个版本,version 1 和 version 5,version 1是早期发布的一个版本,version 5是后来发布的一个版本,在version 5版本中增加了对BGP AS的支持并且增加了流序列号。版本2-4没有发布,网络流会采用这两个版本中的一个,并且使用UDP包格式导出缓冲中的数据流。
Version 1 和 version 5 这两种格式都是由一个头字段和多个流记录组成。头字段也包
含了几个字段,第一个字段就是被导出数据段的版本号,NETFLOW 应用程序会根据接受到的数据包为其分配足够大的空间,并且查看接受到的数据包的头字段的版本号来决定怎么样解释该数据包的纪录。第二个字段是数据包中的流记录号,这些记录是按照indx来排列的。
因为NETFLOW采用UDP方式来导出数据包,因此难免会发生数据包丢失的情况,为了能够检查到数据包是否丢失,NETFLOW version 5中的头字段包含了一个序列号的字段,这个序列号是上一个数据包的序列号加上本次网络设备需要传递到接收应用程序的记录数。使用你接受到的数据包的序列号减去你接受到的记录数就能够验证是否发生丢失记录的情况。如果等于你接受到记录那么就没有丢失数据,反之就发生了记录丢失。
1.4 FLOW的概念
流被定义为一组单向传递的数据包,因此一条会话连接将会有两个方向的数据流,一个是服务器-----〉客户端,另一个是客户端----〉服务器。
如果你在配置网络设备的时候发现仅仅能够接收到某一个方向的数据,那么你就要考虑你的配置是否按照这样的要求设置的,[color=Red]记住流是单方向的,我在配置的时候也是发现能够接受到out的数据,对于in的数据却接收不到,在in的那个vlan的接口上启用流交换后就能够看到in的数据了。[/color]
一个数据流是由如下几个关键的字段来标示:原IP地址,目的IP地址,原端口,目的端口,协议类型,服务类型以及路由器的输入接口。
路由器在接收到一个数据包后,将会查看这7个字段然后作出一个转发决定,如果这个包属于一个存在的数据流,那么相应的流量统计就会被创建,否则一个新的流条目将被创建。
1.5 NETFLOW AND NDE ON THE MSFC
MSFC模块在交换虚拟LAN(VLAN)之间提供了经济有效的高性能多层交换与路由服务。MSFC是一个结构紧凑的Cisco IOS路由器,在与PFC共同使用时可以在一个单插槽解决方案中为Catalyst系列提供智能多层交换服务。
在MSFC上的NETFLOW CACHE使用IOS软件来捕获被路由的数据流。
1.6 NETFLOW AND NDE ON THE PFC
NETFLOW数据输出:Catalyst交换机的性能管理功能已被扩展,为通过PFC的所有子网内流量提供全面的监控。PFC能够在硬件中启动详细的IP流统计数据收集,而不会影
响交换性能。这些统计包括来源/目的地址、流量类型、字节/数据包数及时间印迹。这补充了已经可用在Catalyst交换机上的嵌入式微型RMON功能,提供对第二层所有端口流量的可视性。
1.6.1 Flow Mask
网络流是使用一定的规则来创建的,依据不同的网络环境和我们需要的数据流信息的情况,选择不同的flow mask,有六个类型的flow mask,下面我们详细的介绍:
Source-only :一个最少规范的flow mask,PFC卡为每一个原ip地址维护一个流条目,所有的来源于同一个源地址的数据流使用这个被创建的条目。
Destination :一个最少规范的flow mask,PFC卡为每一个目的ip地址维护一个流条目,所有的去往于同一个目的地址的数据流使用这个被创建的条目。
Destination-source :一个比较规范的flow mask,PFC卡为每一个原IP地址和目的IP地址对维护一个流条目,所有的在同一个原和目的地址的数据流使用这个被创建的条目。
Destination-source-interface :一个比较规范的flow mask,增加原IP地址的接口到destination-source flow mask中。
Full :一个比较规范的flow mask,PFC卡为每一个流创建和维护一个更加具体的缓冲条目,一个full条目包括原IP地址,目的IP地址,协议,和协议接口。
Full- interface :最规范的flow mask,增加原接口到flow mask中。
1.6.2 NDE Version
1.6.3 MLS Cache Entri es
网络流捕捉PFC卡中网络流缓冲中的数据流量,网络流维护PFC卡网络流缓冲中的每一个活动的数据流的流量统计率,当匹配缓冲的流被交换的时候网络流会增加这个数据到缓冲中。
NDE会定期的导出所有到期的汇总数据流,这些数据流被一个外部的数据收集器接收和处理。
所有的被导出的数据流是从上一次导出开始计时到现在到期的数据流。在网络流缓冲中到期的数据流会被清除掉当如下的条件发生时:
1流条目到期
2流条目被用户人为的清除
3接口宕掉
4路由抖动
为了确保定期的导出数据流,需要是用如下命令来配置生存期:MLS AGING LONG 。hats 51cto技术博客
默认情况下,所有生存期到期的数据流都会被导出到外部的网络流收集器中,但是当你配置一个过滤器,那么NDE仅仅导出那些符合过滤器标准的数据流,NDE流过滤器被储存在NVRAM中,因此当NDE被禁止的时候是不会被丢失的。
1.6.4 MLS Aging Time
通常情况下,只要配置了生存时间之后,则该配置会对cache中所有的缓冲条目生效,默认情况下生存时间是300秒,如果配置正常的生存时间是32 -4092秒,一般情况下,cache中的流的生存时间能够比配置的时间间隔多或者少4秒左右,平均情况下,应该在2秒内。
一些情况可能会影响MLS条目被删除,比如路由改变和链路状态改变。
为了保证cache中的流条目不超过推荐的数量,我们需要配置mls aging命令,这个命令下面有三个参数,下面分别介绍一下:
Normal :配置了这个参数,那么cache中的流条目在到达规定的生存期时就会被删除。
Fast aging :配合time参数使用,定义了在规定的时间内必须要交换一定数量的流,如果在规定的时间内没有交换规定的流,那么将会被删除。这个参数主要是对cache中的一些流记录在生存期到达后却交换了很少一部分数据流这种情况适用。
Long :使用该参数后,当cache中的记录超过了配置的值,而该流条目依然在使用,那么也要删除。
当我们配置了Aging这个参数之后,初始化的时间是128秒,但是如果NETFLOW cache的容量在增加,并且超过了推荐的利用率,那么我们就需要降低这个数值,以保证cache 容量降低到推荐的利用率之下。
1.6.5 NetFlow Active Timer
表明经过设置的时间段后,NETFLOW Cache 记录的所有活跃的NETFLOW 信息将被导出到 NETFLOW 服务器。定时器的缺省时间为30 分钟,可由用户设置。
1.6.6 NetFlow Inactive Timer
表明经过设置的时间段后,NETFLOW Cache 记录的所有不再活跃的NETFLOW 信息将被导出到NETFLOW 服务器。定时器的缺省时间为15 秒,可由用户设置。
1.7 如何限制NETFLOW的数据流量统计
对于如何限制和减少NETFLOW的数据流量统计,有两种办法可以做到,在MSFC
卡和PFC卡支持仅仅其中的一种或者是两种。
1.7.1 Sampled NetFlow
PFC卡同时支持NETFLOW取样和聚合,PFC不支持TOS的路由聚合。
在一个三层接口上,网络流取样特征捕捉一个流的子集的数据而不是这个流中的所有数据包。网络流取样特征可以降低引擎cpu的利用率。
网络流取样支持基于时间的取样和基于包的取样。
Time-Based Sampling Rates, Sampling Times, and Export Intervals
Sampling Rate Sampling Time (Milliseconds) Export Interval (Milliseconds)
1 in 64 64 4096
1 in 128 32 4096
1 in 256 16 4096
1 in 512 8 4096
1 in 1024 4 4096
1 in 2048 4 8192
1 in 4096 4 16384
1 in 8192 4 32768
基于时间的取样解释:如果配置取样速率为64,那么每隔4096毫秒,sampled netflow就会提取开始的64毫秒的时间段作为流量统计。如果配置取样速率为1024,那么每隔4096毫秒,sampled netflow就会提取开始的4毫秒的时间段作为流量统计,基于时间的NETLFOW取样,导出时间间隔不需要配置。
基于数据包的取样解释:基于数据包的流取样是用一个公式对流取样,取样的次数是使用流的包数除以取样速率,例如:如果数据流是32768个数据包长,取样速率是1024,那么流被取样的次数大约是32次,(32,768/1,024).基于包的取样导出间隔是需要被配置的。
1.7.2 NetFlow Aggregation
MSFC支持NETFLOW 数据流量的汇聚,而且还支持基于TOS特征的数据流的聚合。
NETFLOW Aggregation 特征提供了如下的优点:
1降低了带宽的需求:该特征能够减少路由器和应用程序客户端之间的带宽要求。
2减少了工作站的需求:可以采用一台工作站来做数据流的收集和分析处理。
3提高了网络设备的性能:采用该特征可以降低网络设备因为处理流信息所消耗的大量CPU时间和内存,这样可以让释放出来的CPU和内存更快速的处理其它业务数据。
具体配置命令:
WH-C6513.Thwhgf.Net (config)# ip flow-aggregation cache prefix
WH-C6513.Thwhgf.Net (config-flow-cache)# mask source minimum value
WH-C6513.Thwhgf.Net (config-flow-cache)# mask destination minimum valuehats 51cto技术博客
Value:指定原 或者目的perfix的最小的mash值。
1.8 NDE 流过滤
一般情况下,所有的数据流都会被导出到流接收程序客户端,但是在网络出现异常情况下,收集到的大量的网络数据使得我们很难分析网络的异常情况,有时候为了分析需要,我们需要的仅仅是具有某个特征的数据,比如特定的端口,特定的IP地址,特定的协议,因此我们需要对流进行一定的处理,也就是过滤,当配置一个过滤器以后,那么仅仅是我们期望的并且匹配了所定义的过滤器的数据流才能被导出。
过滤器有四种,下面我们详细的介绍:
1.8.1 基于端口的流过滤
如果我们需要的信息中是包含一个特定的端口(原端口或者目的端口)或者我们需要的信息中是不需要某一个特定的端口(原端口或者目的端口),那么我们就可以采用这种端口的过滤方式。
WH-C6513.Thwhgf.Net(config)# mls nde flow include dest-port 138
1.8.2 基于host + port 的流过滤
如果我们需要的信息中是包含一个特定的主机+端口(原端口或者目的端口)或者我们需要的信息中是不需要某一个特定的主机+端口(原端口或者目的端口),那么我们就可以采用这种主机的过滤方式。
WH-C6513.Thwhgf.Net(config)# mls nde flow exclude destination 192.168.1.1 255.255.255.0 dest-port 138
1.8.3 基于host 的流过滤
如果我们需要的信息中是包含一个特定的主机或者我们需要的信息中是不需要某一个特定的主机,那么我们就可以采用这种主机的过滤方式。
WH-C6513.Thwhgf.Net(config)# mls nde flow include destination 192.168.1.37 255.255.255.224
1.8.4 基于protocol + port 的流过滤
如果我们需要的信息中是包含一个特定的协议或者我们需要的信息中是不需要某一个特定的协议,那么我们就可以采用这种协议的过滤方式。
WH-C6513.Thwhgf.Net(config)# mls nde flow include protocol tcp dest-port 138
2 使用NetFlow分析网络的优点
如果我们使用sniffer或者NETFLWO应用程序捕获到数据包后,我们发现原来这个
数据包仅仅是传输层以下的,不包括任何有效数据,这就告诉我们NETFLOW并不会关注应用层的内容,而传统的***检测系统是需要对应用层的数据做相应的检查,这一点netflow有不足之处,表现出了一定的局限性,但是也正是因为 netflow不考虑高层信息,使得该技术对灾难性的故障的响应速度很快,对于系统的性能消耗比起传统的***检测系统也低很多。
3 NETFLOW 技术应用的环境
1 统计流量信息,以供历史比较使用。
2 通过一定时间的网络检测,便于以后的网络规划。
3 均衡流量,用于流量工程。
4 实时监视网络的使用情况,如接口的上下行流量。
5 监视网络用户的使用情况。
6 为网络安全分析提供依据。
4 NETFLOW AND NDE配置命令
4.1 接口配置命令
WH-C6513.Thwhgf.Net(config-if)#ip route-cache flow
在接口上激活NETFLOW。
4.2 全局配置命令
WH-C6513.Thwhgf.Net(config)#ip flow-export source
WH-C6513.Thwhgf.Net(config)#ip flow-export destination A.B.C.D port
要想利用NETFLOW 进行网络流量的监控和分析,可利用此命令来进行。其中,(A.B.C.D)表示目的服务器的IP 地址,<0-65535>表示目的服务器的UDP 服务端口。
WH-C6513.Thwhgf.Net(config)#ip flow-export version (1/5/9)
配置NETFLOW的协议版本,取值为1、5 或9。
WH-C6513.Thwhgf.Net(config)#ip flow-cache entries <1024-524288> Entries
配置NETFLOW 缓冲中的流条目的数量,<1024-524288>表示记录的流条目的数量。
WH-C6513.Thwhgf.Net(config)#ip flow-cache Timeout active <1-60>
配置NETFLOW 记录的活跃的流的定时器超时时间,单位为分钟,缺省值30 分钟。
WH-C6513.Thwhgf.Net(config)#ip flow-cache Timeout inactive <10-600>
配置netflow 记录的非活跃的流的定时器超时时间,单位为秒,缺省值15 秒。hats 51cto技术博客
WH-C6513.Thwhgf.Net(config)#mls nde sender
激活 MLS NDE EXPORT
WH-C6513.Thwhgf.Net(config)#mls nde sender version (5/7)
指定version号
WH-C6513.Thwhgf.Net(config)#mls nde flow exclude
这条命令和下一条命令都是设置flow filter。
WH-C6513.Thwhgf.Net(config)#mls nde flow include
参数: dest-port dest-port keyword
destination destination keyword
protocol protocol keyword
source source keyword
src-port src-port keyword
WH-C6513.Thwhgf.Net(config)#mls flow ip
这条命令设置flow mask。
参数: destination destination flow keyword
destination-source destination-source flow keyword
full full flow keyword
interface-destination-source interface-destination-source flow keyword
interface-full interface full flow keyword
source source only flow keyword
WH-C6513.Thwhgf.Net(config)#mls aging
参数: fast L3 fast aging
long long aging keyword
normal normal aging keyword
4.3 执行诊断命令
show ip flow export
查看NETFLOW 的配置信息。
WH-C6513.Thwhgf.Net#show ip flow export
Flow export v5 is disabled for main cache
Version 5 flow recordshats 51cto技术博客

252849 flows exported in 10766 udp datagrams
0 flows failed due to lack of export packet
4436 export packets were sent up to process level
0 export packets were dropped due to no fib
868 export packets were dropped due to adjacency issues
0 export packets were dropped due to fragmentation failures
0 export packets were dropped due to encapsulation fixup failures
0 export packets were dropped enqueuing for the RP
0 export packets were dropped due to IPC rate limiting
5 使用NetFlowAnalyzer监控网络
NetFlowAnalyzer 是一款基于网络的带宽监视工具软件,使用NetFlow技术显示网络中有那些应用,并且把这些应用占用的带宽详细的报告,那些应用在网络中传递以及这些应用使用了多长时间。使用该软件以后企业或校园网等的广域网和局域网不需要配备昂贵的硬件探测器就可以深入浏览带宽报告。该软件可以观看访问你的网络的通讯浏览情况。