《数据驱动的网络分析》——2.3 NetFlow

简介:

本节书摘来自异步社区《数据驱动的网络分析》一书中的第2章,第2.3节,作者: 【美】Michael Collins 更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.3 NetFlow

NetFlow是Cisco开发的流量汇总标准,最初用于网络服务记账。虽然本意不是为了安全性,但是人们臆测NetFlow对此有益,因为它提供了紧凑的网络通信会话摘要,可以快速访问,并且包含了以相对紧凑的格式保存的最高价值信息。从1999年flow-tools软件包发布以来,NetFlow越来越多地用于安全分析,已经开发出了各种工具,这些工具为NetFlow提供了更多的字段,例如可选择的载荷片段。

NetFlow的核心是流(Flow)的概念,它与TCP会话近似。回忆前面介绍的知识,TCP会话在端点通过比较顺序号组装。在路由器判断处理多个TCP会话中包含的顺序号是不可能的,但是可以用超时值做出合理的估算。流是一组时间上很接近的同地址封包。

2.3.1 NetFlow v5格式和字段
NetFlow v5是最早的通用NetFlow标准,在讨论替代的版本之前,有必要介绍一下NFv5的字段值。NetFlow的字段如表2-2所示,大致分为3类:直接从IP封包中复制的字段、IP封包摘要字段和与路由相关的字段。


<a href=https://yqfile.alicdn.com/d12a2fa22769d6fd24892a453282356f02673484.png" >


<a href=https://yqfile.alicdn.com/bd4ed8eecbeb8b48dbc7c1c933ce4b3e8b7c6d16.png" >

  a这个值是路由器系统启动时间的相对值

NetFlow记录的srcaddr、 dstaddr、 srcport、 dstport、 prot和 tos字段直接从IP封包的对应字段复制。但是,对于IP协议族中的每个协议都会生成流,这就意味着,srcport和dstport字段严格来说是TCP/UDP专用的,不一定总是有意义的。在ICMP协议中,NetFlow在dstport字段中记录类型和代码,其他协议则忽略该值。

packets、dOctets、 first、 last和 tcp_flags字段都是从一个或者多个封包中汇总而得。packets和dOctets是简单的总和,需要注意的是,dOctets值是第3层的字节总数,也就是说包含了IP和协议报头(例如,没有载荷的单封包TCP流将记录为40个字节,而没有载荷的单封包UDP流将记录为28个字节)。first和last值分别是流中第一次和最后一次观察到封包的时间。

tcp_flags的情况特殊。在NetFlow v5中,tcp_flags字段由出现在流中的所有标志进行或运算求得。在形式合法的流中,这意味着SYN、FIN和ACK标志总为高值。

最后一组字段——nexthop、input、output、src_as、dst_as、src_mask和dst_mask都与路由相关。这些值只能在路由器上采集。

“流和内容”:NetFlow v9和IPFIX
Cisco开发了NetFlow的多个版本,最终NetFlow v5成为这个标准的主力实现。但是v5是一个受限和过时的标准,主要针对IPv4,而且是在流被广泛采用之前设计的。Cisco的解决方案是NetFlow v9,这是一个基于模板的流报告标准,路由器管理员可以用它指定包含在流中的字段。

之后,基于模板的NetFlow由IETF标准化为IPFIX1。IPFIX提供了几百种流字段,这些字段在RFC 5102中说明。该标准优先考虑的是网络监控和流量分析,而不是信息安全。为了处理可选的字段,IPFIX有一个“供应商空间”的概念。在开发SiLK工具包的过程中,卡内基梅隆大学的CERT网络态势感知小组在他们的IPFIX空间内开发了一组安全敏感字段,提供一组用于安全分析的有用字段。

2.3.2 NetFlow生成和采集
NetFlow记录由网络硬件设施(例如路由器或者交换机)直接生成,或者使用软件将封包转换为流。每种方法各有不同的优劣之处。

基于设施的生成手段使用的是硬件制造商提供的NetFlow机制。不同制造商使用类似但不同于Cisco的名称,例如Juniper Networks的Jflow和华为的NetStream。因为NetFlow由许多不同制造商提供,具有各种各样的规则,不可能在本书的范围内对必要的配置进行技术性探讨。但是,下面的经验法则值得一提。

NetFlow生成可能在路由器上造成性能问题,尤其是旧的型号。各个公司以不同的方式解决这个问题,包括降低该进程优先级(并抛弃记录)和将NetFlow生成任务卸载到可选(且昂贵)的硬件上。
大部分NetFlow配置默认采用某种形式的采样,以便降低性能负载。对于安全分析,NetFlow应该配置为提供未采样记录。
许多NetFlow配置提供一些汇总和报告格式,你应该采集原始的NetFlow数据,而不是汇总。
基于路由采集的替代方法是使用应用程序,如CERT的Yet Another Flowmeter(YAF)工具、softflowd 或者QoSient Argus 工具提供的大量流监控工具,从pcap数据生成NetFlow。这些应用程序将Pcap当成文件,或者直接从网络接口上采集封包并将其聚合成流。此类传感器缺乏路由器的观察点,但是同时能够提供更多的处理资源,分析封包和生成更加丰富的NetFlow输出,包含深度封包检查等功能。

相关文章
|
8月前
|
定位技术
GIS空间分析 网络分析4服务区分析
在本文中,你将学习到GIS空间分析中网络分析4服务区分析的详细过程
91 0
|
3月前
|
机器学习/深度学习 自然语言处理 安全
【开源威胁情报挖掘1】引言 + 开源威胁情报挖掘框架 + 开源威胁情报采集与识别提取
【开源威胁情报挖掘1】引言 + 开源威胁情报挖掘框架 + 开源威胁情报采集与识别提取
73 0
|
8月前
|
定位技术
GIS空间分析 网络分析2规划最佳路径
在本文中,你将学习到ArcGIS中 网络分析2规划最佳路径的详细过程
57 0
|
8月前
|
定位技术
GIS空间分析 网络分析5车辆多路径派发
在本文中,你将学习到GIS空间分析中网络分析5车辆多路径派发的详细操作过程
55 0
|
11月前
|
机器学习/深度学习 存储 边缘计算
数据驱动的网络入侵检测:最新动向与研究趋势
数据驱动的网络入侵检测:最新动向与研究趋势
135 0
数据收集系统(DCS)
本文研究全球及中国市场数据收集系统(DCS)现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美、欧洲、中国、日本、东南亚和印度等地区的现状及未来发展趋势
|
监控 网络虚拟化 网络架构
|
数据挖掘 图形学 Android开发
“网管”必备的五大网络数据分析工具
文章讲的是“网管”必备的五大网络数据分析工具,互联网发展至今,分析工具也发生了根本性变化,以前的网络分析可能只有点击计数的工作。随着分析工具的改变,我们可以通过大数据更了解受众用户与网站或应用之间的互动。
1547 0