【NetFlow】NetFlow V9协议详细分析

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。

摘自百度百科

 

Netflow技术最早是于1996年由思科公司的Darren Kerr和Barry Bruins发明的,并于同年5月注册为美国专利,专利号为6,243,667。Netflow技术首先被用于网络设备对数据交换进行加速,并可同步实现对高速转发的IP数据流(Flow)进行测量和统计。经过多年的技术演进,Netflow原来用于数据交换加速的功能已经逐步由网络设备中的专用ASIC芯片实现,而对流经网络设备的IP数据流进行测量和统计的功能也已更加成熟,并成为了当今互联网领域公认的最主要的IP/MPLS流量分析,统计和计费行业标准。Netflow技术能对IP/MPLS网络的通信流量进行详细的行为模式分析和计量,并提供网络运行的详细统计数据。
在Netflow技术的演进过程中,思科公司一共开发出了5个主要的实用版本,即:
Netflow V1,为Netflow技术的第一个实用版本。支持IOS 11.1,11.2,11.3和12.0,但在如今的实际网络环境中已经不建议使用。
Netflow V5,增加了对数据流BGP AS信息的支持,是当前主要的实际应用版本。支持IOS 11.1CA和12.0及其后续IOS版本。
Netflow V7,思科Catalyst交换机设备支持的一个Netflow版本,需要利用交换机的MLS或CEF处理引擎。
Netflow V8,增加了网络设备对Netflow统计数据进行自动汇聚的功能(共支持11种数据汇聚模式),可以大大降低对数据输出的带宽需求。支持IOS12.0(3)T,12.0(3)S,12.1及其后续IOS版本。
Netflow V9,一种全新的灵活和可扩展的Netflow数据输出格式,采用了基于模板(Template)的统计数据输出。方便添加需要输出的数据域和支持多种Netflow新功能,如Multicase Netflow,MPLS Aware Netflow,BGP Next Hop V9,Netflow for IPv6等。支持IOS12.0(24)S和12.3T及其后续IOS版本。在2003年思科公司的Netflow V9还被IETF组织从5个候选方案中确定为IPFIX(IP Flow Information Export)标准。

这是Cisco网络设备上支持的一种传输数据协议,下面就一些样本数据,以图文并茂的方式给大家详细解释下NetFlow V9的协议格式:

 

1、协议格式

【NetFlow】NetFlow V9协议详细分析_第1张图片
【NetFlow】NetFlow V9协议详细分析_第2张图片

【NetFlow】NetFlow V9协议详细分析_第3张图片

【NetFlow】NetFlow V9协议详细分析_第4张图片

以上说明了netflow数据完整的数据格式,包括包头定义,模板定义,信息数据流定义

后面还有可选项数据的定义:

【NetFlow】NetFlow V9协议详细分析_第5张图片

【NetFlow】NetFlow V9协议详细分析_第6张图片

2、示例,模板数据流包

【NetFlow】NetFlow V9协议详细分析_第7张图片

 

FlowSet ID=0

数据流汇总ID的值为0,该值是专门保留给模板数据流汇总ID使用的。

以上截图的数据包为信息数据流的模板

【NetFlow】NetFlow V9协议详细分析_第8张图片

 

模板ID的唯一性在一个本地的观察域中有效,0-255的模板ID被预留出来给模板数据流汇总、可选数据流汇总和其它尚待开发的数据流汇总使用。信息数据流汇总则使用256-65535之间的模板ID值。

【NetFlow】NetFlow V9协议详细分析_第9张图片

 

这是13个字段的定义

 

如图,21表示这是本条数据流最后一个数据包被传送的时间戳(单位兆秒)

【NetFlow】NetFlow V9协议详细分析_第10张图片

模板数据流之后就是具体的信息数据流了

可以看到信息数据流里的templateID是259,就是上面的模板数据流里的templateID

FlowSet Length 48是整个信息数据流的长度,48个字节,跟前面13个Field Type定义是对应的

接下来的13个字段的值对应的就是前面Field Type定义的字段含义

【NetFlow】NetFlow V9协议详细分析_第11张图片【NetFlow】NetFlow V9协议详细分析_第12张图片

【NetFlow】NetFlow V9协议详细分析_第13张图片

协议头里标明一共是28个信息数据流

3、示例,16进制串,按照格式拆分

给定一串16进制串,按照协议格式,按字段拆分,再次了解协议的具体组成

 

0009001cd21326885910ab9900048b35000000020000003c0103000d0015000400160004000100080002000800080004000c000400070002000b0002000a00040004000100050001003d000100d2000101030030d212f12cd212e3330000000000005c9f0000000000000013ddb043e2c0a8732d03e1ed7d000000180600000001030030d212f12cd212e69800000000000003010000000000000002739f8194c0a8726e01bbce13000000180600000001030030d212f12cd212e34c000000000000181f000000000000000ecbd027f9c0a8726001bbe82c000000180600000001030030d212f12cd212e6c300000000000001170000000000000001739f8194c0a8726e01bbce14000000180600000001030030d212f12cd212deda000000000000004000000000000000015bcd45d9c0a8aa1d01bbcc67000000180600000001030030d212f12cd212578a0000000000000d53000000000000001178cc0a2ec0a85a1a01bbdc32000000180600000001030030d212f12cd212e6a1000000000000043400000000000000046a0b3e47c0a8726f01bbe3c2000000180600000001030030d212f12cd212df57000000000000062a0000000000000009dacd73f0c0a869de01bbec9d000000180610000001030030d212f12cd212df7000000000000000460000000000000001dacd73f0c0a869de01bbec9e000000180610000001030030d212f12cd212df7d000000000000011c0000000000000002b7e867dec0a86a390050c78b000000180600000001030030d212f12cd212ea4a00000000000017b8000000000000000478dd41e9c0a85b5801bbe96d000000180600000001030030d212f12cd212e71f00000000000000400000000000000001671a0299c0a8772f0050d09a000000180600000001030030d212f12cd212eb19000000000000004000000000000000013a355eadc0a8786b0050fd27000000180600000001030030d212f12cd212dec500000000000002780000000000000002ddb0424cc0a86a3b03e1e144000000180600000001030030d212f12cd212df4700000000000041590000000000000010b7e8e7acc0a8594b01bb097b000000180600000001030030d212f12cd212e6f000000000000042680000000000000012b7e8e7acc0a8594b01bb097d000000180600000001030030d212f12cd212e6e800000000000000400000000000000001dfca131fc0a8b4100050d0a1000000180600000001030030d212f12cd212e75d00000000000000460000000000000001b7e818dbc0a85a010050c970000000180600000001030030d212f12cd212b3c800000000000002480000000000000002757ad906c0a872600050e7d9000000180600000001030030d212f12cd212e41500000000000000400000000000000001dacd5211c0a876540050e4db000000180600000001030030d212f12cd212de9600000000000001aa0000000000000003785c20fdc0a8be3b0050ffcc000000180600000001030030d212f12cd212debc00000000000000800000000000000002c33e3450c0a86a40cc0b2a0b000000180600000001030030d212f12cd212ea9400000000000000400000000000000001785c20fdc0a8be3b0050ffd6000000180600000001030030d212f12cd212eabb0000000000000aeb00000000000000043a355e9ec0a8786b0050fd5c000000180620000001030030d212f12cd212df8a000000000000091b000000000000000270111be7c0a8581b0050c2db000000180600000001030030d212f12cd212ea7400000000000001c700000000000000042a9c8cdec0a85acf0050dd14000000180600000001030030d212f12cd212e73800000000000003b50000000000000006cbd0335ac0a8726e01bbce190000001806000000


以上字节流,经过协议分解后如下:

 

 

0009		版本
001c		数据流包总数量(模板、信息、可选模板),一共28个数据流
d2132688	设备启用后的运行时间,毫秒
5910ab99	输出数据包从输出器发出后经历的时间,秒
00048b35	序列号,自增
00000002	sourceId
0000		0表示为模板数据流
003c		数据流的长度 60,包括自身,即当前这个模板数据流的总长度
0103		模板数据流的编号,0-255预留给模板、可选数据流使用,256-65535为信息数据流使用
000d		该模板的字段数量13个
===================字段定义开始=====================
0015		字段类型,参照具体字段含义解释
0004		该字段的长度
0016
0004
0001
0008
0002
0008
0008
0004
000c
0004
0007
0002
000b
0002
000a
0004
0004
0001
0005
0001
003d
0001
00d2
0001
===================字段定义结束=====================
===================信息数据流开始===================
0103		信息数据流使用的模板编号
0030		当前这个信息数据流的总长度 48,减去前面以及自身4个字节,后续还有44个字节,这44个字节的定义参照上述模板数据流里的字段定义
d212f12c    该字段的type为21,4个字节
d212e333
0000000000005c9f
0000000000000013
ddb043e2
c0a8732d
03e1
ed7d
00000018
06
00
00
00
===================信息数据流结束===================
===================信息数据流开始===================
0103
0030
d212f12c
d212e698
0000000000000301
0000000000000002
739f8194
c0a8726e
01bb
ce13
00000018
06
00
00
00
===================信息数据流结束===================
下面依次类推,攻击28个信息数据流
………………
0103
0030
d212f12c
d212ea74
00000000000001c7
0000000000000004
2a9c8cde
c0a85acf
0050
dd14
00000018
06
00
00
00

 

 

 

 

 

以上内容即完整的netflow V9数据流的协议分解,帮助更好的理解数据协议的组成。

 

 

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