2.6.2 相关知识:捕获工具Sniffer

2.6.2 相关知识:捕获工具Sniffer

1.Sniffer软件简介

(1)概述:Sniffer可以翻译为嗅探器,是一种基于被动侦听原理的网络分析方式。使用这种技术方式,可以监视网络的状态、数据流动情况以及网络上传输的信息。当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来进行攻击。将网络接口设置在监听模式,便可以将网上传输的源源不断的信息截获。Sniffer技术常常被黑客们用来截获用户的密码,据说某个骨干网络的路由器网段曾经被黑客攻入,并嗅探到大量的用户密码。但实际上Sniffer技术被广泛地应用于网络故障诊断、协议分析、应用性能分析和网络安全保障等各个领域。

Sniffer被Network General公司注册为商标,这家公司以出品Sniffer Pro系列产品而知名。目前比较新的版本为Sniffer Portable 4.9,这类产品通过网络嗅探这一技术方式,对数据协议进行捕获和解析,能够大大帮助故障诊断和网络应用性能的分析鉴别。

(2)功能简介:

1)基本功能:

•网络安全的保障与维护:对异常的网络攻击的实时发现与报警,对高速网络的捕获与侦听以及全面分析与解码网络传输的内容。

•面向网络链路运行情况的监测:各种网络链路的运行情况,各种网络链路的流量与阻塞情况,网上各种协议的使用情况,网络协议自动发现以及网络故障监测。

•面向网络上应用情况的监测:任意网段、任意服务器、任意工作站的应用流量及流向,典型应用程序响应时间,不同网络协议所占带宽比例,不同应用流量、流向的分布情况及拓扑结构。

•强大的协议解码能力,用于对网络流量的深入解析:对各种现有网络协议进行解码,对各种应用层协议进行解码,Sniffer协议开发包(PDK)可以让用户简单方便地增加用户自定义的协议。

•网络管理、故障报警及恢复:运用强大的专家分析系统帮助维护人员在最短时间内排除网络故障。

2)实时监控统计和报警功能:根据用户习惯,Sniffer可提供实时数据或图表以显示统计结果,统计内容包括以下几方面。

•网络统计:如当前和平均网络利用率、总的和当前的帧数及字节数、总站数和激活的站数、协议类型、当前和总的平均帧长等。

•协议统计:如协议的网络利用率、协议数、协议的字节数以及每种协议中各种不同类型的帧的统计等。

•差错统计:如错误的CRC校验数、发生的碰撞数、错误帧数等。

•站统计:如接收和发送的帧数、开始时间、停止时间、消耗时间、站状态等。最多可统计1 024个站。

•帧长统计:如某一帧长的帧所占百分比,某一帧长的帧数等。

当某些指标超过规定的阈值时,Sniffer可以自动显示或采用有声形式的报警。

Sniffer可根据网络管理者的要求,自动将统计结果生成多种统计报告格式,并可存盘或打印输出。

3)Sniffer实时专家分析系统:高度复杂的网络协议分析工具能够监视并捕获所有网络上的信息数据包,并同时建立一个特有网络环境下的目标知识库。智能的专家技术扫描这些信息以检测网络异常现象,并自动对每种异常现象进行归类。所有异常现象被归为两类:一类是symptom(故障征兆提示,非关键事件,如单一文件的再传送),另一类是diagnosis(已发现故障的诊断,如重复出现的事件或要求立刻采取行动的致命错误)。经过问题分离、分析且归类后,Sniffer将实时地、自动地发出一份警告,对问题进行解释并提出相应的建议解决方案。

Sniffer与其他网络协议分析仪最大的差别在于它的人工智能专家系统(expert system)。简单地说,Sniffer能自动实时监视网络,捕捉数据,识别网络配置,自动发现网络故障并进行报警,它能指出:

•网络故障发生的位置以及出现在OSI的第几层。

•网络故障的性质、产生故障的可能原因以及为解决故障建议采取的行动。

•Sniffer还提供了专家配制功能,用户可以自己设定专家系统判断故障发生的触发条件。

4)OSI全协议七层解码:Sniffer的软件非常丰富,可以对在各种网络上运行的400多种协议进行解码,如TCP/IP、Novell NetWare、DECnet、SunNFS、X-Windows、HTTP、TNS SLQ*Net v2(Oracle)、Banyan v5.0和v6.0、TDS/SQL(SYBASE)、X.25、Frame Realy、PPP、Rip/Rip v2、EIGRP、APPN、SMTP等。还广泛支持专用的网络互连桥/路由器的帧格式。

Sniffer可以在全部七层OSI协议上进行解码,目前没有任何一个系统可以做到对协议有如此透彻的分析;它采用分层方式,从最低层开始,一直到第七层,甚至对Oracle数据库、SYBASE数据库都可以进行协议分析;每一层用不同的颜色加以区别。

Sniffer对每一层都提供了summary(解码主要规程要素)、detail(解码全部规程要素)、hex(十六进制码)等几种解码窗口。在同一时间,最多可以打开六个观察窗口。

Sniffer还可以进行强制解码(protocl forcing),如果网络上运行的是非标准协议,可以使用一个现有标准协议样板去尝试解释捕获的数据。

Sniffer提供了在线实时解码分析和在线捕捉,将捕捉的数据存盘后进行解码分析两种功能。

若收集网络利用率和错误等,则在进行流量捕获之前需要首先选择网络适配器,方法是执行File菜单中的Select Settings命令,确定从计算机的哪个网络适配器上接收数据,如图2-16所示。

图2-16 选择捕获网络适配器

2.报文捕获解析

(1)捕获界面:报文捕获功能可以在报文捕获界面中实现,图2-17所示的捕获界面显示的是处于开始状态的界面。

图2-17 捕获界面

(2)捕获过程报文统计:在捕获过程中会出现图2-18所示的专家捕获和分析界面,单击工具栏当中的一些工具按钮可以看到更多的捕获图。

图2-18 捕获过程中的专家界面

例如,单击Dashboard按钮,出现图2-19所示的Dashboard对话框。单击Host Table按钮,出现图2-20所示的Host Table对话框,统计各个主机的发包情况。单击Protocol Distribution按钮,出现图2-21所示的Protocol Distribution对话框,统计各种协议包的情况。

图2-19 Dashboard对话框

图2-20 Host Table对话框

图2-21 Protocol Distribution对话框

(3)捕获报文查看:Sniffer软件提供了强大的分析能力和解码功能。如图2-22所示,对于捕获的报文提供了一个Expert专家分析系统进行分析,还有解码选项及图形和表格的统计信息。

1)专家分析:如图2-22所示,专家分析系统提供了一个智能的分析平台,对网络上的流量进行了一些分析,对于分析出的诊断结果可以通过查看在线帮助获得。对于某项统计分析可以通过用鼠标双击此条记录来查看详细统计信息,且对于每一项都可以通过查看帮助来了解产生的原因。

2)解码分析:图2-23是对捕获报文进行解码的显示,通常分为三部分,最上面部分为数据包的简单分析,中间为数据包的详细分析,下面为数据包的二进制代码。目前大部分此类软件结构都采用这种结构显示。对于解码主要要求分析人员对协议比较熟悉,这样才能看懂解析出来的报文。使用该软件是很简单的事情,利用软件解码分析来解决问题的关键是要对各种层次的协议了解得比较透彻。工具软件只是提供一个辅助的手段。因涉及的内容太多,这里不对协议进行过多讲解,请参阅其他相关资料。

图2-22 专家分析系统

图2-23 解码分析系统

3)统计分析:Matrix,Host Table,Protocol Dist.,Statistics等提供了丰富的按照地址、协议等内容进行的组合统计,比较简单,可以通过操作很快掌握,这里就不再详细介绍了。

(4)设置捕获条件:

1)基本捕获条件:基本的捕获条件有两种。

•链路层捕获,按源MAC地址和目的MAC地址进行捕获,输入方式为十六进制连续输入,如00E0FC123456。

•IP层捕获,按源IP地址和目的IP地址进行捕获。输入方式为点间隔方式,如10.10.1.1。如果选择IP层捕获条件,则ARP等报文将被过滤掉。

如图2-24所示,可以设置基本的捕获条件。

图2-24 设置基本捕获条件

2)高级捕获条件:在Advanced选项卡中可以编辑协议捕获条件,如图2-25所示。

图2-25 设置高级捕获条件

在协议选择树中可以选择需要捕获的协议条件,如果什么都不选,则表示忽略该条件,捕获所有协议。在捕获帧长度条件下,可以捕获等于、小于或大于某个值的报文。在错误帧是否捕获栏,可以选择当网络上有错误时是否捕获。单击保存过滤规则条件按钮Profiles,可以将当前设置的过滤规则进行保存。在捕获主界面中,可以选择保存的捕获条件。