NetFlow学习笔记
NetFlow学习笔记
标签: netflow
由于工作需要,对NetFlow做了一些学习和调研,并总结成文档以供学习分享。
背景:随着系统的升级与漏洞的修补,入侵主机进而进行破坏的病毒攻击方式在攻击中所占比例逐渐减少,这些攻击转而改为恶意的消耗网络有限的资源或占用系统,进而破坏系统对外提供服务的能力;但传统的系统升级无法检测并预防此类攻击。
针对此类攻击,业界提出了以检测网络数据流的方法来判断网络异常和攻击:借助实时的检测网络数据流信息,通过与历史记录模式匹配(判断是否正常)、或者与异常模式匹配(判断是否被攻击),让网络管理人员可以实时查看全网的状态,检测网络性能可能出现的瓶颈,并进行自动处理或告警显示,以保证网络高效、可靠地运转。
1、什么是NetFlow
NetFlow是由Cisco创造的一种流量轮廓监控技术,简单来说就是一种数据交换方式。Netflow提供网络流量的会话级视图,记录下每个TCP/IP事务的信息,易于管理和易读。
2、NetFlow版本
- Netflow V1:为Netflow技术的第一个实用版本。在如今的实际网络环境中已经不建议使用。
- Netflow V5:增加了对数据流BGP AS信息的支持。
- Netflow V7:思科Catalyst交换机设备支持的一个Netflow版本,需要利用交换机的MLS或CEF处理引擎。
- Netflow V8:增加了网络设备对Netflow统计数据进行自动汇聚的功能,可以大大降低对数据输出的带宽需求。
- 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 缓存
随后进行两大职能:
- 同样的流,直接从缓存读,不走路由表
- 缓存同时也进行了统计
5、NetFlow七元组
NetFlow使用七元组来区分每一个Flow,包括以下字段:
- 源IP地址
- 源端口号
- 目的IP地址
- 目的端口号
- 协议类
- 服务种类
- 输入接口
七元组的实际含义:
- 如果两段流量,其七元组都相同,就认为是一个流。
- 如果两段流量,其七元组至少有一个不同,就是不同的流。
6、NetFlow数据格式
一个NetFlow流定义为在一个源IP地址和目的IP地址间传输的单向数据包流,且所有数据包具有共同的传输层源、目的端口号。
基于NFC采集的网络流量数据如下:
61...68|61...195|64917|Others|9|13|4528|
数据中各字段的含义如下:
源地址|目的地址|源自治域|目的自治域|流入接口号|流出接口号|源端口|目的端口|协议类型|包数量|字节数|流数量
7、NetFlow优点
- NetFlow采集实施成本较低、安装方便。
- NetFlow的非常适用于大型网络。
- NetFlow记录的流包含了丰富的信息,非常适合于网络性能分析。
NetFlow学习笔记的更多相关文章
- docker容器的学习笔记
目录 Docker入门学习笔记(一) 1. 什么是Docker? 2. Docke的目标 3. Docker通常应用场景 4. Docker的基本组成 补:Docker容器相关技术简介 安装Docke ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
随机推荐
- django集成celery之callback方式link_error和on_failure
在使用django集成celery进行了异步调度任务之后,如果想对失败的任务进行跟踪或者告警,怎么做? 这里提供一个亲测的方法. 1.任务callback 假如你想在任务执行失败的时候,打印错误信息并 ...
- haproxy + keepalived 实现网站高可靠
haproxy 1的配置文件,包括 keepalived 和 haproxy 的配置,分别如下: [haproxy 1的keepalived 配置文件] /etc/keepalived/keepal ...
- Nhibernate/Hibernate 使用多参数存儲過程 出現could not execute query,Could not locate named parameter等錯誤解決
<?xml version="1.0" encoding="utf-8" ?> <hibernate-mapping xmlns=" ...
- win10 uwp 如何让一个集合按照需要的顺序进行排序
虽然这是 C# 的技术,但是我是用在 uwp ,于是就把标题写这个名.有一天,我的小伙伴让我优化一个列表.这个列表是 ListView 他绑定了一个 ObservableCollection 所以需要 ...
- win10 uwp smms图床
本文,如何使用smms图床上传图片,用到win10 uwp post文件,因为我是渣渣,如果本文有错的,请和我说,在本文评论,或发给我邮箱lindexi_gd@163.com,请不要发不良言论 找到一 ...
- C#控件基础
在说控件之前,还是有必要说一下如何创建项目的. 现在我们就不用创建控制台应用程序了,而是文件>新建>C#>Windows窗体应用程序.名称,位置自己选择. 创建好了大致就是这样了,可 ...
- MQTT——入门介绍
笔者相信大家对HTTP一定不能陌生."HTTP协议的三次握手四次挥手"相信也略有耳闻.HTTP协议的优势相信大家都明白.不然他不会这流行.然而这并不能忽略他的缺点.最大的特点就是无 ...
- Linux入门(17)——Ubuntu16.04显示内存CPU网速等(System Monitor)
终端查看内存状况有两个命令 top htop 如果系统没有安装htop的话,那就安装一下. 然而这样比较麻烦,System Monitor是个不错的选择,System Monitor可以显示网速,内存 ...
- LeetCode 538. Convert BST to Greater Tree (把二叉搜索树转换成较大树)
Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original B ...
- LeetCode 74. Search a 2D Matrix(搜索二维矩阵)
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...