NetFlow学习笔记

标签: netflow


由于工作需要,对NetFlow做了一些学习和调研,并总结成文档以供学习分享。


背景:随着系统的升级与漏洞的修补,入侵主机进而进行破坏的病毒攻击方式在攻击中所占比例逐渐减少,这些攻击转而改为恶意的消耗网络有限的资源或占用系统,进而破坏系统对外提供服务的能力;但传统的系统升级无法检测并预防此类攻击。

针对此类攻击,业界提出了以检测网络数据流的方法来判断网络异常和攻击:借助实时的检测网络数据流信息,通过与历史记录模式匹配(判断是否正常)、或者与异常模式匹配(判断是否被攻击),让网络管理人员可以实时查看全网的状态,检测网络性能可能出现的瓶颈,并进行自动处理或告警显示,以保证网络高效、可靠地运转。

1、什么是NetFlow

NetFlow是由Cisco创造的一种流量轮廓监控技术,简单来说就是一种数据交换方式。Netflow提供网络流量的会话级视图,记录下每个TCP/IP事务的信息,易于管理和易读。

2、NetFlow版本

  1. Netflow V1:为Netflow技术的第一个实用版本。在如今的实际网络环境中已经不建议使用。
  2. Netflow V5:增加了对数据流BGP AS信息的支持。
  3. Netflow V7:思科Catalyst交换机设备支持的一个Netflow版本,需要利用交换机的MLS或CEF处理引擎。
  4. Netflow V8:增加了网络设备对Netflow统计数据进行自动汇聚的功能,可以大大降低对数据输出的带宽需求。
  5. Netflow V9:一种全新的灵活和可扩展的Netflow数据输出格式,采用了基于模板(Template)的统计数据输出。方便添加需要输出的数据域和支持多种Netflow新功能,如Multicast Netflow,MPLS Aware Netflow,BGP Next Hop V9,Netflow for IPv6等。

3、NetFlow用途

利用Netflow技术可以监测网络上的IP Flow信息

IP Flow信息,可以回答用户的下面问题(5W1H):

  • who:源IP地址
  • when:开始时间、结束时间
  • where:从哪:From(源IP,源端口)、到哪:To(目的IP,目的端口)
  • what:协议类型,目标IP,目标端口
  • how:流量大小,流量包数
  • why:基线,阈值,特征

采集到的netflow流量信息可以帮助进行:

  • 网络行为分析
  • 业务访问情况分析
  • 网络规划
  • 流量计费
  • 病毒检测
  • 等等

4、NetFlow工作原理

首先先创建一个缓冲流NetFlow cache

NetFlow利用标准的交换模式处理数据流的第一个IP包数据,生成NetFlow 缓存

随后进行两大职能:

  1. 同样的流,直接从缓存读,不走路由表
  2. 缓存同时也进行了统计

5、NetFlow七元组

NetFlow使用七元组来区分每一个Flow,包括以下字段:

  • 源IP地址
  • 源端口号
  • 目的IP地址
  • 目的端口号
  • 协议类
  • 服务种类
  • 输入接口

七元组的实际含义:

  • 如果两段流量,其七元组都相同,就认为是一个流。
  • 如果两段流量,其七元组至少有一个不同,就是不同的流

6、NetFlow数据格式

一个NetFlow流定义为在一个源IP地址和目的IP地址间传输的单向数据包流,且所有数据包具有共同的传输层源、目的端口号。

基于NFC采集的网络流量数据如下:

61...68|61...195|64917|Others|9|13|4528|

数据中各字段的含义如下:

源地址|目的地址|源自治域|目的自治域|流入接口号|流出接口号|源端口|目的端口|协议类型|包数量|字节数|流数量

7、NetFlow优点

  1. NetFlow采集实施成本较低、安装方便。
  2. NetFlow的非常适用于大型网络。
  3. NetFlow记录的流包含了丰富的信息,非常适合于网络性能分析。

NetFlow学习笔记的更多相关文章

  1. docker容器的学习笔记

    目录 Docker入门学习笔记(一) 1. 什么是Docker? 2. Docke的目标 3. Docker通常应用场景 4. Docker的基本组成 补:Docker容器相关技术简介 安装Docke ...

  2. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  3. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  4. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  5. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  6. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  7. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  8. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  9. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

随机推荐

  1. visio流程图软件

    microsoft visio 2013 64位 链接:http://pan.baidu.com/s/1bnjWa1T 密码:9ylc 标准图表 使用现有的数据,您可以生成许多种类的 Visio 标准 ...

  2. hover与click样式冲突

    如果你的hover事件和click事件的样式不同,如元素背景本来是#fff,如果hover时背景是#ddd,点击时背景是#aaa,那么问题是当你点击后,鼠标再移动到这个元素时背景会变成#ddd,而你希 ...

  3. RAID 构建

    RAID的创建 第一步:先查看我们系统的磁盘情况 [root@station40 ~]# lsblk NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT sda    ...

  4. Junit基本使用

    Junit基本用法 1.创建Junit Test Case 2.基本使用(以oracle数据库操作为例) package com.csit.adminsystem1.tests; import sta ...

  5. 423. Reconstruct Original Digits from English (leetcode)

    Given a non-empty string containing an out-of-order English representation of digits 0-9, output the ...

  6. es6总结

    主要包括let const,模板字符串,解构赋值,箭头函数,扩展运算符,Promise,类,import export等 一.let和const 1.let所声明的变量只在let所在的代码块内有效.l ...

  7. js原生API妙用(一)

    复制数组 我们都知道数组是引用类型数据.这里使用slice复制一个数组,原数组不受影响. let list1 = [1, 2, 3, 4]; let newList = list1.slice(); ...

  8. iOS之 Category 属性 的理解

    在 Objective-C 中可以通过 Category 给一个现有的类添加属性,但是却不能添加实例变量 反正读第一遍的时候我是有点晕的,可以添加“属性”,然后又说“添加实例变量”,第一感觉就好像 有 ...

  9. SE6 不定参数和默认参数详解和使用细节

    在SE5以前我们通常通过arguments类数组对象来引用不定形参,SE6则使用了一种叫做不定参数的写法,比起隐式的arguments要直观的多. 不定参数使用...参数名来指定一个不定参数,参数名指 ...

  10. poj 1759 Garland

    Garland Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2365   Accepted: 1007 Descripti ...