`
zhengxuezhou
  • 浏览: 151817 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux下模拟CISCO设备输出NetFlow数据

阅读更多
http://blog.163.com/sd_qiye/blog/static/43530267200821811234264/


一、系统架构JP8v/|0hw F
     系统搭建于Linux RedHat 9.0操作系统之上。需要模拟的部分主要是数据导出模块。我们使用NetflowExporter软件来模拟路由器的数据导出功能。目前该软件只支持常用的NetFlow V5格式。在数据采集模块中采用flow-tools 0.68工具包。
        运行NetflowExporter的PC,最好配有两颗以上的CPU,内存的需要量要看具体的流量状况。根据经验,在10兆规模的网络中实现 NetFlow功能的话,内存不应小于1G。数据导出端还应配置双网卡以实现数据导出。数据采集模块部分主要实现flow聚合存储功能,需要比较大的存储空间。以我们实际实验为例,十兆级的流量大概每天要占用3-5G。采用压缩技术之后为再小一点。 T(`"{vuC#Q`
        数据导出模块使用两个网络接口eth0和eth1(两块网卡),eth0需要内部IP地址,但是并不需要对eth1的IP地址进行设置(或者使用一个不用的私有地址) ,同时在NetflowExporter主机上设置监听接口。然后,在交换机上进行配置,把路由器的端口的数据分组完全复制一份到eth1接口。经过 NetflowExporter处理之后,通过eth0以UDP格式报文的形式导出到内部网络中的flow -tools或ntop主机,同时在采集端必须进行合理配置以正确接收由导出端发出的Netflow V5格式报文。这样会在采集模块中生成流量数据文件,从而可以在数据分析端处理分析用户所需要的流信息。安装flow-tools或ntop的主机可以是另一台主机或者就是NetflowExporter主机。系统结构如附件1所示。

二、具体实现4EC6n u J6L V8r
1、导出模块
        在数据导出部分,NetflowExporter主机目前只支持在i386平台的 Linux 及 FreeBSD 操作系统。以Linux平台为例,在 Linux平台下以rpm软件安装包来进行安装,如:# rpm -ivh NetflowExporter-0.1.25-1.i386.rpm 第一次运行可以输入:# netflow,然后可以进入 netflow 软件程序的用户界面。用户界面的提示符是 hostname::netflow> , 建议先用show configuration 指令来了解目前系统的配置情况。如果要监听的接口为eth1,可输入listen on eth1命令。用ip flow-export destination x.x.x.x portnumber(其中x.x.x.x表示目的主机的IP地址,portnumber为目的端口号)命令来指定NetflowExporter要输出的目的主机及其接收的端口。然后输入enable ip flow-export 命令来启动输出flow功能。建议在设定完成后,用show configuration 命令再确认一下配置正确与否。然后用write命令将配置保存下来,一般来讲,配置存储文件是/etc/netflow.conf。退出 NetflowExporter有两个命令。一个是exit,这个命令是离开这个软件的用户界面但是软件依然在后台工作。第二个命令是 terminate,这个命令不但会退出软件用户界面也会使软件停止工作。

lT KOH0t(y3XvT.l
2、采集模块
        在数据采集端使用flow-tools 0.68工具包(http://cng.ateneo.net/cng/wyu/software/flow-tools.php)。
        其中flow-capture主要负责收集、压缩、存储从路由器(数据导出端)发过来的UDP包。例如:flow-capture –n 105 –Z 6 –w /var/netflow 0/0/3309,其中-n参数用于指定每天创建文件的个数,默认值是95,大概15分钟生成一个流信息记录文件。-Z参数用于设置压缩级别。flow- tools中内建了Zlib算法用于对流数据进行压缩。压缩级别共有10级,分别为从0到9,0表示不进行任何压缩,9是压缩率最高但最耗资源。实验结果表明,在选择压缩参数6的时候,对cpu的耗用和压缩效果两者之间可以取得较好的平衡,基本上压缩率在 3-5:1。-w参数用于指定流文件存放的目录。这里需要注意的是,这个目录名一定要事先手动建立,不然无法生成流文件,也无法自动创建目录名。 0/0/3309分别是指本地(接收端)IP/远程(发送端)IP/接收端口号。在运行这个程序后,可以在Linux提示符下输入netstat –lnp查看程序所指定的监听端口是否已经打开。如果打开表示程序已经正常工作。如果没有说明程序设置有问题,需要重新检查设置。具体可以查看 /var/log/messages里的信息。

CH8T4zh_
3、数据转出程序&P:dK0w+js0`W
        flow-import 和 flow-export 可以对数据进行导入导出,其中flow-export还支持直接导出到Mysql数据库中或者导出成为Cflow支持的流格式或直接导出为ASCII文本文件。例如:flow-export -f2 -mdpkts,doctets,first,last,srcaddr,dstaddr,srcport,dstport,prot,tos <流文件或流目录 > flows.ascii,这个命令就可以把流文件中的记录信息全部导出到一个ASCII文件中。flow-export -f2 -mdpkts,doctets,first,last,srcaddr,dstaddr,srcport,dstport,prot,tos -u “user:password:host:prot:name:table”<流文件或流目录,这个命令可以将流记录直接导入到指定的Mysql数据库中。需要注意的是指定的字段顺序不能颠倒,否则不能导出正确的流记录。
分享到:
评论

相关推荐

    netflow 网络流量模拟发送

    netflow 网络流量模拟发送,可以指定包数大小,流量大小,以及目的IP和端口。源端口、目的端口、发送时间、高级设置等

    接收NetFlow数据并导入Mysql数据库的Java工具

    标题中的“接收NetFlow数据并导入Mysql数据库的Java工具”指的是一个利用Java编程语言开发的应用,该应用能够处理从网络设备上收集的NetFlow数据,并将这些数据存储到MySQL数据库中。NetFlow是一种网络流量监测协议...

    netflow数据采集

    NetFlow是一种由Cisco系统开发的网络流量分析技术,主要用于收集、分析和记录网络设备上的通信流量数据。这个技术被广泛应用于网络监控、流量计费、安全审计和性能优化等领域。在"netflow数据采集"中,我们的目标是...

    Netflow数据分析

    Netflow数据分析

    fprobe工具(利用网卡接收到得原始报文生成netflow的工具)

    NetFlow是一种由Cisco开发的流量分析技术,用于收集、统计网络设备上的通信流量信息,以便进行网络性能分析、故障排查和安全审计。下面我们将深入探讨fprobe的功能、工作原理以及如何使用它来生成NetFlow数据。 1. ...

    netflow 配置手册

    标题与描述概述的知识点主要集中在Cisco设备上的NetFlow配置,NetFlow是一种用于收集与网络流量相关的统计数据的技术,它能够提供详细的网络流量分析,帮助网络管理员理解网络中的数据流模式、性能以及潜在的安全...

    基于Netflow的网络安全大数据可视化浅析.pdf

    1. 数据采集与预处理:通过Netflow采集工具从网络设备上收集流量数据,并进行必要的预处理,如数据清洗、格式化等,以确保数据质量。 2. 3D平行坐标系:3D平行坐标系是一种用于展示高维数据的可视化技术,它可以...

    NetFLOW网络流量分析手册

    不同型号的Cisco设备开启NetFlow的方法可能有所不同,以Cisco4507R交换机为例,配置过程需要确保NetFlow分析端和网络设备之间能够相互ping通,以便NetFlow数据能够顺利送达。 对于网络设备不支持NetFlow的情况,...

    Netflow介绍和v9版本报文格式.docx

    Netflow技术首先被用于网络设备对数据交换进行加速,并可同步实现对高速转发的IP数据流(Flow)进行测量和统计。 Netflow技术的主要功能是对IP/MPLS网络的通信流量进行详细的行为模式分析和计量,并提供网络运行的...

    Cisco Netflow Collection Engine产品手册

    Cisco NetFlow Collection Engine(NFC)用于收集和监控支持NetFlow设备(如路由器和交换机)的NetFlow计费数据。NFC在安装时会创建默认的用户帐号并设置相应的口令,远程攻击者可能利用此默认帐号获取对系统的非...

    NetFlow Analyzer.7z

    在使用NetFlow Analyzer时,首先需要配置网络设备开启NetFlow输出,然后在Analyzer上导入设备的IP地址和端口信息,开始接收流量数据。导入的2077License.xml文件很可能是许可证文件,用于激活这个长期试用版。 在...

    goNfCollector:一套收集和分析Netflow并将其导出到许多数据库和应用程序的工具,例如InfluxDB时间序列数据

    Netflow是一种网络流量监控协议,由Cisco系统开发,用于记录网络设备(如路由器和交换机)上的通信流信息。通过Netflow,管理员可以深入了解网络活动,包括流量来源、目的地、协议类型、带宽使用等,从而进行性能...

    netflow协议详解

    NetFlow是一种由思科发明的网络流量监控技术,已经成为获取IP网络操作数据的标准。NetFlow的核心价值在于对网络流量的可见性,它能够帮助网络运营商理解网络行为、追踪流量来源、目的地、时间、应用信息等,对于保证...

    C#netflow模拟器源码

    NetFlow是一种由Cisco系统开发的网络流量监测技术,用于收集、分析网络设备上的通信流量数据。这个模拟器允许开发者或者网络管理员在无需实际硬件设备的情况下,测试和理解NetFlow的工作原理。 NetFlow工作原理主要...

    cisco netflow v9格式

    Cisco NetFlow 是一项由 Cisco 系统开发的网络技术,旨在为网络管理员提供有关其数据网络中的 IP 流量的信息。通过导出的 NetFlow 数据,网络管理员可以实现网络管理、规划、企业计费、部门费用分摊、ISP 计费、数据...

    netflow网络流量分析手册

    NetFlow是由Cisco公司开发的一种网络数据收集和分析工具,用于跟踪通过网络设备的数据流,提供深入的流量洞察,以便优化网络性能、识别异常行为和进行故障排除。 NetFlow的基本概念: NetFlow是一种协议,它记录...

Global site tag (gtag.js) - Google Analytics