Wireshark教程带实例第1章介绍1.1.什么是WiresharkWireshark是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像使电工用来测量进入电信的电量的电度表一样。(当然比那个更高级)过去的此类工具要么是过于昂贵,要么是属于某人私有,或者是二者兼顾。Wireshark出现以后,这种现状得以改变。Wireshark可能算得上是今天能使用的最好的开元网络分析软件。1.1.1.主要应用下面是Wireshark一些应用的举例:网络管理员用来解决网络问题网络安全工程师用来检测安全隐患开发人员用来测试协议执行情况用来学习网络协议除了上面提到的,Wireshark还可以用在其它许多场合。1.1.2.特性支持UNIX和Windows平台在接口实时捕捉包能详细显示包的详细协议信息可以打开/保存捕捉的包可以导入导出其他捕捉程序支持的包数据格式可以通过多种方式过滤包多种方式查找包通过过滤以多种色彩显示包创建多种统计分析…还有许多不管怎么说,要想真正了解它的强大,您还得使用它才行图1.1.Wireshark捕捉包并允许您检视其内1.1.3.捕捉多种网络接口Wireshark可以捕捉多种网络接口类型的包,哪怕是无线局域网接口。想了解支持的所有网络接口类型,可以在我们的网站上找到支持多种其它程序捕捉的文件Wireshark可以打开多种网络分析软件捕捉的包,详见???1.1.5.支持多格式输出Wieshark可以将捕捉文件输出为多种其他捕捉软件支持的格式,详见???1.1.6.对多种协议解码提供支持可以支持许多协议的解码(在Wireshark中可能被称为解剖)???1.1.7.开源软件Wireshark是开源软件项目,用GPL协议发行。您可以免费在任意数量的机器上使用它,不用担心授权和付费问题,所有的源代码在GPL框架下都可以免费使用。因为以上原因,人们可以很容易在Wireshark上添加新的协议,或者将其作为插件整合到您的程序里,这种应用十分广泛。1.1.8.Wireshark不能做的事Wireshark不能提供如下功能Wireshark不是入侵检测系统。如果他/她在您的网络做了一些他/她们不被允许的奇怪的事情,Wireshark不会警告您。但是如果发生了奇怪的事情,Wireshark可能对察看发生了什么会有所帮助。[3]Wireshark不会处理网络事务,它仅仅是“测量”(监视)网络。Wireshark不会发送网络包或做其它交互性的事情(名称解析除外,但您也可以禁止解析)。1.2.系通需求想要安装运行Wireshark需要具备的软硬件条件...1.2.1.一般说明给出的值只是最小需求,在大多数网络中可以正常使用,但不排除某些情况下不能使用。[4]在繁忙的网络中捕捉包将很容塞满您的硬盘!举个简单的例子:在100MBIT/s全双工以太网中捕捉数据将会产生750MByties/min的数据!在此类网络中拥有高速的CPU,大量的内存和足够的磁盘空间是十分有必要的。如果Wireshark运行时内存不足将会导致异常终止。可以在察看详细介绍以及解决办法。Wireshark作为对处理器时间敏感任务,在多处理器/多线程系统环境工作不会比单独处理器有更快的速度,例如过滤包就是在一个处理器下线程运行,除了以下情况例外:在捕捉包时“实时更新包列表”,此时捕捉包将会运行在一个处理下,显示包将会运行在另一个处理器下。此时多处理或许会有所帮助。[5]1.2.2.MicrosoftWindowsWindows2000,XPHome版,XPPro版,XPTabletPC,XPMediaCenter,Server2003orVista(推荐在XP下使用)32-bit奔腾处理器或同等规格的处理器(建议频率:400MHz或更高),64-bit处理器在WoW64仿真环境下-见一般说明128MB系统内存(建议256Mbytes或更高)75MB可用磁盘空间(如果想保存捕捉文件,需要更多空间)800*600(建议1280*1024或更高)分辨率最少65536(16bit)色,(256色旧设备安装时需要选择”legacyGTK1”)网卡需求:o以太网:windows支持的任何以太网卡都可以o无线局域网卡:见MicroLogixsupportlist,不捕捉802.11包头和无数据桢。o其它接口见:说明基于以下三点原因,将不会对旧版Windows提供支持:没有任何开发人员正在使用那些操作系统,这将使支持变得更加困难,Wireshark运行所依赖的库文件(如GTK,WinPCap等)也放弃对它们的支持。同样,微软也放弃了对它们的技术支持。Windows95,98和ME不能运行Wireshark。已知的最后一个可以运行在以上平台的版本是Ethereal0.99.0(需要安装WinPCap3.1),你依然可以使用从:获得。顺便提一下:微软于2006年1月11日停止对98/ME支持。WindowsNT4.0今后将无法运行Wireshark.最有一个已知版本是Wireshark0.99.4(需安装自带的WinPCap3.1),你依然可以从:得到它。顺便提一下:微软于2005年12月31日停止对NT4.0的支持。WindowsCE及嵌入版windows(NT/XP)不被支持。64-bit处理器运行Wireshark需要在32bit仿真环境下(称作WoW64),最低需要安装WinPCap4.0。支持多显示(不知道是显示其还是监视器)安装,但会遇到一些不可预料的问题。1.2.3.Unix/LinuxWireshark目前可以运行在许多UNIX平台,系统可以对照上面Windows下的指标。二进制包最少在以下平台可用:APPleMacOSXDebianGNU/LinuxFreeBSDNetBSDOpenPKGRedHatFedora/EnterpriseLinuxrPathLinuxSunSolaris/i386SunSolaris/Sparc如果二进制包在您的平台无法使用,你可以下载源文件并尝试编译它。希望您能发送邮件到wireshark-dev[AT]wireshark.org.分享您的经验。1.3.从哪里可以得到Wireshark你可以从我们的网站下载最新版本的Wireshark网站上您可以选择适合您的镜像站点。Wireshark通常在4-8周内发布一次新版本如果您想获得Wireshark发布的消息通知,你可以订阅Wireshark-announce邮件列表。详见第1.6.4节“邮件列表”1.4.Wiresahrk简史[6]1997年以后,GeraldCombs需要一个工具追踪网络问题并想学习网络知识。所以他开始开发Ethereal(Wireshark项目以前的名称)以解决以上的两个需要。Ethereal是第一版,经过数次开发,停顿,1998年,经过这么长的时间,补丁,Bug报告,以及许多的鼓励,0.2.0版诞生了。Ethereal就是以这种方式成功的。此后不久,GilbertRamirez发现它的潜力,并为其提供了底层分析1998年10月,GuyHarris正寻找一种比TcpView更好的工具,他开始为Ethereal进行改进,并提供分析。998年以后,正在进行TCP/IP教学的RichardSharpe关注了它在这些课程中的作用。并开始研究该软件是否他所需要的协议。如果不行,新协议支持应该很方便被添加。所以他开始从事Ethereal的分析及改进。从那以后,帮助Ethereal的人越来越多,他们的开始几乎都是由于一些尚不被Ethereal支持的协议。所以他们拷贝了已有的解析器,并为团队提供了改进回馈。2006年项目MovedHouse(这句不知道怎么翻译)并重新命名为:Wireshark.1.5.Wireshark开发维护Wireshark最初由GeraldCombs开发。目前由Wiresharkteam进行进一步开发和维护。Wiresharkteam是一个由修补bug提高Wireshark功能的独立成员组成的松散组织。有大量的成员为Wireshark提供协议分析。同时我们也希望这些活动能持续机芯。通过查看Wireshark帮助菜单下的About,你可以找到为Wireshark提供代码的人员名单,或者你也可以通过Wireshark网站的authors页面找到。Wireshark是开源软件项目,发布遵循GNUGeneralPublicLicence(GPL协议),所有源代码可以在GPL框架下免费使用。欢迎您修改Wireshark以便适合您的需要,如果您可以提供您的改进给Wiresharkteam,我们将不胜感激。为WiresharkTeam提供您的改进建议,有以下益处:如果其他人发现您提供的改进十分有用会肯定它们的价值,您将会得知你曾像Wiresharkteam一样帮助过他人ThedevelopersofWiresharkmightimproveyourchangesevenmore,asthere'salwaysroomforimprovement.Ortheymayimplementsomeadvancedthingsontopofyourcode,whichcanbeusefulforyourselftoo.ThemaintainersanddevelopersofWiresharkwillmaintainyourcodeaswell,fixingitwhenAPIchangesorotherchangesaremade,andgenerallykeepingitintunewithwhatishappeningwithWireshark.SoifWiresharkisupdated(whichisdoneoften),youcangetanewWiresharkversionfromthewebsiteandyourchangeswillalreadybeincludedwithoutanyeffortforyou.Wireshar源代码和二进制kits(二进制工具包?)可以根据自己的平台对应下载,网站是:汇报问题和获得帮助如果您在使用中碰到了问题,或者您需要Wireshark的帮助,有以下几种可能让您有兴趣的方法(当然,还包括这本书)。1.6.1.网站通过访问许多有用的信息。1.6.2.百科全书WiresharkWiki()提供广泛的跟Wireshark以及捕捉包有关信息。你将会发现一些没有被包括在本书内信息,例如:wiki上有解释如何在交换网络捕捉包,同时我们正努力建立协议参考,等等。最好的事情是,如果对某些知识有独到见解(比如您精通某种协议),您可以通过浏览器编辑它。1.6.3.FAQ最经常被问到的问题“FrequentlyAskedQuestions”提供一个经常被