1、NetFlow介绍
- 提供高层次的诊断,分类和识别网络异常。
- 使用NetFlow来检查哪些行为改变明显的攻击是非常有效的。
- 就像Wiretap一样捕获数据包。
- NetFlow像电话账单。(谁和谁在通话,通过什么协议和端口,多长时间,速度如何,持续多久等)
- 路由器和交换机作为一个流量遥感器,推送流量信息到NetFlow Collector(流量收集器)。
NetFlow和Flexible NetFlow
一个流是一组拥有相同键值的数据包(7键值:源目端口、源目IP、协议、接口和CoS(TLV))
键决定了什么是流,非键是我们要收集的是什么。
灵活的NetFlow支持对键值和非键值的自定义,而标准的NetFlow是不允许修改键值的。
灵活的NetFlow的优势:
①高扩展性,可汇聚的高容量的流信息。
②增强的流架构,专注于额外的安全监控能力。
③灵活的键值和非键值配置。
④export format
⑤全方位的IP和BGP的记账。
2、NetFlow的版本和用途
版本5是标准的NetFlow,而版本9是灵活的NetFlow。
用途:
网络监控、应用监控和分析、用户监控和分析、网络规划和分析、安全分析、记账和审计。
Cisco IOS Flexible NetFlow Technology Q&A
https://www.cisco.com/c/en/us/products/collateral/ios-nx-os-software/flexible-netflow/prod_qas0900aecd804be091.html
3、NetFlow组件和配置:
组件:
①定义NetFlow要收集的信息(Key和nonkey)
②汇聚Record和Exporter并且调用到接口
③定义导出NetFlow的目的和版本
④定义流量的采样
配置:
①创建一个NetFlow的输出目的
R1(config)#flow exporter Net-Exporter
R1(config-flow-exporter)#destination 192.168.1.100 <<<收集器的地址
R1(config-flow-exporter)#transport udp 9999 <<<端口号自己定义,但是和收集器上保持一致
R1(config-flow-exporter)#export-protocol netflow-v9
②创建一个自定义的流量记录
match后面配置的是“键”;collect后面配置的是“非键”。
R1(config)#flow record Net-Record
R1(config-flow-record)#match ipv4 source address <<<匹配的是源目IP
R1(config-flow-record)#match ipv4 destination address
R1(config-flow-record)#collect counter bytes <<<收集字节计数
③创建一个流量监控
R1(config)#flow monitor Monitor01 <<<定义监控名
R1(config-flow-monitor)#record Net-Record <<<调用自定义流量记录
R1(config-flow-monitor)#exporter Net-Exporter
④再创建一个流量监控
R1(config)#flow monitor Monitor02
R1(config-flow-monitor)#record netflow ipv4 original-input <<<定义记录类型:经典NetFlow
R1(config-flow-monitor)#exporter Net-Exporter <<<为监控指派NetFlow的输出
⑤接口下面调用
内部接口:
R1(config)#int f0/0
R1(config-if)#ip flow monitor Monitor01 input
外部接口:
R1(config)#int f1/0
R1(config-if)#ip flow monitor Monitor02 input
其他配置:
-配置flow-top-talker(全局配置了就可以,不用调用)
R1(config)#ip flow-top-talkers
R1(config-flow-top-talkers)#top 5 <<<收集前5的源
R1(config-flow-top-talkers)#sort-by packets <<<排序标准
R1(config-flow-top-talkers)#match protocol 1 <<<匹配ICMP协议,ICMP协议号为1
-配置采样MAP
R1(config)#flow-sampler-map MAP
R1(config-sampler)#mode random one-out-of 10 <<<随机采样,10个包抓取一个
R1(config-sampler)#int f0/0
R1(config-if)#flow-sampler MAP
查看相关信息(NetFlow最好还是在分析器上看,设备本地不好看,另外,配置了NetFlow在分析器上要等一会儿才会有数据体现出来)
在设备上查看NetFlow数据:
show flow exporter show flow interface show flow monitor show flow monitor cache format show flow record show sampler
我们通过top-talker能看到之前配置前5个最高流量的记录。如下截图可以看到记录了98个报文。
其他show 信息:
关于IOS NetFlow的思科文档:
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/fnetflow/configuration/15-sy/fnf-15-sy-book/fnf-fnetflow.html