作为全球使用与开发维护人数最多的数据包分析软件,Wireshark深受广大协议分析爱好者、网络运维工程师及科研人员的青睐。从本节开始,将逐步深入介绍Wireshark的相关内容,包括产品安装、配置和使用等信息。

Wireshark简史

Wireshark的作者Gerald Combs,于1998年由于在校项目需求而开发,早期名为EtherealWireshark是世界上最重要和最广泛使用的网络协议分析仪。它可以让您在微观层面上看到网络上发生的事情,并且是许多商业和非营利企业,政府机构和教育机构的事实上(通常是法律上的)标准。由于全球网络专家的志愿者贡献,Wireshark的发展蓬勃发展,并且是Gerald Combs1998年启动的项目的延续。

EtherealWireshark之间有个小插曲。在发布了Ethereal 8年之后, Combs辞职另谋高就,但是在那个时候他的雇主公司掌握着Ethereal的商标权,Combs也没能和其雇主就取得 Ethereal商标达成协议。于是Combs和整个开发团队在2006年中的时候将这个项目重新命名为WiresharkWireshark随后迅速地取得了大众的喜爱,而其合作开发团队人数也达到500人以上,然而之前的Ethereal项目却止步不前。

数据包采集 网络分析

Wireshark优缺点

在很多地方,只看到有人介绍Wireshark的优点。但在现代企业级环境中快速采集和分析数据包,尤其动辄跟业务、应用及用户性能问题的智能告警和关联分析,使用Wireshark通过传统的方式进行分析和故障定位,效率低下不说,有些功能则无法实现。

Wireshark优点

Wireshark在日常应用中具有许多优点,无论你是初学者还是数据包分析专家, Wireshark都能通过丰富的功能来满足你的需要。

支持的协议

Wireshark在支持协议的数量方面是出类拔萃的,目前已提供了超过上千种种协议的支持。这些协议包括从最基础的IP协议和DHCP协议到高级的专用协议比如AppletalkBittorrente等。由于Wireshark在开源模式下进行开发,每次更新都会增加一些对新协议的支持。

当然,在一些特殊情况下,Wireshark可能并不支持你所要的协议,你还可以通过目己编写代码提供相应的支持,并提供给Wireshark的开发者,以便于使之能被包含在之后版本中。

用户友好度

Wireshark的界面是数据包嗅探工具中最容易理解的工具之一。基于GUI,并提供了清晰的菜单栏和简明的布局。为了增强实用性,它还提供了不同协议的彩色高亮,以及通过图形展示原始数据细节等不同功能。与 tcpdump使用复杂命令行的那些数据包嗅探工具相比, Wireshark的图形化界面对于那些数据包分析的初学者而言,是十分方便的。

价格

由于Wireshark是开源的,它在价格上面是无以匹敌的,Wireshark是遵循GPL协议发布的自由软件,任何人无论出于私人还是商业目的,都可以下载并且使用 Wireshark

程序支持

一个软件的成败通常取決于其程序支持的好坏。虽然像Wireshark这样的自由分发软件很少会有正式的程序支持,而是依赖于开源社区的用户群,但是幸运的是, Wireshark社区是最活跃的开源项目社区之ー。Wireshark网页上给出了许多种程序支持的相关链接,包括在线文档、支持与开发wikiFAQ,并可以注册Wireshark开发者都关注的邮件列表。

支持的操作系统

Wireshark对主流的操作系统都提供了支持,其中包括WindowsMac OS X以及基于Linux的系统。你可以在Wireshark的主页上查询所有 Wireshark支持的操作系统列表。

Wireshark缺点

在讲完Wireshark优点后,再看看Wireshark的缺点。尤其谈谈在现代企业网络环境中使用的话,其存在的不足。

数据采集能力弱

在现代企业网络大流量传输环境下,以便携式工具采集流量,无论对采集系统硬件的要求,还是数据保存采集灵活性和储存能力,Wireshark都会遇到各种难题。

举个例子,200Mbps环境下,如果要采集60秒的数据包,则这个数据包大小为1.2G,而数据包个数超过百万级,这对快速分析问题存在挑战。

图形界面不够直观

Wireshark中,缺乏形象直观的图形展现,如饼状图、柱状图等等灵活的展现方式。

智能分析不够

Wireshark对协议底层解码能力很强,但要分析应用层,或应用层多个指标关联分析,则需要花费大量的时间和精力去完成。

专业性要求高

Wireshark虽然具备详细的分析能力,但分析结果往往因人而异。对网络知识、协议知识的掌握程度,决定了是否能够快速精确的分析出问题根本原因。

以分析某个应用的响应响应速度为例,Wireshark需要过滤出独立的会话信息,标记各种时间信息,然后在文本界面得出相对精确的结论。而这个过程绝对是对使用者技术能力的考验。

下图是网深科技NetInside网络流量分析系统对响应时间的分析结果,通过这种直观的分析,系统对客户端访问服务器过程中能产生的所有时间信息,如连接建立的时间、服务器响应时间、数据传输时间,重传时间等等。通过图形方式,一目了然。

网深科技 NetInside 用户体验分析