WireShark教程之 WireShark介绍

  1. 云栖社区>
  2. 博客>
  3. 正文

WireShark教程之 WireShark介绍

长空翱翔 2012-10-24 19:55:33 浏览457
展开阅读全文

1.1. 什么是Wireshark

Wireshark 是网络包分析工具。

网络包分析工具的主要作用是尝试捕获网络包, 并尝试显示包的尽可能详细的情况。

你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像使电工用来测量进入电信的电量的电度表一样。(当然比那个更高级)

过去的此类工具要么是过于昂贵,要么是属于某人私有,或者是二者兼顾。 Wireshark出现以后,这种现状得以改变。

Wireshark可能算得上是今天能使用的最好的开元网络分析软件。


1.1.1. 主要应用

下面是Wireshark一些应用的举例:

  • 网络管理员用来解决网络问题
  • 网络安全工程师用来检测安全隐患
  • 开发人员用来测试协议执行情况
  • 用来学习网络协议

除了上面提到的,Wireshark还可以用在其它许多场合。

1.1.2. 特性

  • 支持UNIX和Windows平台
  • 在接口实时捕捉包
  • 能详细显示包的详细协议信息
  • 可以打开/保存捕捉的包
  • 可以导入导出其他捕捉程序支持的包数据格式
  • 可以通过多种方式过滤包
  • 多种方式查找包
  • 通过过滤以多种色彩显示包
  • 创建多种统计分析
  • …还有许多

不管怎么说,要想真正了解它的强大,您还得使用它才行

 

clip_image002

 

图 1.1. Wireshark捕捉包并允许您检视其内

1.1.3. 捕捉多种网络接口

Wireshark 可以捕捉多种网络接口类型的包,哪怕是无线局域网接口。想了解支持的所有网络接口类型,可以在我们的网站上找到http://wiki.wireshark.org/CaptureSetup/NetworkMedia.

1.1.4. 支持多种其它程序捕捉的文件

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运行时内存不足将会导致异常终止。可以在http://wiki.wireshark.org/KnownBugs/OutOfMemory察看详细介绍以及解决办法。
  • Wireshark作为对处理器时间敏感任务,在多处理器/多线程系统环境工作不会比单独处理器有更快的速度,例如过滤包就是在一个处理器下线程运行,除了以下情况例外:在捕捉包时“实时更新包列表”,此时捕捉包将会运行在一个处理下,显示包将会运行在另一个处理器下。此时多处理或许会有所帮助。[5]

1.2.2. Microsoft Windows

  • Windows 2000,XP Home版,XP Pro版,XP Tablet PC,XP Media Center, Server 2003 or Vista(推荐在XP下使用)
  • 32-bit奔腾处理器或同等规格的处理器(建议频率:400MHz或更高),64-bit处理器在WoW64仿真环境下-见一般说明
  • 128MB系统内存(建议256Mbytes或更高)
  • 75MB可用磁盘空间(如果想保存捕捉文件,需要更多空间) 800*600(建议1280*1024或更高)分辨率最少65536(16bit)色,(256色旧设备安装时需要选择”legacy GTK1”)
  • 网卡需求:

说明

  • 基于以下三点原因,将不会对旧版Windows提供支持:没有任何开发人员正在使用那些操作系统, 这将使支持变得更加困难,Wireshark运行所依赖的库文件(如GTK,WinPCap等)也放弃对它们的支持。 同样,微软也放弃了对它们的技术支持。
  • Windows 95,98和ME不能运行Wireshark。已知的最后一个可以运行在以上平台的版本是Ethereal0.99.0(需要安装WinPCap3.1),你依然可以使用从: http://ethereal.com/download.html获得。顺便提一下:微软于2006年1月11日停止对98/ME支持。
  • Windows NT 4.0今后将无法运行Wireshark.最有一个已知版本是Wireshark0.99.4(需安装自带的WinPCap3.1),你依然可以从:http://prdownloads.sourceforge.net/wireshark/wireshark-setup-0.99.4.exe得到它。顺便提一下:微软于2005年12月31日停止对NT 4.0的支持。
  • Windows CE 及嵌入版windows(NT/XP)不被支持。
  • 64-bit处理器运行Wireshark需要在32bit仿真环境下(称作WoW64),最低需要安装WinPCap4.0。
  • 支持多显示(不知道是显示其还是监视器)安装,但会遇到一些不可预料的问题。

1.2.3. Unix/Linux

Wireshark目前可以运行在许多UNIX平台,系统可以对照上面Windows下的指标。 二进制包最少在以下平台可用:

  • APPle Mac OSX
  • Debian GNU/Linux
  • FreeBSD
  • NetBSD
  • OpenPKG
  • Red Hat Fedora/Enterprise Linux
  • rPath Linux
  • Sun Solaris/i386
  • Sun Solaris/Sparc

如果二进制包在您的平台无法使用,你可以下载源文件并尝试编译它。希望您能发送邮件到wireshark-dev[AT]wireshark.org .分享您的经验。

1.3. 从哪里可以得到Wireshark

你可以从我们的网站下载最新版本的Wireshark http://www.wireshark.org/download.html.网站上您可以选择适合您的镜像站点。

Wireshark通常在4-8周内发布一次新版本

如果您想获得Wireshark发布的消息通知,你可以订阅Wireshark-announce邮件列表。详见第 1.6.4 节 “邮件列表”

1.4. Wiresahrk简史[6]

1997年以后,Gerald Combs 需要一个工具追踪网络问题并想学习网络知识。所以他开始开发Ethereal (Wireshark项目以前的名称) 以解决以上的两个需要。

Ethereal是第一版,经过数次开发,停顿,1998年,经过这么长的时间,补丁,Bug报告,以及许多的鼓励,0.2.0版诞生了。Ethereal就是以这种方式成功的。

此后不久,Gilbert Ramirez发现它的潜力,并为其提供了底层分析

1998年10月,Guy Harris正寻找一种比TcpView更好的工具,他开始为Ethereal进行改进,并提供分析。

998年以后,正在进行TCP/IP教学的Richard Sharpe 关注了它在这些课程中的作用。并开始研究该软件是否他所需要的协议。如果不行,新协议支持应该很方便被添加。所以他开始从事Ethereal的分析及改进。

从那以后,帮助Ethereal的人越来越多,他们的开始几乎都是由于一些尚不被Ethereal支持的协议。所以他们拷贝了已有的解析器,并为团队提供了改进回馈。

2006年项目Moved House(这句不知道怎么翻译)并重新命名为:Wireshark.

1.5. Wireshark开发维护

Wireshark最初由Gerald Combs开发。目前由Wireshark team进行进一步开发和维护。Wireshark team是一个由修补bug提高Wireshark功能的独立成员组成的松散组织。

有大量的成员为Wireshark提供协议分析。同时我们也希望这些活动能持续机芯。通过查看Wireshark帮助菜单下的About,你可以找到为Wireshark提供代码的人员名单,或者你也可以通过Wireshark 网站的authors页面找到。

Wireshark 是开源软件项目,发布遵循GNU General Public Licence (GPL协议),所有源代码可以在GPL框架下免费使用。欢迎您修改Wireshark以便适合您的需要,如果您可以提供您的改进给Wireshark team ,我们将不胜感激。

为Wireshark Team 提供您的改进建议,有以下益处:

  • 如果其他人发现您提供的改进十分有用会肯定它们的价值,您将会得知你曾像Wireshark team 一样帮助过他人
  • The developers of Wireshark might improve your changes even more, as there's always room for improvement. Or they may implement some advanced things on top of your code, which can be useful for yourself too.
  • The maintainers and developers of Wireshark will maintain your code as well, fixing it when API changes or other changes are made, and generally keeping it in tune with what is happening with Wireshark. So if Wireshark is updated (which is done often), you can get a new Wireshark version from the website and your changes will already be included without any effort for you.

Wireshar 源代码和二进制kits (二进制工具包? )可以根据自己的平台对应下载,网站是:http://www.wireshark.org/download.html.

1.6. 汇报问题和获得帮助

如果您在使用中碰到了问题,或者您需要Wireshark的帮助,有以下几种可能让您有兴趣的方法(当然,还包括这本书)。

1.6.6. 在UNIX/Linux平台追踪软件错误

如果您发送捕捉数据到邮件列表,请确定它们不包含敏感或者机密信息,比如密码或者诸如此类的。

你可以通过如下命令获得追踪信息:

$ gdb `whereis wireshark | cut -f2 -d: | cut -d' ' -f2` core >&bt.txt

backtrace

^D

$image

网友评论

登录后评论
0/500
评论
长空翱翔
+ 关注