NetFlow V9协议解析使用教程(一)

NetFlow V9协议解析使用教程(一)
NetFlow V9协议解析使用教程(二)-配置,采集,处理NetFlow
一.IPFIX和Netflow(以下对协议的解释都来自百度百科)
IPFIX全称为IP Flow Information Export,即IP数据流信息输出,它是由IETF公布的用于网络中的流信息测量的标准协议。
该协议主要在于:
l 统一 IP数据流的统计、输出标准,这使得网络管理员很容易地提取和查看存储在这些网络设备中的重要流量统计信息。
l 输出格式具有较强的可扩展性,因此如果流量监控的要求发生改变,网络管理员也可通过修改相应配置来实现,不必升级网络设备软件或管理工具。
IPFIX 定义的格式以Cisco Netflow Version 9数据输出格式作为基础,可使IP流量信息从一个输出器(Exporter)传送到收集器(Collector)。因为IPFIX 是一种针对数据流特征分析、基于模板的格式输出的协议,因此具有很强的可扩展性,对于不同的需求都可以定义不同的数据格式。
为了较完整的输出数据,IPFIX 缺省使用网络设备的七个关键域来表示每股网络流量:
1 源 IP 地址
2 目的IP 地址
3 TCP/UDP 源端口
4 TCP/UDP 目的端口
5 三层协议类型
6 服务类型(Type-of-service)字节
7 输入逻辑接口

如果不同的IP 报文中所有的七个关键域都匹配,那么这些IP 报文都将被视为属于同一股流量(单向)。通过记录网络中这些流量的特征,如流量持续时间、流量中报文平均长度等, 我们可以了解到当前网络的应用情况,并根据这些信息对网络进行优化,安全检测,流量计费。
流的开始时间容易判断,但是判断流的结束时间比较难
**流的开始:**即新流第一个包的时间。
流的结束:
1.传输协议出现连接结束标志,例如TCP FIN or RST。
2.无流量超过N秒,发生在UDP或者TCP双方掉线等情况(这个N可以在路由器上配置,可以取15秒,路由器默认1800秒)
3.对于长期存在的活跃流,需要保证及时的周期性的输出,路由器一般默认配置1800秒。
4.缓存满了,一般路由器默认缓存流的个数为4096

二.Netflow和SFlow
NetFlow V9协议解析使用教程(一)_第1张图片
三.Netflow v9数据包类型
参考rfc3954中文版.pdf,百度可下载
对于不同的交换机或者路由器,会产生不同的Netflow数据包,但大体就也是Packet Header(包头),Template FlowSet(模板数据集),Data FlowSet(数据集),Options Template FlowSet(可选模板数据集)
例如:
(1)由模板、信息和可选模板三种数据流汇总组成的输出数据包。
NetFlow V9协议解析使用教程(一)_第2张图片
(2)全部由信息数据流汇总组成的输出数据包
NetFlow V9协议解析使用教程(一)_第3张图片
(3)全部由模板和可选模板数据流汇总组成的输出数据包
NetFlow V9协议解析使用教程(一)_第4张图片
四.Netflow 数据包格式
(1)Packet Header包头
看图上的数字让人有点疑惑,可以不看,一行表示8个字节例如,Version Number 4字节,Count 4字节,sysUptime 8字节
NetFlow V9协议解析使用教程(一)_第5张图片
version
输出数据包的数据流记录格式的版本号,最新的版本为9。
count
表示输出数据包中模板、信息、可选模板汇总记录的总数量。
SysUpTime
设备启用后的运行时间(毫秒级计数)。
UNIX Secs
输出数据包从输出器发出后经历的时间(秒级计数)
Sequence Number
该序列数字随着某个观察域中的输出器输出的输出数据包数量累积增加,能够被收集器用来判断是否有输出数据包丢失的现象。
Source ID
用来标示输出器所处的观察域(用32bit的数值来表示),收集器可以根据数据包的源IP地址和Source ID字段来区分同一个输出器输出的不同输出流。

(2)Template FlowSet模板数据格式
NetFlow V9协议解析使用教程(一)_第6张图片
FlowSet ID=0
数据流汇总ID的值为0,该值是专门保留给模板数据流汇总ID使用的。
Length
长度值是整个数据流汇总所有字段长度的总和。由于某些模板数据流汇总可能包含了多个模板记录,因此我们必须使用一个长度值来确定下一条任何类型的数据流汇总的位置。
Template ID
每一个生成的模板记录都会被分配一个唯一的模板ID。模板ID的唯一性在一个本地的观察域中有效,0-255的模板ID被预留出来给模板数据流汇总、可选数据流汇总和其它尚待开发的数据流汇总使用。信息数据流汇总则使用256-65535之间的模板ID值。
Field Count
一个模板记录中字段的数量。因为一个模板数据流汇总中通常有多个模板记录,这些字段的计数能够帮助收集器界定一条模板记录和下一条模板记录的分界点。
Field Type
一个表示该字段类型的数字值,具体请参考“字段类型定义”一节。
Field Length
一个表示相应类型字段的长度值,以字节为单位。

(3)Data FlowSet(数据集)
NetFlow V9协议解析使用教程(一)_第7张图片
FlowSet ID = Template ID
每一条信息数据流汇总都会有自己的数据流汇总ID,这个汇总ID和模板数据流汇总中的模板ID一致。收集器可以根据这个信息数据流汇总ID来查找相应的模板并对信息记录进行解析。
Length
指的是整个信息数据流汇总报文的总长度。
Record N - Field Value M
信息数据流汇总剩余的部分是数据流信息记录的集合,里面包含了字段的具体数值,而这些字段的类型和长度已经在先前描述的模板记录中定义好了,我们可以根据数据流汇总ID和模板ID找到它们。
Padding
输出器将根据需要在数据流汇总中插入一些填充字节使得其符合每段4字节的大小。注意:报文格式中的length字段的值已经计算了填充字节的大小,填充字节的数值全部是0。

(4)Options Template FlowSet(可选模板数据集)
这里不再描述,可查看rfc3954中文版.pdf

五.现实Netflow例子
在路由器上配置了Netflow,并使用nfdump工具接收Netflow数据包
一般netflow会先发Template FlowSet模板数据包,然后再发只有Data FlowSet的数据包
(1)Template FlowSet数据包,一串2进制,然后按格式展开换行,里面的field type值对应的意思查看rfc3954中文版.pdf

00:09:输出数据包的数据流记录格式的版本号,最新的版本为9。
00:01:表示输出数据包中模板、信息、可选模板汇总记录的总数量。
15:5a:ea:14:设备启用后的运行时间(毫秒级计数)
5c:e2:ea:8d:输出数据包从输出器发出后经历的时间(秒级计数)
00:00:1f:28:
02:00:00:00:
------------------------------------------------------------------------------以上属于package header
00:00:FlowSet ID=0表示为模板数据流
00:2c:数据流的长度44
01:17:模板数据流的编号,0-255预留给模板、可选数据流使用,256-65535为信息数据流使用
00:09:Field Count,该模板的字段数量9个
00:0c:Field Type,这里000c为IPV4_DST_ADDR,ipv4目的地址
00:04:Field Length
00:08:IPV4_SRC_ADDR,ipv4源地址
00:04:
00:07:L4_SRC_PORT
00:02:
00:0b:L4_DST_PORT
00:02:
00:05:TOS,入端口插入的服务类型字段
00:01:
00:04:PROTOCOL
00:01:
00:3c:IP_PROTOCOL_VERSION
00:01:
00:01:IN_BYTES,入方向的IP数据流的长度戳,按N*8比特位为一个计数单位,N默4
00:04:
00:02:IN_PKTS,入方向的IP数据流的数据包数量戳,按N*8比特位为一个计数单位,N默认为4
00:04

(2)Data FlowSet

00:09:输出数据包的数据流记录格式的版本号,最新的版本为9。
00:23:表示输出数据包中模板、信息、可选模板汇总记录的总数量。
15:47:0c:24:设备启用后的运行时间(毫秒级计数)。356977000
5c:e2:e5:77:输出数据包从输出器发出后经历的时间(秒级计数)
00:00:1e:ef:
02:00:00:00:
------------------------------------------------------------------------------以上属于package header
01:17: FlowSet ID = Template ID,信息数据流格式
00:1c: 数据流长度28
14:14: Record 1 - Field Value 1
15:0a: Record 1 - Field Value 2
14:14: Record 1 - Field Value 3
14:0d:
85:d6:00:35:00:11:04:00:00:01:44:00:00:00:04:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:a0:42:00:35:00:11:04:00:00:01:84:00:00:00:04:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:83:8a:00:35:00:11:04:00:00:01:44:00:00:00:04:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:a9:4f:00:35:00:11:04:00:00:01:84:00:00:00:04:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:9e:4d:00:35:00:11:04:00:00:01:44:00:00:00:04:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:be:3f:00:35:00:11:04:00:00:01:84:00:00:00:04:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:9c:2c:00:35:00:11:04:00:00:01:44:00:00:00:04:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:94:d3:00:35:00:11:04:00:00:00:c2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:bc:c1:00:35:00:11:04:00:00:00:c2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:8d:dd:00:35:00:11:04:00:00:00:a2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:ca:ed:00:35:00:11:04:00:00:00:a2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:90:32:00:35:00:11:04:00:00:00:c2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:c4:6c:00:35:00:11:04:00:00:00:c2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:dd:b8:00:35:00:11:04:00:00:00:a2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:b2:39:00:35:00:11:04:00:00:00:a2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:ca:94:00:35:00:11:04:00:00:00:c2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:d9:4e:00:35:00:11:04:00:00:00:c2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:8b:d9:00:35:00:11:04:00:00:00:a2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:e9:7c:00:35:00:11:04:00:00:00:a2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:d5:ea:00:35:00:11:04:00:00:00:c2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:ab:29:00:35:00:11:04:00:00:00:c2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:d0:0a:00:35:00:11:04:00:00:00:a2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:84:81:00:35:00:11:04:00:00:00:a2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:d3:4a:00:35:00:11:04:00:00:00:c2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:a4:28:00:35:00:11:04:00:00:00:c2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:b4:a1:00:35:00:11:04:00:00:00:a2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:b1:29:00:35:00:11:04:00:00:00:a2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:88:67:00:35:00:11:04:00:00:00:c2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:d6:27:00:35:00:11:04:00:00:00:c2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:b0:d1:00:35:00:11:04:00:00:00:a2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:97:06:00:35:00:11:04:00:00:00:a2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:8a:c6:00:35:00:11:04:00:00:00:c2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:e6:8e:00:35:00:11:04:00:00:00:c2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:b6:cc:00:35:00:11:04:00:00:00:a2:00:00:00:02:00:01:17:00:1c:14:14:15:0a:14:14:14:0d:bd:7d:00:35:00:11:04:00:00:00:a2:00:00:00:02:00
就不展开了

你可能感兴趣的:(安全)