实用网络流量分析技术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 网络流量分析工具

本章主要说明网络流量分析工具的历史、工作原理,以及网络流量未来的发展方向。本文中的网络流量分析工具主要指针对网络流量进行直接分析的分析工具,不包括通过RMON以及FLOW取得流量分析结果并进行统计分析展示的软件。

2.1 网络流量分析工具的工作原理

一个网络流量分析工具的完整功能由软件和硬件共同完成。硬件的主要功能是流量的取得,而软件的主要功能则是流量的分析和数据展示。

2.1.1 网络流量的取得

网络流量分析的对象是网络流量,而网络流量的获取是分析的基础和前提。

网络流量分析工具用于获取网络流量的硬件是网络接口卡,不同类型的网卡用来分析不同类型的网络,最早用来做流量分析的网卡是以太网卡和Token Ring Romom网卡,而随着网络技术的发展很多厂商开始生产专门用于做流量分析目的的网络接口卡,这些接口卡在流量的处理性能上比普通的网卡有很大的提高。

在获取网络流量时,网络接口卡必须工作在一种称为“混杂模式”(Promiscuous)的状态下。在正常状态下,网络接口卡只将收到流量中的广播包以及发送给本网卡物理地址的流量传送给上层程序进行处理,而在“混杂模式”下工作的网卡会将所有接收到的流量传送给上层程序进行处理。

在最早的共享式以太网网络环境中,每个网卡都能接收到本网络域中所有的流量,因此只需将网络流量分析设备接入到网络中就能分析到该网络中的所有流量。随着交换技术的普及,接入到交换机其中一个端口的流量分析设备无法接收到其他端口的流量,网络流量工具在获取网络流量主要通过以下两种方式。

1.流量镜像方式

流量镜像(SPAN)是交换机具备的专门为流量分析设计的一种功能,通过镜像,交换机能够将选定端口或VLAN中传输的流量复制发送到指定的交换机端口,该端口一般称为流量监控端口,流量分析设备只需接入到该端口就可以分析到其他端口的网络流量。

2.TAP设备

TAP设备是一种用于直接复制网络链路上的物理信号设备,包括电信号和光信号两种类型,电信号TAP类似于三通,跟在电话线上搭接电话线工作原理类似,有无源和有源之分。光信号TAP主要是各种分光器,作用是将光信号通过物理手段分成两路,一路用于网络正常通信,一路用于对链路流量进行分析,在不影响传输的情况下实现监控分析。光TAP在网络链路上的部署如图2-1所示。

图2-1 光TAP在网络链路上的部署

2.1.2 流量的分析

流量的分析主要靠分析软件实现,一个通用的流量分析工具对流量的主要分析功能包括统计分析、智能分析、捕获和解码分析三类。其分析系统功能意如图2-2所示。

图2-2 网络流量分析系统功能

如图2-2 所示,网络流量分析工具通过网络接口卡获取网络中的实际数据包,首先按收到数据包的时间对数据包进行时间标记(有些分析专用的网络接口卡本身具有硬件时间标记功能),然后由软件分析模块进行分析并展现监控、报表、解码等数据分析视图,按分析方法的不同可分为统计分析、智能分析、捕获解码分析三类。

1.统计分析

统计分析通过统计方法提供流量的统计数据,针对一段时间内(一般最小时间间隔为秒)数据包的统计,包括数据包数、字节数、不同包长包数等链路流量统计,每个MAC地址的流量及MAC地之间流量信息,IP层数据包统计,TCP层数据统计等。

统计的结果以监控视图及报表的形式展现。

2.智能分析

智能分析指对网络中的数据流特征进行分析,通过一定的方式匹配和比对,提供针对性的分析结果,如对网络某种问题的流量特征进行匹配,从而在问题出现时自动发现及告警。

3.捕获和解码分析

捕获和解码分析是最原始的网络流量分析功能,通过将流量捕获,对每一个数据报文分层进行协议解析并展现。

2.2 网络流量分析工具的历史

提起网络流量分析工具的历史,不得不提的是Sniffer的历史,Sniffer产品作为最早的流量分析工具之一,它的发展史是整个网络流量分析工具发展史的一个缩影。

Network General公司在1986年推出了第一款Sniffer Portable(便携式Sniffer),拉开了流量分析工具发展的序幕。该产品的发展如下:

☆ 2007年

Network General被NetScout收购

☆ 2004年

发布Sniffer Application Intelligence(应用智能管理)解决方案

☆ 2003年

发布业界第一款10-Gigabit probe

发布multi-Gigabit core platform(s6000)

发布Gigabit capture/storage product(Infinistream)

☆ 2002年

发布enterprise management & reporting solution(nPO)

发布2G/3G mobile product(Sniffer Mobile)

☆ 2001年

发布VoIP probe(Sniffer Voice)

☆ 2000年

发布业界第一款Wireless LAN probe

☆ 1999年

发布Windows version of Sniffer

☆ 1998年

发布业界第一款Gig probe

☆ 1997年

Network General与McAfee Associates合并成立Network Associates,Inc.

☆ 1991年

Network General发布业界第一款distributed Sniffer

☆ 1986年

Network General发布业界第一款Sniffer Portable

从Sniffer的历史我们可以看到,流量分析工具是一直跟随网络技术向前发展的,第一代流量分析工具是伴随第一代局域网技术产生的(以太网技术、令牌环技术),随着网络技术的发展,流量分析工具的性能和功能也有相应的加强,流量分析技术应用到各种高性能网络环境中。

而从流量分析本身的技术来看,并没有太大的发展,只是根据不同的需要和不同的网络技术在不断地扩展和完善,但在展现形式上有很大的提高,从最初的简单流量捕获的解码分析,到适用于不同用户不同需求的监控和报表展现,以及企业级分布式部署方式等有了很大不同,同时在流量分析数据的进一步处理上有了很大 提高。

流量分析技术也广泛应用于很多不同功能的产品技术中,像IDS(入侵检测系统)、防火墙、流量控制设备、负载均衡设备等,都和流量分析技术直接相关,采用流量分析技术设计的专用分析系统也越来越多,也是流量分析工具的一个发展方向。

2.3 网络流量分析工具的产品功能

本书中的流量分析案例主要采用Sniffer Pro和Sniffer Infinistream两个产品,下面对它们的主要功能进行介绍。

2.3.1 Sniffer Pro

Sniffer Pro是最著名的网络流量分析工具,可为网络工程人员提供便携式的网络分析解决方案,便于网络性能问题的快速诊断和解决,帮助IT专业人员解决网络和应用的各种问题。

Sniffer Pro是一个具备完整传统功能的网络流量分析工具,提供的功能包括监控、报表、捕获、解码、专家系统智能分析、应用智能分析等。

实时网络分析可帮助我们快速地查找和解决网络故障和性能问题。Sniffer Portable采用了专家(Expert)分析功能,可有效地查找网络、数据库和应用故障发生的根本原因,因此,它是全球网络工程师的第一选择。Sniffer Portable可运行在台式机、便携PC或笔记本电脑中。它采用了超过580种的协议解码和强大的专家(Expert)分析功能,可分析网络业务流量,查找网络中断或反应减慢的原因。

便携式Sniffer主要功能如下:

1.实时网络流量监控分析

Sniffer Pro能够对局域网网络流量进行实时监控和统计分析,对每个链路上的网络流量,根据用户习惯可提供表格或图形(条形图、饼状图和矩阵图等)方式显示的统计分析结果。

■ 网络总体流量实时监控统计:如当前和平均网络利用率、总的和当前的帧数、字节数、总网络结点数和激活的网络结点数、当前和总的平均帧长等,如图2-3所示。

图2-3 Sniffer Pro流量监控界面

提供重要的网络流量参数对监控网络的运行状态,及时发现网络流量的异常具有重要的意义。

■ 协议使用和分布统计:如协议类型、协议数量、协议的网络利用率、协议的字节数以及每种协议中各种不同类型的帧的数量等。Sniffer包含通用的TCP和UDP网络应用协议,如HTTP,Telnet,SNMP和FTP等。同时,Sniffer也具有特有的灵活性,允许增加自定义的应用,如图2-4所示。

图2-4 Sniffer Pro应用协议监控界面

了解网络流量中的应用流量构成对日常的网络管理、网络容量规划,特别是广域网容量规划非常有用。

■ 包尺寸分布统计:如某一帧长的帧所占百分比,某一帧长的帧数等。包尺寸分布统计对发现网络异常也非常有用。

■ 错误信息统计:如错误的CRC校验数、发生的碰撞数、错误帧数等。

■ 主机流量实时监控统计:如进出每个网络结点的总字节数和数据包数、前x个最忙的网络结点等,如图2-5所示。

图2-5 Sniffer Pro IP主机流量监控

通过了解网络中每台主机的流量信息,包括字节数、包数(接收和发送)、b/s等重要参数并快速排序能够帮助技术人员迅速找出影响网络运行的主机,并进行进一步分析。

■ 会话对流量实时监控统计:每对网络结点间传送的总字节数和数据包数、前x个最忙的会话结点对等,如图2-6所示。

图2-6 Sniffer Pro IP主机会话流量监控

主机会话对流量统计监控能够提供对主机网络行为特点的进一步分析,通过这个功能,技术人员能迅速发现一些具有异常网络行为特征的主机。

■ Sniffer还提供历史统计分析功能,可以使用户看到网络中一段时间内的流量运行状况,帮助用户更好地进行流量分析和监控。

2.强大的流量捕捉和实时协议解码能力

Sniffer具备强大的网络流量捕捉能力,可以将网络流量捕捉至计算机内存或直接存储到硬盘上,从而进行解码分析。

Sniffer可以对580多种协议进行解码,同时不断增加协议解码支持,Sniffer的解码界面也是解码的一个标准界面。解码界面分为Summary(概要解码)、Detail(详细解码)、Hex(十六进制码)解码窗口。Sniffer Pro协议解码界面如图2-7所示。

图2-7 Sniffer Pro协议解码界面

数据包的解码分析能力代表网络流量分析工具能力的一个重要方面,强大的协议解码能力对网络行为分析、应用层分析、连接分析等都具有决定性作用,对数据包的解码是网络和应用问题原因分析的关键依据。

3.过滤器设置

Sniffer可以设置监视(Monitor)、捕获(Capture)和显示(Display)三种类型的过滤器,每类过滤器可以根据不同的条件,如网段、IP地址、MAC地址、协议类型、数据包大小、数据包内容等,并可根据上述不同条件的与或非进行组合。定义过滤器时可以从一个样本文件(Profile)中导入,可以通过将捕获的数据包解码后设置,也可以手工编写。过滤器可以根据地址、通信内容、大小、协议种类进行多种条件的叠加过滤,集中针对相应主机、网段、应用、协议进行深入的故障管理。通过定义过滤器,网络管理员可以快速缩减特定问题的监视范围,确保相应网络中的问题能够被及时追踪和排除。

Sniffer支持的过滤方式有:

■ 地址过滤,包括网段地址过滤和网络地址过滤。

■ 协议过滤,TCP端口过滤或特定协议过滤。

■ 特征包过滤,根据包特征进行过滤。

同时Sniffer设置过滤器的方式非常灵活,可以通过监控界面直接单击相应的主机或主机会话对即可设定相应的过滤器并对特定的主机或主机对进行流量捕获。在对捕获的流量进行分析时,可以方便地通过单击主机、主机对、协议等自动过滤所需数据包,迅速分析特定的网络数据包,提高分析效率。

4.实时告警功能

Sniffer在网络流量实时监控的基础上,自动发现网络异常,并产生告警。Sniffer系统产生的告警有:

■ 流量异常告警,包括利用率、每秒字节数、每秒数据包数、每秒钟各种大小的数据包数、错误包数等。

■ 应用响应超时告警,对应用的响应时间进行监控,进行应用响应时间异常告警。

■ 专家系统告警,自动发现网络和应用中的问题特征,并产生告警。

5.专家系统智能分析

Sniffer的专家系统是非常强大的智能分析系统,能够主动对网络各层的对象模型进行分析,提供的分析数据帮助我们快速认知网络各层的对象流量及网络行为特征,专家系统网络层分析如图2-8所示。

图2-8 Sniffer Pro专家系统网络层分析

专家系统网络层分析能确定网络中每台主机流量状况、连接数量等信息。

如图2-9所示,专家系统连接层分析能通过网络流量数据分析提供每个TCP/UDP连接的详细信息,根据流量、端口、连接参数响应时间等,确认定位连接层问题。

图2-9 Sniffer Pro专家系统连接层分析

如图2-10 所示,专家系统能对多种常见应用进行深入分析,包括应用层请求、响应情况分析,为应用性能分析提供有效数据。

图2-10 Sniffer Pro专家系统应用层分析

如图2-11 所示,专家系统能对特定应用服务的性能进行深入分析,包括传输数据流量情况,以及服务的交易处理响应时间分析,对确定网络应用服务的性能有很大帮助。

图2-11 Sniffer Pro专家系统应用服务分析

6.实时网络专家分析系统告警

Sniffer的实时专家系统可以在监视网络、捕捉数据的同时,实时分析网络上传输的数据包,自动发现网络和应用异常并进行告警。所有异常现象被归为两类:一类是symptoms(故障征兆);另一类是diagnoses(故障诊断)。

☆ 网络故障出现在OSI第几层,以及发生的位置(IP地址,MAC地址);

☆ 网络故障的性质,产生故障的可能原因以及为解决故障建议采取的方案。

Sniffer的专家系统实现了从物理层、数据链路层、网络层、传输层、会话层、表示层到应用层的OSI参照模型所有七层的协议分析,包括对ORACAL数据库、SYBASE数据库、MS SQL SERVER数据库和MS EXCHANGE应用都可以进行协议分析,能辅助网络人员有效地查找故障的深层次原因(网络、主机、数据库还是应用系统),界定影响应用服务质量的因素,便于网络和应用性能问题的快速诊断和解决。

7.方便的数据包挖掘——Visual Filter(可视化过滤)

Sniffer提供的Visual Filter功能,能够通过在专家系统中、Matrix界面中选定特定对象,直接单击Visual Filter按钮,快速过滤特定对象的网络数据包在新的解码窗口展现,大大提高了数据包挖掘的速度,对提高分析效率非常有效,如图2-12和图2-13所示。

图2-12 Sniffer Pro快速过滤

图2-13 Sniffer Pro对特定对象数据包的过滤解码

8.报表

Sniffer Pro提供Sniffer Reporter报表软件,能对日常流量进行统计报表分析,如图2-14所示。

图2-14 Sniffer Reporter流量分析报告

9.应用智能分析

应用智能分析是一种对应用运行质量进行智能分析的模块,能够智能识别各种网络应用,提供对应用交易处理时间、网络传输延迟、TCP层数据包重传等分析数据。Sniffer Pro应用智能分析界面如图2-15所示。

图2-15 Sniffer Pro应用智能分析界面

2.3.2 Infinistream功能介绍

Infinistream是新一代的流量分析产品,该产品将流量分析技术同大容量存储技术相结合,为网络流量分析提供更高级的平台。

Infinistream能够长期捕获网络流量并将流量长期保存,提供回溯性网络流量分析,能够分析任何时间点的网络流量,对间歇性问题分析和异常流量分析提供强大的分析能力,在流量分析中充分突出流量同时间的联系,对原有的分析技术有一定补充。

Infinistream的主要功能如下。

1.强大的流量捕获和存储能力

Infinistream是一款结合大容量存储能力的网络流量分析系统,Infinistream产品具备强大的网络流量捕捉并长期保存能力,可以将网络流量捕获并直接存储到硬盘上,能够高性能长时间捕获保存网络数据,能够有效地捕获、检索和存储网络中的所有数据包,并提供全面、明确的分析数据。

2.和时间相关性的网络流量监控分析

Infinistream在对网络流量进行分析时提供了流量随时间变化的分析,能够在对流量分析时准确发现异常流量的时间点以及某时刻的网络流量,这种分析对发现网络流量异常、分析网络异常流量非常有效。Infinistream控制台界面如图2-16所示。

图2-16 Infinistream控制台界面

如图2-16 所示,Infinistream能按时间检索网络流量分布情况,对流量突发进行针对性分析。

3.快速的流量数据挖掘分析

Infinistream提供对网络流量的数据挖掘分析,通过选定特定时间的网络流量,针对性地对该段时间内的IP主机、端口、网段、MAC主机、主机会话、VLAN甚至TCP/UDP连接等多种流量数据进行数据挖掘分析,对判定异常流量的产生、发现行为异常主机,以及快速分析TCP连接异常都提供有效的分析手段,如图2-17所示。

图2-17 Infinistream对网络流量的数据挖掘分析

4.方便快速的数据检索

Infinistream采用特殊设计的文件和索引系统,减少了需要检索和分析的数据总量,这个智能化的数据采集过程可快速创建一个含有数据流图示的Windows界面,用户可以通过该界面迅速检索到所需的数据,从而节省大量的时间。

该数据的检索能通过选定时间段快速检索特定时间段内的所有流量信息,包括主机、端口、主机会话甚至TCP连接等详细的流量信息,通过这种检索,快速分析流量的构成,并且能够快速找到所需要分析的网络流量并快速将选定的网络流量从存储的硬盘中抽取进行进一步的数据包解码和专家智能分析。

5.OSI全七层协议解码

Infinistream产品具备Sniffer无以伦比的强大解码能力,可以对网络上运行的580多种协议进行解码。

在发生故障时,可以采取最深入、直接的分析手段,获取最确切的判断依据。

6.流量异常的告警能力

Infinistream产品具备流量异常的发现并告警能力,能在网络流量异常时通过SNMP方式发送告警信息,使网络人员及时发现网络异常并进行响应。

7.Sniffer专家分析系统

Infinistream产品集成业界领先的Sniffer专家系统,在监视网络、捕捉数据的同时,分析网络上传输的数据包,识别网络配置,自动发现网络故障并进行告警。所有异常现象被归为两类:一类是symptoms(故障征兆),另一类是diagnoses(故障诊断)。它能指出:

☆ 网络故障出现在OSI第几层,以及发生的位置(IP地址,MAC地址);

☆ 网络故障的性质,产生故障的可能原因以及为解决故障建议采取的方案。

借助Sniffer专家系统,网络管理人员即便不熟悉网络协议,不了解数据包的具体内容,也能轻松解决问题。