使用Ethereal工具分析网络协议

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五使用Ethereal工具分析网络

协议

一、实验目的

通过使用Ethereal软件掌握Sniffer(嗅探器)工具的使用方法,实现捕捉网络协议的数据包,以理解TCP/IP协议族中多种协议的数据结构以及多种协议的交互过程。

二、实验内容

1.静态路由的配置。

2.路由协议RIP、RIP V2,OSPF。

三、实验环境

安装Windows 2000/XP的PC机,在每一台上安装Ethereal软件。将PC机通过路由器/交换机相连,组成一个局域网。

四、实验指导

1、Ethereal 简介

Ethereal是一款免费的网络协议分析程序,支持Unix、Windows。借助这个程序,你既可以直接从网络上抓取数据进行分析,也可以对由其他嗅探器抓取后保存在硬盘上的数据进行分析。你能交互式地浏览抓取到的数据包,查看每一个数据包的摘要和详细信息。Ethereal 有多种强大的特征,如支持几乎所有的协议、丰富的过滤语言、易于查看TCP会话经重构后的数据流等。

它的主要特点为:

∙支持Unix系统和Windows系统

∙可以根据不同的标准进行包过滤

∙通过过滤来查找所需要的包

∙根据过滤规则,用不同的颜色来显示不同的包

∙提供了多种分析和统计工具,实现对信息包的分析

2、Ethereal 安装

安装软件可以从网站上下载。

3、Ethereal操作指导

3.1 Ethereal 操作界面

Ethereal软件界面如图上图所示,在这个窗口上,整个界面环境分为三个窗口,最上面的窗口是抓包列表窗口,经过Ethereal软件抓包后的数据包都会列在这个窗口中,同时你可以根据抓包序列号,抓包时间、源地址、目标地址、协议等进行包列表的排序,这样你可以很容易的找到你所需要的信息包。

中间的窗口中显示的是抓包列表上所选择的包对应的各层协议说明,其中,协议层次信息以树型的结构进行显示。

最下面的窗口是数据窗口,显示的是上层窗口选中的信息包的具体数据,同时,在中间树型窗口中所选择的某一协议数据域的内容,在数据窗口中会被突出地显示出来。

3.2 Ethereal 界面菜单

菜单中主要有以下几个部分:

File:这个子菜单下的操作与Windows菜单下File下的操作类似,包括了文件的打开,保存、打印以及系统的退出等等。不过这里的文件仅仅指的是抓包文件。

Edit:这个子菜单下所包含的操作有:查找某一个特定的帧、跳到某个帧、在一个或更多的帧上打上标记、设置首选项、设置过滤、协议剖析允许/不允许等。在这个菜单下,Windows 界面中的一些常用的操作,例如剪切、复制、粘贴等将不再使用。

Capture:在这个菜单下进行开始抓包和停止抓包的操作。

3.3 相关操作

3.3.1 抓包

3.3.2 Capture options选项对话框

Interfaces:指定在哪个网卡上抓包。一般情况下都是单网卡,所以使用缺省的就可以了。

Capture packets in promiscuous mode:是否打开混杂模式。如果打开,抓取所有的数据包。一般情况下只需要监听本机收到或者发出的包,因此应该关闭这个选项。

Limit each packet:限制每个包的大小,缺省情况不限制。

Filter:过滤器。只抓取满足过滤规则的包。

File:如果需要将抓到的包写到文件中,在这里输入文件名称。

ring buffer:是否使用循环缓冲。缺省情况下不使用,即一直抓包。注意,循环缓冲只有在写文件的时候才有效。如果使用了循环缓冲,还需要设置文件的数目,文件多大时回卷。其他项:选择缺省的就可以了。

3.3.3 过滤设置

抓包过滤器用来抓取感兴趣的包,用在抓包过程中。抓包过滤器使用的是libcap 过滤器语言,在tcpdump 的手册中有详细的解释,基本结构是:[not] primitive [and|or [not] primitive ...],如下:

Ethereal提供了两种过滤设置方式:

1)、一种是在抓包以前进行设置,通过此设置,整个抓包过程将只抓取用户所需要的特定的数据包。

2)、另一种方式是在抓包以后进行设置。

3.3.3.1 在抓包前进行过滤设置

在抓包前进行过滤设置,是在抓包选项设置对话框中进行的(见上图)。只需在Filter 栏中填入特定的设置语句。Ethereal使用libpcap filter语言来进行抓包的过滤设置。过滤表达式由一系列简单的表达式和连词(and、or、not)组成:

[not] primitive [and|or [not] primitive ...]

过滤表达式的用法:

抓取一个特定的主机的telnet数据包的过滤设置

tcp port 23 and host 10.0.0.5

通过这个过滤表达式,可以抓取从主机10.0.0.5发出或发向该主机的所有的telnet数据包。抓取除了来自/发往某主机的telnet数据包的过滤设置

tcp port 23 and not host 10.0.0.5

在过滤设置字符串中,primitive表达式通常由以下几种形式组成:

1)、[src|dst] host

此表达式通过IP地址/主机名来过滤一个特定的主机,通过前缀src或dst选择源/目的主机。如果不注明src或者dst,则将抓到流向/流出该主机的所有数据包。

例如:抓取从主机172.18.66.66发出的数据包:

src host 172.18.66.66

2)、ether [src|dst] host

此表达式用于过滤以太网上流入/流出特定的主机的数据包,不同的是ehost是以太网地址,为主机的物理地址。

例如:抓取发往物理地址为00:04:76:42:24:80的数据包

ether dst host 00:04:76:42:24:80

3)、[src|dst] net [{mask }|{len }]

此表达式根据网络地址来过滤来自/发往特定的网络的数据包。

例如:抓取发往/发自网络172.18.0.0的数据包

net 172.18.0.0 mask 255.255.0.0

4)、[tcp|udp] [src|dst] port

此表达式可以设置过滤来自/发往特定的tcp/udp协议端口的数据包。

例如:抓取SNMP协议数据包

udp port 161

5)、less|greater

此表达式用于过滤数据包长度小于等于/大于等于特定长度的数据包。

例如:抓取数据包长度小于400byte的数据包

less 400

6)、ip|ether proto

此表达式用于过滤IP层/数据链路层(Ethernet层)上特定的协议数据包。

例如:抓取IP层上UDP数据报

ip proto UDP

相关文档
最新文档