您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > NetFlow 的应用例子
NetFlow的应用例子来源:51CTO作者:雨天责编:豆豆技术应用内容摘要:基于SNMP的网络系统只能监测设备端口的流量大小,在端口发生拥塞或出现P2P、病毒等异常流量时,基于SNMP的网管系统是没办法提供端口用户的IP地址和流量协议分布等情况的。这样对于持续拥塞的端口,网络管理人员要带协议分析工具到现场通过端口镜像等模式来读取端口的流量内容来解决问题,而端口间歇流量异常的问题就很难处理。现在很多单位都部署了基于SNMP的网管系统,通过SNMP网管系统实现了对网络设备的端口流量、设备的CPU、内存等指标的管理,但基于SNMP的网络系统只能监测设备端口的流量大小,在端口发生拥塞或出现P2P、病毒等异常流量时,基于SNMP的网管系统是没办法提供端口用户的IP地址和流量协议分布等情况的。这样对于持续拥塞的端口,网络管理人员要带协议分析工具到现场通过端口镜像等模式来读取端口的流量内容来解决问题,而端口间歇流量异常的问题就很难处理。为了解决SNMP网管的管理盲区,我们利用Netflow提供的网络流量的三层、四层信息,完成对网络流量含量的分析,与SNMP网管配合对网络流量实现全面监测。NetFlow的监测应用例子1:分支的路由资源利用状态这篇文章是基于利用福禄克网络的NFT(NetFlowTracker)的功能和界面来实现的。您可以下载试用版,有效期到2009年6月。首先假设我们在这个简单的网络上,把分支的路由器启动了NetFlow,可以对互联网端口(红色)的流量进行长期的监测。NetFlow数据通过网络送到信息中心的NetFlow采集器上。长期监测的好处是可以提供正常时的状态,我们一般称为基线。我们可以看看在一周内,从分支发送到互联网的流量中,有多少是连接到信息中心的。通过一些NetFlow分析软件,可以提供NetFlow的统计报表:饼图、柱状图、图表等。我们关心的数据包括:带宽利用率?正常的最大、平均,出现异常时可以有基准依据分辨异常的类型。平常的应用分布,发报源列表,对话列表?这些都是越细越长越好。有多少分支的流量是与信息中心进行的?业务与可能非业务的资源占用比较信息中心的那些服务器利用率最多?对于规划资源和优化提供帮助非信息中心的应用为何?对于非业务流量进一步了解/控制如果出现大流量时,分辨出差异,找出流量由谁发出,到哪里?带宽利用率:有一点要留意,如果只依靠NetFlow来监测端口的利用率,是不准确的,因为NetFlow只能对IP流进行统计。所以最好以SNMP的数据为基础。但由于现今的流大部分为IP流,在广域网上便更少非IP流,在大部分情况下可以从NetFlow得到很好的数据。基于统计,可以生成基线,作为告警的依据。平常的应用分布,发报源列表,对话列表?这些都是越细越长越好。一般的NetFlow流数据都以1分钟为输出单位,所以NetFlow的统计粒度一般最少可以到1分钟。每个分析最好可以如下的应用报告:可以按端口利用率、字节率或包数量列出。有多少分支的流量是与信息中心(业务)进行的:在NetFlow数据中,所有的IP源和目标地址都会被记录。我们可把分支流量分成以数据中心IP地址为源或目标的流量和其他,分别列出便可。在一些NetFlow分析软件,可以加入过滤条件实现这分析(在报告中,DataCenter代表以下子网范围)。非信息中心的应用、用户为何?与找出导向信息中心的流量多少相反,可以先用非信息中心的方法找出流量多少。对于比较高级的NetFlow分析软件,还可以进一步对这流量的内容分析然后对这些流量列出其应用或其他列表。从NFT,可以用(右鼠标键来选这)生成需要的应用报告信息中心的那些服务器利用度最多(用户/连接/字节)在某时段,按服务器照顾的对话数量排序,方便发现是否有对服务器进行端口扫描的情况。在NFT(NetFlowTracker)有一报告(DestinationAddressPopularity)可以同时列出流量中各个目标地址的用户和连接数量。在这个例子,85.17.215.10这个站点对服务器进行多个对话,从NetFlow数据再深入分析,找到对话的协议端口,看得出是在做端口扫描:报告和告警:在大多数情况下,网管员都不希望盯着以上的报告,所以定期生成报告的能力和当异常状态出现时,最好能提供告警(通过SNMPTrap或EMAIL等方式)。告警的考虑主要是:需要基线和不要太敏感。除了手动输入基线外,可以利用学习的平均值加上偏离标准差来定义敏感度,然后定义偏离时间的长短,来决定告警。概念是如果偏离的时间持续比较长(15分钟)一般误判的机会比较低!NetFlow的应用例子2:数据中心的路由资源利用状态对于分析一个信息中心需要支持多个分支时,管理员比较关心流量由何而来,是什么,利用了数据中心什么资源。这与分析一个分支与信息中心的报告相似(请参考NetFlow应用例子1),分别是:1.需要同时对多路流量进行汇总分析。由于现今信息中心多有备份线路或负载均衡线路,监测流量时必须可以把多个线路的流量进行汇总分析。2.如果配置了流量优先级别,各级别占用的带宽?优化优先级流量带宽分配3.需要了解各个分支发送到总部的流量占的比例。利用NetFlow了解流量来源出现的变化,首先对进口各个端口进行汇聚式利用率监测。如下图把进口的两个路由器的两个进口的流量汇聚。个优先级别占用的带宽各个分支发送到总部的流量占的比例当需要了解各分支的流量时,可以把分支按其子网进行定义,然后分支来列出流量分布。NetFlow的应用例子3:发现异常流量当出现异常时,需要有好的手段发现异常流量的出现和发生的端口和原因。一般NetFlow的分析,都以量的分析和告警为主导、例如对每个分支的流量监测,各应用的流量,高级的可以对非正常业务量监测(例如分支与分支间的流量)。有一种新的分析方法叫内容报警。原理是对NetFlow的应用列表、对话列表、源和目标地址列表的头100名次进行监测,当头20出现新的的项目而不是从列表中的头100名中升级的,便会发出告警。这样可以发现应用(异常的)、数据源占用大量带宽时(发出DDOS,WORM等攻击)。在配置告警时,可以增加过滤参数:如所属的分支流量,分支对分支的流量,服务器处理的流量等。现在这种报警方式,在福禄克网络的NFT上已提供。例如对分支与分支间的流量分析:对于集中式网络结构,一般都不希望出现分支经过信息中心让后访问其他分支的流量。如果有,需要了解是什么,而且评估是否需要启用MPLS等技术来优化带宽资源的利用。通过过滤非以信息中心作为起点或终点的NetFlow流量,便可对这些流的量和应用的组成生成告警。NetFlow的应用例子4:找出路经改变在现今的网络中,特别是基于MPLS网络,都可以支持点对点的备份路经,以达到灾备和自动修复的功能。为了充分利用资源,高级路由技术如Cisco的PfR可以按性能选择路径。换句话说,路经可以充分利用(不会只作为灾备)。但这对网管员在诊断应用性能出现改变时,对网络路经的理解增加了不少困难。NetFlow可以用以跟踪每一个流的路径状态。要求:要做到这点,需要选用的NetFlow采集结构,可以对每一个流进行记录和保存,而且需要对所有路径上的端口都已启动了NetFlow。在NetFlow数据中`,所记载有流的输出路由端口。方法:把网络所有路由器路径上的数据都汇总分析。然后选择所关心的对话,列出其经过的路由器进和出端口。下图展示两个子网通信时,经过的路由设备,还有其端口。在这里,看到HQ_ROUTER_1和BRANCH_1_ROUTER_1路由器,承载192.168.51.0和192.168.53.0之间的流量,在4:23AM-6:23AM的两小时间,各路由器只有1对端口组合用以支持这两个分支的通信。如果在正常时,HQ_Router_1用的端口不是这个的话,应该可以进一步分析。例如是什么对话利用了这端口呢?应该可以轻易抽取出这样的报告。NetFlow的应用例子5:监测异常流量源的特性NetFlow数据是通过从三层设备所搜集到的。通过适当地分析NetFlow信息,可以协助管理者在蠕虫爆发或不正常网络行为的初期快速分析出网络中存在的问题。可能的异常流量1.互联网地址指派机构(InternetAssignedNumbersAuthority,IANA)将下列三段IP地址保留给私有网络使用10.0.0.0~10.255.255.255、172.16.0.0~172.31.255.255及192.168.0.0~192.168.255.255。攻击者可利用这个缺陷伪造来源IP地址(IPSpoofing)来发动攻击,避免被追踪到攻击来源,所以我们可以从我们所接受到NetFlow数据中来源主机所使用的IP地址(SourceIPAddress)字段,找出伪造来源地址的流量,再利用NetFlow数据中信息流流入接口编号(InputIFindex)字段的信息,找出连接这个接口的上游路由器,请他们协助调查或处理。2.我们可以通过NetFlow数据找出网络中建立session数目最多的主机,因为如果一台主机对特定主机产生不正常的大量连接,这可能代表着新的蠕虫、阻断服务攻击、网络扫描等的可能性,因为一个正常的主机对外连接会有一定正常的频率,如果正常的主机感染了蠕虫,就可能会开始产生异常的网络行为,开始产生对外大量的连接需求来找寻下一个感染的对象,因此我们可以从感染蠕虫的主机的NetFlow信息中发现到大量的对外连接需求,同样的原理,如果所管辖网络中的使用者从网络上下载阻断服务攻击之工具程序企图对外发动攻击时,或是使用者利用Nmap之类的扫瞄工具扫瞄特定网址,以找出目标主机所可能存在弱点或是漏洞时,我们都可以从NetFlow数据中发现从网域中某个特定地址送出的大量session。3.若某个Flow正常地建立TCP连接后,其数据包控制(TCPFlag)字段会记录的包含ACK、SYN、FIN等控制标志,但是如果蠕虫进行感染的动作时,由于随机选取的主机并不一定存在,或是即使存在但目标主机没有开放蠕虫所要感染的TCPport,在这种情况下,NetFlow信息中由受感染主机对外联机所产生的Flow数据包控制标志(TCPFlag)字段会只存在SYN这个TCP控制标志,根据这种特性网络管理者可以先将其NetFlow数据中数据包控制标志(TCPFlag)字段只有存在SYN控制标志的Flow数据过滤出来,通过这种方式我们可以把大部分正常的流量排除,这时候我们要从可疑的数据中找出真正异常流量的难度就会降低许多,能快速找出问题,也可以避免运算资源无谓的浪费。NetFlow的应用例子6:找出丢包的位置背景:在一个关键的应用中,需要能保证UDP的数据传递。其中在两端的路由器相隔5-6公里,每端有20-30台工作站进行通信。在每次通信的1、2分钟的过程中,需要保证不出现丢包。在调试时,如果出现丢包,需要知道丢包出处,加以修正。方法:1.打开两端的路由交换机个端口的NetFlow功能,向NetFlow采集器发送数据。2.NetFlow采集器需要对所有的NetFlow数据保存。3.对于途中每一层(1-4)的端口的进、出流量汇聚在一起。4.把在每一次调试时的整个过程,在各层的流量记录起来。5.通过对话列表,把两端站点的所有对话列出(如下图)6.利用CSV格式输出数据,按源和目标地址来排序7.把四层的数据(包和字节数)按行来对比(通过对减,发现不是0的行)。至此,便可知道问题出于那层。8.把出现问题的对话记录,当发现出问题的对话后,可以查出经过的端口9.如果用NFT(NetFlowTracker),更可以对每层就这对话列出作进行过的交易,对每层进行比较,找出出问题交易的时间(利用查出对话的方式来查找)。这样,按照对话的顺序,应用部门甚至知道是在哪个环节出现问题。NetFlow的应用例子7:分析ICMP数据某些蠕虫或网络攻击也会利用ICMP来进行,我们可以从NetFlow数据中过滤出有异常行为的主机。概念:首先找出通讯协议(protocol)字段值为1的Flow,代表
本文标题:NetFlow 的应用例子
链接地址:https://www.777doc.com/doc-4519433 .html