一、网络分析软件概述
自从网络出现以来,网络故障就没有停止过。如何快速、准确地定位故障和保持网络的稳定运行一直是人们追求的目标。为了分析网络故障的原因,一类专业的网络分析软件便产生了。网络分析软件充当了网络程序错误的检修工具,开发人员使用它发现协议开发中的BUG,很多人使用它监听网络数据,同时也是检查安全类软件的辅助工具。
网络分析软件从产生到现在已经经历了三个阶段:
第一阶段是抓包和解码阶段。早期的网络规模比较小、结构比较简单,因此网络分析软件主要是把网络上的数据包抓下来,然后进行解码,以此来帮助协议设计人员分析软件通信的故障。
第二阶段是专家系统阶段。网络分析软件通过抓下来的数据包,根据其特征和前后时间戳的关系,判断网络的数据流有没有问题,是哪一层的问题,有多严重。专家系统不仅仅局限于解码,更重要的是帮助维护人员分析网络故障,专家系统会给出建议和解决方案。
第三阶段是把网络分析工具发展成网络管理工具。网络分析软件作为网络管理工具,部署在网络中心,能长期监控,能主动管理网络,能排除潜在问题。
二、三款软件的特点
1. Wireshark 0.99.4
Wireshark是一款高效免费的网络抓包分析工具。它可以捕获并描述网线当中的数据,如同使用万用表测量电压一样直观地显示出来。在网络分析软件领域,大多数软件要么晦涩难懂要么价格昂贵,Wireshark改变了这样的局面,它的最大特点就是免费、开源和多平台支持。
Wireshark几乎可以运行于所有流行的操作平台,如MS Windows、Mac OS、Linux、FreeBSD、HP-UX、NetBSD、Solaris/i386、Solaris/sparc等等。尽管Wireshark可以在很多操作平台使用,但它支持的传输媒介主要是Ethernet。只有Linux平台下Wireshark支持802.11及Token Ring、FDDI和ATM。
Wireshark能够对大部分局域网协议进行解析,具有界面简单、操作方便、实时显示捕获数据的优点。但Wireshark并不具有分析功能,当一个网络发生异常的时候,Wireshark只会记录数据,它仅仅是一个测量工具,并不能操作网络,不发送数据包或者做其它的主动动作。
Wireshark目前还存在着一个已知的严重BUG,当Wireshark运行时缓冲区出现内存溢出将会终止。此BUG是由最初设计的界面和平台所决定,短期内无法解决。
2. NAI Sniffer Portable 4.7.5
NAI的网络分析工具Sniffer长期以来是网络分析类软件的王牌。Sniffer既有长期积累的经验又存在长期延续旧体系导致的问题。长期的发展使得Sniffer具有很强的专业分析能力,但是它一直延续DOS、WIN95时期的元素和较早期的技术,使得它只能在Windows平台下使用。Sniffer具有简单的往外发包的功能,同时有几个辅助测试小工具如:ping、finger、trace、dns lookup等。
Sniffer具有三大主要功能:1.协议解析(Decode)2.网络活动监视(Monitor)3.专家分析系统(Expert)
Sniffer和Wireshark一样可以用来解析网络协议,而且支持的协议从局域网扩展到了广域网,对无线网络也有了一定的支持。Sniffer的协议解析非常详尽,对协议的描述很有层次感。尽管Sniffer的协议解析能力很强,但是它不能实时显示捕获的数据包,这一点在协议开发人员用来查找问题时可能带来不便。
Sniffer的协议解析功能可以用来学习各种协议,查找网络故障。但实际上很多问题并不象故障那么明显,比如网络慢或者丢包,单靠协议解析是很难发现的。这时候Sniffer的网络活动监视功能可以直接看到网络的当前运行状况,一旦网络出现问题就可以很快被发现。Sniffer用直观的图形实时显示网络的流量、会话、协议、包的大小、错误等信息。
Sniffer的专家功能是它最看重的功能,也是它最为出色功能。Sniffer的专家系统在后台为我们工作着,一旦有触发条件产生便产生相应的动作,然后通过视听信号通知我们。
通过专家系统,Sniffer能够帮助我们评估网络的性能,比如,网络的使用率,网络性能的趋势,网络中哪一些应用消耗最多带宽,网络上哪一些用户消耗最多带宽,不同协议的流量状况等等
通过专家系统,Sniffer可以帮助我们评估业务运行状态,比如各个应用的响应时间,一个操作需要的时间,应用带宽的消耗,应用的行为特征,应用性能的瓶颈等等。
通过专家系统,Sniffer可以快速地发现异常流量和网络攻击,这就为我们尽早采取措施提供了帮助。Sniffer能够帮助我们做流量的趋势分析,通过长期监控,可以发现网络流量的发展趋势,为网络何时改造升级提供建议和依据。
3. WildPackets OmniPeek 4.0
OmniPeek是网络分析软件的后起之秀,由于它设计时大量采用了Windows XP及2000下的元素和比较流行的软件设计技术,并且更加注重网络软件的要求,面向国际化,支持多语言,所以OmniPeek在使用上更为简洁方便和人性化,它支持更多新的技术和应用。由于使用了新技术,OmniPeek有了很多的Plugin,能方便地扩展功能。与Sniffer一样,OmniPeek除了能发送一些简单的数据包外,同样具备了三大功能:1.协议解析(Decode)2.网络活动监视(Monitor)3.专家分析系统(Expert)。
OmniPeek能很好地支持无线网络,提供丰富的无线网卡混杂抓包模式的驱动程序,是无线协议分析的利器。OmniPeek对千兆网络也有了很好的支持,无论是协议分析还是网络监视都有很好的表现。
与Sniffer不同的是OmniPeek更重视视觉形象(Visualize),它的很多操作都用图形化方式来完成。OmniPeek侧重于整体现象的分析,以“流(TCP/UDP通信对)”作为对象来研究,使分析结果易于理解,大大提高了效率。OmniPeek的专家系统就是基于“流”来分析的,对会话的整体分析较好,但在具体细节处略有不足。
OmniPeek集成了分布式专家(DNX)系统功能,它提供的Engine可以部署在网络的各个部分。分布式专家系统通过一个控制台来控制多个Engine获取整个网络的状况,控制台操作界面与普通的网络分析界面是一样的。通过OmniPeek的分布式专家系统,我们可以将监控拓展到控制台无法直接到达的地方,可以使我们更全面地了解网络的运行情况。
三、三款软件的比较
1.功能比较
Wireshark是典型的网络抓包工具,主要具备第一代网络分析软件的特点。随着软件地不断更新,Wireshark也具有了一点简单的图形化的监视功能。Wirshark解析的协议主要是局域网协议,它支持的介质也主要是Ethernet,功能比较单一,效率比较高。Wireshark没有网络状态分析功能,对网络问题不能提供参考意见。
NAI的Sniffer功能涵盖了协议解析、网络监视和智能管理几个部分。Sniffer的协议解析很详细,尤其对广域网协议的解析非常全面,但扩展性不是很强,新协议支持更新较慢。Sniffer的网络状态监视功能也很强大,可以监视流量、带宽、协议、应用响应时间、会话主机等信息,并且以图形的形式显示出来。Sniffer的专家功能非常细致,严格按照协议进行分层,每个细节都有考虑。另外它对网络异常状况进行了分级,使我们可以容易找到相应的问题。
OmniPeek的功能和Sniffer大致相同,也涵盖了协议解析、网络监视和智能管理几个部分。OmniPeek在协议解析上没有Sniffer支持的协议多,但对无线和语音的解析功能要比Sniffer强。OmniPeek专家功能没有Sniffer细致,功能没有Sniffer强大。
四、总结
Wireshark是一款小巧、开源且能在几乎所有流行操作系统下使用的抓包工具软件,很适合一般人员学习网络协议使用,也是协议开发人员验证协议的好工具。由于Wireshark存在缓存溢出的BUG,建议不要将它用于分析流量很大的百兆网络,也不要用于千兆网络分析。
Sniffer Portable具有超强的专家分析能力,并且价格昂贵,使用它来抓包分析协议实在是浪费。对于大型的安全性稳定性要求很高的网络,使用Sniffer的专家分析和预告功能是个不错的选择。另外Sniffer还有一些Report选件和分布式硬件可供选择,配合使用可以组成一个完善的安全监视系统,这样的花费还是值得的。
OmniPeek代表一股新生力量,它对无线网络、语音等技术都有很好的支持。OmniPeek可以使用很多的Plugin,使得它能很快适应新出现的业务和应用。所以OmniPeek很适用于网络不是很大,应用经常更新的环境。无线环境和千兆环境也可以选择OmniPeek 。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。