NetFlow监控涉及到的设备:
被监控的交换机(也可能是镜像服务器)和收集器(监控软件所在的设备)
工作原理:
NetFlow使用流(流)来完成统计数据,网络监控,甚至网络规划。流有方向这个属性,在一个接口或者一个vlan下,某一方向上具有相同参数的数据包组成了流(流)。上边这句话是思科文档中翻译过来的,如果你没看懂,你可以简单理解为具有相同五元组(相同的源地址,目的地址,源端口,目的端口,协议)的数据包可以称之为一个流(流)。
被监控的交换机,将端口进出方向的数据包进行分析,把相关信息(源地址,目的地址,源端口,目的端口,协议,包大小等信息)放进NetFlow包中,发到收集器(NetFlow收集器)中,这个处理过程将消耗被监控设备的cpu和内存。收集器(监控软件,都是第三方的)将数据进行整理,呈现报表。
v5只支持ipv4
v9支持ipv4和ipv6
配置命令示例(NetFlow v5,设备:asr1001x):
<代码> HK-test流出口国 目的地10.136.76.117 源Loopback1 传输udp 9998 export-protocol netflow-v5 代码>
输出器主要用于配置输出参数,有地址和端口,输出源地址和版本,目标地址是收集器的ip,端口取决于收集器的监听端口,源端口是发送端口,抓包时候会看见源地址是loopback1的ip。
<代码> HK-test-monitor流监控器 出口国HK-test 高速缓存类型直接 记录netflow-original 代码>
监控器:将流记录和输出器绑定,这里流记录使用默认netflow-original配置,因为v5不能自定义模板,缓存使用直接的效果是立即将解析好的数据包发送到监控服务器,而不进行聚合汇总。
<代码>取样器测试1 模式确定1外2 代码>
采样比:按一比二比例,将所有的流量全部抓下来
<代码> GigabitEthernet0/0/4接口 ip流量监控器试取样器测试1输入 ip流量监控器试取样器测试1输出代码>
配置到接口下
配置命令示例(netflow v9,设备:asr1001x):
<代码>流记录试一试 描述测试 与ipv4源地址 ipv4匹配目的地址 与ipv4协议 匹配运输sourceport 匹配运输destinationport 收集计数字节 收集计数器数据包长 收集时间戳sysuptime第一 收集时间戳sysuptime去年 流出口国try_exporter 描述test_ex 目的地10.136.76.117 源Loopback1 传输udp 9999 模板数据超时30 流量监控器试试 描述测试 出口国try_exporter 高速缓存类型直接 试着记录 取样器test1 模式确定1无所不能的2 接口GigabitEthernet0/0/4 ip流量监控器试取样器test1输入 ip流量监控器试取样器test1输出代码>
与v5不同的是多添加了流记录的配置,并且调用了试试这个流记录。
配置命令示例(netflow v9,设备:nexus 5 k):
链接:cisco-N6k-netflow——原版
提取码:pa8i
<代码>流出口国ext 目的地10.136.17.146 传输udp 9996 源Vlan40 version 9 代码>
输出器主要用于配置输出参数,有地址和端口,输出源地址和版本,目标地址是收集器的ip,端口取决于收集器的监听端口,源端口是发送端口,抓包时候会看见源地址是int vlan 40的ip。
<代码> rdt流记录 与ipv4源地址 ipv4匹配目的地址 匹配的ip协议 匹配的ip服务条款 匹配传输源端口 匹配运输目的港 收集计数字节 收集计数器数据包长 收集时间戳sys-uptime第一 收集时间戳sys-uptime去年 收集ip版本代码>
流记录:收集相关信息,用于监控数据流量
<代码>取样器slt 模式1外128 代码>
采样比:每128个包,选取一个包
<代码>取样器 模式1外1 代码>
采样比:一比一,将所有的流量全部抓下来
<代码>太流监控器 rdt记录 出口国ext代码>
监控器:将流记录和输出器绑定
<代码> int vlan 40 ip流量监控器太输入采样器完整的代码>
将监控器和一比一的采样比应用在接口,经测试,发现只能配置输入方向的netflow监控,无法配置输出方向。
V5数据包样式
默认wireshark是无法解析netflow数据包的,需要将对应端口解析成cflow格式。比如,我是用的是这9999个端口,需要:选中一个数据包→右键→解码为→添加下图内容,然后才能解析。