网络流量分析利器-可视化网络-netflow【1】-基础原理
网络流量分析利器-可视化网络-netflow【2】-Cisco NetFlow 工作原理介绍及配置
网络流量分析利器-可视化网络-netflow【3】-netflow版本5和版本9区别
网络流量分析利器-可视化网络-netflow【4】-接收器nfdump简介
网络流量分析利器-可视化网络-netflow【5】-linux下数据采集器fprobe
网络流量分析利器-可视化网络-netflow【6】-生产网流量监控架构设计
fprobe参数 -e
fprobe参数 -n -k

拓扑图

网络流量分析利器-可视化网络-netflow【2】-Cisco NetFlow 工作原理介绍及配置_第1张图片

NetFlow监控涉及到的设备:

被监控的交换机(也可能是镜像服务器)和收集器(监控软件所在的设备)

工作原理:

NetFlow使用流(flow)来完成统计数据、网络监控,甚至网络规划。流有方向这个属性,在一个接口或者一个vlan下,某一方向上具有相同参数的数据包组成了流(flow)。上边这句话是cisco文档中翻译过来的,如果你没看懂,你可以简单理解为具有相同五元组(相同的源地址,目的地址,源端口,目的端口,协议)的数据包可以称之为一个流(flow)。

被监控的交换机,将端口进出方向的数据包进行分析,把相关信息(源地址,目的地址,源端口,目的端口,协议,包大小等信息)放进NetFlow包中,发到收集器(netflow collector)中,这个处理过程将消耗被监控设备的cpu和内存。收集器(监控软件,都是第三方的)将数据进行整理,呈现报表。

v5只支持ipv4
v9支持ipv4和ipv6

配置命令示例(netflow v5,设备:asr1001x):

flow exporter HK-test
destination 10.136.76.117
source Loopback1
transport udp 9998
export-protocol netflow-v5

输出器主要用于配置输出参数,有地址和端口,输出源地址和版本,目标地址是收集器的ip,端口取决于收集器的监听端口,源端口是发送端口,抓包时候会看见源地址是loopback1的ip。

flow monitor HK-test-monitor
exporter HK-test
cache type immediate
record netflow-original

监控器:将流记录和输出器绑定,这里流记录使用默认netflow-original配置,因为v5不能自定义模板,cache使用immediate的效果是立即将解析好的数据包发送到监控服务器,而不进行聚合汇总。

sampler test-1
mode deterministic 1 out-of 2

采样比:按一比二比例,将所有的流量全部抓下来

interface GigabitEthernet0/0/4
ip flow monitor try sampler test-1 input
ip flow monitor try sampler test-1 output

配置到接口下

配置命令示例(netflow v9,设备:asr1001x):

flow record try
description test
match ipv4 source address
match ipv4 destination address
match ipv4 protocol
match transport sourceport
match transport destinationport
collect counter bytes
collect counter packets long
collect timestamp sysuptime first
collect timestamp sysuptime last

flow exporter try_exporter
description test_ex
destination 10.136.76.117
source Loopback1
transport udp 9999
template data timeout 30

flow monitor try
description test
exporter try_exporter
cache type immediate
record try

sampler test1
mode deterministic 1 outof 2

interface GigabitEthernet0/0/4
ip flow monitor try sampler test1 input
ip flow monitor try sampler test1 output

与v5不同的是多添加了流记录的配置,并且调用了try这个流记录。

配置命令示例(netflow v9,设备:nexus 5k):

链接:cisco-N6k-netflow-原版
提取码:pa8i

flow exporter extest
destination 10.136.17.146
transport udp 9996
source Vlan40
version 9

输出器主要用于配置输出参数,有地址和端口,输出源地址和版本,目标地址是收集器的ip,端口取决于收集器的监听端口,源端口是发送端口,抓包时候会看见源地址是int vlan 40的ip。

flow record rdtest
match ipv4 source address
match ipv4 destination address
match ip protocol
match ip tos
match transport source-port
match transport destination-port
collect counter bytes long
collect counter packets long
collect timestamp sys-uptime first
collect timestamp sys-uptime last
collect ip version

流记录:收集相关信息,用于监控数据流量

sampler sltest
mode 1 out-of 128

采样比:每128个包,选取一个包

sampler full
mode 1 out-of 1

采样比:一比一,将所有的流量全部抓下来

flow monitor mttest
record rdtest
exporter extest

监控器:将流记录和输出器绑定

int vlan 40
ip flow monitor mttest input sampler full

将监控器和一比一的采样比应用在接口,经测试,发现只能配置input方向的netflow监控,无法配置output方向。

V5数据包样式

默认wireshark是无法解析netflow数据包的,需要将对应端口解析成cflow格式。比如,我是用的是9999这个端口,需要:选中一个数据包->右键->解码为->添加下图内容,然后才能解析。

网络流量分析利器-可视化网络-netflow【2】-Cisco NetFlow 工作原理介绍及配置_第2张图片
网络流量分析利器-可视化网络-netflow【2】-Cisco NetFlow 工作原理介绍及配置_第3张图片

v9数据包样式

会出现两类包,一类叫模板包(定义收集的参数,因为version9是自定义收集方式,根据配置收集参数),一类叫数据包(根据模板产生的数据参数的包,收集器需要先获得模板包才能识别数据包内容)

网络流量分析利器-可视化网络-netflow【2】-Cisco NetFlow 工作原理介绍及配置_第4张图片
网络流量分析利器-可视化网络-netflow【2】-Cisco NetFlow 工作原理介绍及配置_第5张图片