NetFlow 是Cisco发布的一款用于分析网络数据包信息的工具包;
根据不同的需要定制不同的方案;
典型的是对网络数据的源地址、目的地址的分析,对流量各种应用的分析或者路由器上各个端口的负载等;
addr、dstaddr、port、dstport、protocol、ToS、input interface、output interface、nexthop、masked
Packet count、byte count、flow count等
NetFlow是一种数据交换方式,NetFlow利用标准的交换模式处理数据流的第一个IP包数据,生成NetFlow 缓存,随后同样的数据基于缓存信息在同一个数据流中进行传输,不再匹配相关的访问控制等策略,NetFlow缓存同时包含了随后数据流的统计信息。
NetFlow不仅能记录数据的数量,并且还可以记录出协议等信息。
Netflow提供网络流量的会话级视图,记录下每个TCP/IP事务的信息。也许它不能象tcp dump那样提供网络流量的完整记录,但是当汇集起来时,它更加易于管理和易读。
数据采集:针对路由器送出的NetFlow数据,可以利用NetFlow数据采集软件存储到服务器上,以便利用各种NetFlow数据分析工具进行进一步的处理。
Cisco开发的NetFlow共4个版本,分别是ver 1 ,ver 5,ver 8,ver 9,它们的特点是:
V9不向后兼容v8和v5,需要独立开启。
V8只支持聚合缓存,不支持新feature。
V5只支持主缓存,不支持新feature。
V1,不要使用,建议用5和9。
Netflow在网络设备上抓包,在每台设备上独立进行,不需要所有设备开启。
配置Netflow的条件:
(1)必须先开启路由功能,
(2)CEF必开
(3)并且会消耗额外CPU和内存资源。
下面7个参数相同即被认为是同一流,作相同记录,否则另作记录
(1)Source IP address
(2)Destination IP address
(3)Source port number
(4)Destination port number
(5)Layer 3 protocol type
(6)Type of service (ToS)
(7)Input logical interface
Netflow抓到的包可以向远程主机发送,发送时使用协议UDP,端口号默认为9991,这些远程主机的IP和端口号可以随意更改。
配置示例:在R1上配置Netflow:
R1(config)#ip cef
R1(config)#flow-sampler-map NAME /创建Netflow例图/
R1(config-sampler)#mode random one-out-of 100 /设置例图模式为100个包随机取1个/
R1(config)#ip flow-export source loopback 0 /设置Netflow更新源/
R1(config)#ip flow-export version 9 /设置Netflow版本号/
R1(config)#ip flow-export destination 2.2.2.2 2222 /设置Netflow发送的目的/
R1(config)#int e0/0
R1(config-if)#flow-sampler NAME /接口进流量应用例图采样/
R1(config-if)#flow-sampler NAME egress /接口出流量应用例图采样/