如何利用Ethereal进行协议分析_第1页
如何利用Ethereal进行协议分析_第2页
如何利用Ethereal进行协议分析_第3页
如何利用Ethereal进行协议分析_第4页
如何利用Ethereal进行协议分析_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

千里之行,始于足下让知识带有温度。第2页/共2页精品文档推荐如何利用Ethereal进行协议分析Ethereal是什么?它是一个图形用户接口(GUI)的网络嗅探器,能够完成与TCPDUMP相同的功能,用来捕捉网络数据;但其有TCPDUMP无法相比的友好界面;而且其支持的协议之广和全也是别的嗅探器没有方法相提并论的。

那么你可以试着阅读本文,让此文给我们07年岗前实训带来便利!

1.容易介绍

Ethereal是一个图形用户接口(GUI)的网络嗅探器,能够完成与TCPDUMP相同的功能,但操作界面要比TCPDUMP友好的多。Ethereal和TCPDUMP都依靠于pcap库(libcap),因此两者在许多方面十分相像(有相同的数据抓取过滤条件和关键字)。同时Ethereal有与其他图形化网络嗅探器相同的界面模式,实际上假如你能够娴熟地使用Ethereal,那么你也同样可以使用其他用户界面的网络嗅探器。

Ethereal也是一个跨平台的开源项目,支持Windows和Linux平台。Ethereal起初由GeraldCombs开发,随后由一个松散的Ethereal团队组织举行维护开发。它目前所提供的强大协议分析功能彻低可以同商业的网络协议分析系统媲美,从1998年发布最早的0.2版本至今,大量的志愿者为Ethereal添加新的协议解析器,如今Ethereal已经支持500多种协议解析。很难想象如此多的人开发的代码是如何很好的融入系统中的;实际上在Ethereal中添加一个新的协议解析器十分容易,笔者曾经就在很短的时光内向Ethereal添加一个协议解析器;其实系统为添加协议解析器留出了接口,而在面对程序员的开发文档中对如何添加协议解析器有很好的说明;其实网络协议种类繁多,随着时光推移,各种新的协议层出不穷,假如不是设计良好的系统,也不行能适应不断进展的网络协议。一句话,Ethereal是一个结构设计良好的系统。

那么可以利用Ethereal来做什么呢?实际上Ethereal可以用来捕捉网络的数据包,然后利用其对现有协议的分析能力来协助工作。

2.安装Ethereal

正如前面所说Ethereal是一个开源的项目,可以从http://.下载,你不但可以从这里下载到可执行程序,也可以下载到源程序。当前最新版本是0.99.0版。不过正如我们前面说过的,Ethereal是建立在libcap基础之上,所以在安装Ethereal之前请先安装一个libcap的库,可以从

http://./下载。

Ethereal比较具有吸引力的地方是可以通过阅读其协议分析器的源代码来了解一些不简单得到的协议的具体状况;固然这是比较费劲的途径,假如能够得到协议的文档说明还是不要走这条路。

3.使用Ethereal来捕捉数据包

下面以Windows平台上的Ethereal0.99.0版本介绍一下如何使用Ethereal。

3.1.捕捉数据初级篇

启动Ethereal之后挑选Capture菜单,然后挑选子菜单Start就可以开头捕捉数据包了。

图1:Ethereal开头界面

一旦启动捕捉程序以后,Ethereal界面最前面显示一个窗口,这个窗口用来显示各种协议捕捉到的数据包数量,以及已经运行的时光。图2显示这个对话框:

图2:Ethereal捕捉对话框

3.2.网络数据的分析

假如你想停止捕捉数据包,只需要单击Stop按钮即可。在停止捕捉数据包以后,Ethereal将捕捉到的数据包举行分析,然后以图形的形式呈现在用户面前;如图3所示:

图3:Ethereal网络数据包显示窗口

图3主要包括3部分,分离是:

1.协议数据包窗口;该窗口中概要的显示数据包捕捉的时光,源和目的IP

地址,以及使用协议的概况。

2.协议树窗口;该窗口以树形结构显示捕捉到的数据包,实际上当在协议数据包窗口中挑选一个数据包的时候,该窗口显示的就是该数据包的结构;树的外形根据网络协议的层次从上到下罗列。

3.16进制数据包窗口;该窗口以16进制的形式显示协议数窗口中对应的数据包。

注重,窗口的整体布局(1、2、3窗口的位置)可以通过菜单:Edit->Preferences…来设置。

下面详细介绍上面3个窗口的功能。

3.2.1.协议数据包窗口

.格式

捕捉的数据包默认根据时光的挨次所有显示在该窗口中,窗口的选项从左到右分离是:包序号、时光(单位为秒)、数据包源的IP地址、数据包目标的IP地址、协议类型、包信息概述。下面是一个HTTP数据包的例子:

包号是20;当前包到达时光距离第一个包是59.886024秒;包的源IP地址是67;包的目的地址是64,因为是HTTP协议(基于TCP),所以有一个地址应当是本地计算机地址,该目的地址就是本地机器地址。协议类型为HTTP协议,也就是TCP端口号为80,Ethereal对支持的协议都会在这里以协议的名称显示出来,否则这里显示TCP端口号或UDP端口号,固然对于非TCP和UDP的另当别论。

最后的信息一栏对于TCP和UDP数据包显示数据包从端口到端口,假如有TCP

和UDP标志,也会显示在该栏中;对于TCP会显示其他的参数,如窗口、ACK序号等。下面是另外一个例子。

.色彩选项

Ethereal对于不同的协议可设置不同的色彩,从而便利用户观看任何异样的数据包,设置色彩选项通过菜单View->ColoringRules来设置。挑选该菜单以后,浮现色彩设置对话框,如下所示:

图4,协议色彩选项

系统提供了默认的协议色彩设置,对于某些铭感的协议标志采纳红色或黑色来表示。例如:BadTCP标志。

.扫瞄TCP数据流的内容

Ethereal提供了一个选项,可以用来扫瞄一个TCP衔接上的数据,这些数据以ASCII码等形式显示;可以在协议数据包窗口中挑选一个TCP数据包,然后挑选右键菜单:FollowTCPStream,然后浮现如图5所示的窗口:

图5,扫瞄TCP数据流

Ethereal提供了4种形式来显示数据;假如挑选ASCII码,对于明码传递的文本数据都可以在这里查看到,例子中的是一个HTTP协议的TCP流(HTTP是使用80端口的一种TCP协议)。

注重,你可能通过该方式一不当心扫瞄别人明码方式传递的帐户和口令信息哦。

3.2.2.协议树窗口

当在协议数据包窗口中挑选一个数据包的时候,该数据包的协议树就在协议树窗口中被创建。下图是一个TCP数据包的协议树窗口:

图6,协议树窗口

上面是一个HTTP协议的数据包窗口。协议树窗口显示的协议层次与网络协议的层次对应;下表是上面这个例子的对应关系:

义需要熟读TCP/IP协议族。这里需要记住一点,从应用层到最底层,通过逐渐添加数据包头来完成的,在数据链路层有一个尾部。这里仅仅举两个三个例子:IP协议节点、TCP协议节点、HTTP协议节点。

注重:帧这层没有对应的网络层,实际上该层是Ethereal为了管理自己建立的,其中的帧序号通常是显示过滤条件的重要参数。

.IP协议节点

图7,IP协议节点

.TCP协议节点

图8,TCP协议节点

.应用层协议节点

图9,应用层协议节点

上面的例子是一个HTTP协议数据包;通常这层节点是应用层数据;例如:WEBEX的TP/ARM协议,SSL协议等。详细协议参数的含义取决于不同的一些类型。现在的大部分新增的协议都是在这一层之上的,例如:腾讯公司的协议,微软MSN协议等;对于这些来说,他们普通使用一个固定的端口,而Ethereal解析这些协议也正是基于这些端口。本人当写添加的协议就是在该层。假如你想为自己公司的协议添加一个协议解析器,你可以工作在这一层;后面我们将介绍如何添加协议解析器。

6进制数据包窗口

16进制数据包窗口将数据包的全部内容以16进制的形式显示出来,如下图所示:

图10,16进制数据包窗口

该窗口包括3部分,分离是:

1.16进制的序号,字节为单位

2.16进制的数据内容;16个字节一行

3.ASCII码数据内容

用户可以通过直接观看数据包的内容来检查数据。16进制数据包窗口和协议树窗口联合在一起用来完整的表示一个数据包;在协议树上挑选一个节点会对应到16进制数据包窗口,固然这个协议应当是被解析的。下面就是一个例子:

图11,协议树和16进制窗口的对应关系

图中显示TCP的窗口大小对应的实际值。

提醒,假如数据以明码的形式传输,我们可以在3会观看到数据的详细内容。3.3.数据捕捉高级篇

为了更精确的捕捉数据,Ethereal提供了捕捉数据的过滤条件,可以通过设置过滤条件将不需要的数据过滤掉。

Ethereal使用pcap(libpcap/winpcap)的过滤语言作为过滤条件。在

http://.站点上对该过滤条件有具体的解释;假如对过滤条件有特别的需要请到这里查找。下面介绍几种常有的数据过滤条件。

3.3.1.如何设置过滤条件

在3.1节容易介绍如何捕捉数据,实际上那里没有设置任何过滤条件,所以全部流过你网卡的数据都会被捕捉。

Ethereal提供了两种方式来开头捕捉数据:一种是前面已经介绍的;另一种是通过菜单Capture->Interfaces来启动。一旦挑选该菜单,就浮现一个对话框,如下图:

图12,CaptureInterfaces

这里的Interfaces对应机器上的网卡,假如有多块网卡对于Ethereal来说就是多个Interfaces,对于用户来说,需要指定详细捕捉那块网卡的数据。在我的计算机中其实惟独一块网卡,也就是D-LINK;这个对话框也概要地显示流过该网卡包数量和流速。一旦确定捕捉那块网卡上的数据,挑选对应的Capture按钮就可以开头捕捉了,这个时候会浮现如图2的对话框。

固然假如需要进一步设置过滤条件,可以通过上图中Capture旁边的Prepare

这个Button来激活,菜单:Capture->Options也提供了这个功能。激活后就浮现下面的过滤条件设置对话框:

图13,过滤条件设置

在这个对话框中也提供了网卡挑选的选项。下面详细介绍过滤条件每部分的含义。

这里将过滤条件分成了主要的6部分,其他部分这里不介绍,如图13所示。

1.Interface,用于挑选网卡

2.用来捕捉数据的缓冲区;假如注重到有包被走失,可以将其增大;默认是1MB。

3.过滤条件;在3.3.2节具体介绍。

4.捕捉模式;普通状况下,网卡只捕捉到其本身网络地址的数据,其他都丢弃;但假如想捕捉全部网卡能够看到的数据,必需挑选这个选项。这里需要注重的是,在交换式网络环境中,很难捕捉到目标或源不是Ethereal所在机器的网络数据包(广播包目的是网络中的全部计算机),这是由交换式网络环境打算,由于数据传输过程不需要在目标和源之间直接建立的链路上传输的,也就是数据根本不会到达无关的计算机网卡上;假如你的计算机衔接到一个交换机上,那么它绝对是这样的;假如你的计算机衔接到一个HUB上,是由HUB的类型打算,交换式的就不会;但假如不是交换式的,它传输数据的方式是广播,这种状况下无关的计算机可以捕捉到数据包。更多信息可以参考协助文档的FAQ

5.1。

5.限制每个被捕捉包的大小

6.设置Ethereal在满足什么样的条件下自动停止捕捉;可以是时光、包的数量、包的字节数等。

7.设置捕捉数据的存储方式;可以是单个文件,也可以是多分文件。3.3.2.常用的过滤条件

对于过滤条件,这里介绍几个常用的容易例子。

1.捕捉到或来自指定以太网地址的数据包

etherhost08:00:08:15:ca:fe(以太网地址)

2.捕捉全部来自或去向指定IP地址的数据

host0(IP地址)

3.捕捉指定协议指定端口的数据包

Tcp(协议关键字,小写)port(关键字)5150(端口)

捕捉全部TCP协议,使用5150端口的数据

4.条件的合并;条件可以通过关键字and和or来联合,例如捕捉指定IP地址的指定协议和端口的数据包

Host0andtcpport5150

3.4.显示数据过滤

在数据捕捉以后,假如没有过滤条件,全部的数据都浮现在协议数据包窗口中;Ethereal考虑的很周到,为选择数据节约时光其使用了显示过滤条件。这里值得一提的是,这个过滤条件不同于捕捉过滤条件,这些条件是由Ethereal自己定义的。

3.4.1.设置显示过滤条件

在Ethereal主界面协议数据包窗口的上面有一个TOOLBAR就是用来设置过滤条件的,如图:

图14,显示过滤条件BAR

设置方式有四种:直接输入过滤条件、通过Filter来激活以往配置好的条件、挑选+Expression来增强新的条件、挑选Combobox的下拉箭头来挑选以往条件。因为过滤条件是Ethereal自己定制的,与捕捉过滤条件比较起来好用许多,许多

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论