实验报告报文分析_第1页
实验报告报文分析_第2页
实验报告报文分析_第3页
实验报告报文分析_第4页
实验报告报文分析_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、实验五 使用Ethereal工具分析网络协议一、实验目的通过使用Ethereal软件掌握Sniffer(嗅探器)工具的使用方法,实现捕捉网络协议的数据包,以理解TCP/IP协议族中多种协议的数据结构以及多种协议的交互过程。二、实验内容1静态路由的配置。2路由协议RIP、RIP V2,OSPF。三、实验环境安装Windows 2000/XP的PC机,在每一台上安装Ethereal软件。将PC机通过路由器/交换机相连,组成一个局域网。四、实验指导1、Ethereal 简介Ethereal是一款免费的网络协议分析程序,支持Unix、Windows。借助这个程序,你既可以直接从网络上抓取数据进行分析,

2、也可以对由其他嗅探器抓取后保存在硬盘上的数据进行分析。你能交互式地浏览抓取到的数据包,查看每一个数据包的摘要和详细信息。Ethereal有多种强大的特征,如支持几乎所有的协议、丰富的过滤语言、易于查看TCP会话经重构后的数据流等。它的主要特点为: 支持Unix系统和Windows系统 可以根据不同的标准进行包过滤 通过过滤来查找所需要的包 根据过滤规则,用不同的颜色来显示不同的包 提供了多种分析和统计工具,实现对信息包的分析2、Ethereal 安装安装软件可以从网站上下载。3、Ethereal操作指导3.1 Ethereal 操作界面Ethereal软件界面如图上图所示,在这个窗口上,整个界

3、面环境分为三个窗口,最上面的窗口是抓包列表窗口,经过Ethereal软件抓包后的数据包都会列在这个窗口中,同时你可以根据抓包序列号,抓包时间、源地址、目标地址、协议等进行包列表的排序,这样你可以很容易的找到你所需要的信息包。中间的窗口中显示的是抓包列表上所选择的包对应的各层协议说明,其中,协议层次信息以树型的结构进行显示。最下面的窗口是数据窗口,显示的是上层窗口选中的信息包的具体数据,同时,在中间树型窗口中所选择的某一协议数据域的内容,在数据窗口中会被突出地显示出来。3.2 Ethereal 界面菜单菜单中主要有以下几个部分:File:这个子菜单下的操作与Windows菜单下File下的操作类

4、似,包括了文件的打开,保存、打印以及系统的退出等等。不过这里的文件仅仅指的是抓包文件。Edit:这个子菜单下所包含的操作有:查找某一个特定的帧、跳到某个帧、在一个或更多的帧上打上标记、设置首选项、设置过滤、协议剖析允许/不允许等。在这个菜单下,Windows界面中的一些常用的操作,例如剪切、复制、粘贴等将不再使用。Capture:在这个菜单下进行开始抓包和停止抓包的操作。3.3 相关操作3.3.1 抓包3.3.2 Capture options选项对话框Interfaces:指定在哪个网卡上抓包。一般情况下都是单网卡,所以使用缺省的就可以了。Capture packets in promisc

5、uous mode:是否打开混杂模式。如果打开,抓取所有的数据包。一般情况下只需要监听本机收到或者发出的包,因此应该关闭这个选项。Limit each packet:限制每个包的大小,缺省情况不限制。Filter:过滤器。只抓取满足过滤规则的包。File:如果需要将抓到的包写到文件中,在这里输入文件名称。ring buffer: 是否使用循环缓冲。缺省情况下不使用,即一直抓包。注意,循环缓冲只有在写文件的时候才有效。如果使用了循环缓冲,还需要设置文件的数目,文件多大时回卷。其他项:选择缺省的就可以了。3.3.3 过滤设置抓包过滤器用来抓取感兴趣的包,用在抓包过程中。 抓包过滤器使用的是libc

6、ap 过滤器语言,在tcpdump 的手册中有详细的解释,基本结构是: not primitive and|or not primitive .,如下:Ethereal提供了两种过滤设置方式:1)、一种是在抓包以前进行设置,通过此设置,整个抓包过程将只抓取用户所需要的特定的数据包。2)、另一种方式是在抓包以后进行设置。 在抓包前进行过滤设置在抓包前进行过滤设置,是在抓包选项设置对话框中进行的(见上图)。只需在Filter栏中填入特定的设置语句。Ethereal使用libpcap filter语言来进行抓包的过滤设置。过滤表达式由一系列简单的表达式和连词(and、or、not)组成

7、:not primitive and|or not primitive .过滤表达式的用法:抓取一个特定的主机的telnet数据包的过滤设置tcp port 23 and host 通过这个过滤表达式,可以抓取从主机发出或发向该主机的所有的telnet数据包。抓取除了来自/发往某主机的telnet数据包的过滤设置tcp port 23 and not host 在过滤设置字符串中,primitive表达式通常由以下几种形式组成:1)、src|dst host 此表达式通过IP地址/主机名来过滤一个特定的主机,通过前缀src或dst选择源/目的主机

8、。如果不注明src或者dst,则将抓到流向/流出该主机的所有数据包。例如:抓取从主机6发出的数据包:src host 62)、ether src|dst host 此表达式用于过滤以太网上流入/流出特定的主机的数据包,不同的是ehost是以太网地址,为主机的物理地址。例如:抓取发往物理地址为00:04:76:42:24:80的数据包ether dst host 00:04:76:42:24:803)、src|dst net mask |len 此表达式根据网络地址来过滤来自/发往特定的网络的数据包。例如:抓取发往/发自网络的数据包

9、net mask 4)、tcp|udp src|dst port 此表达式可以设置过滤来自/发往特定的tcp/udp协议端口的数据包。例如:抓取SNMP协议数据包udp port 1615)、less|greater 此表达式用于过滤数据包长度小于等于/大于等于特定长度的数据包。例如:抓取数据包长度小于400byte的数据包less 4006)、ip|ether proto 此表达式用于过滤IP层/数据链路层(Ethernet层)上特定的协议数据包。例如:抓取IP层上UDP数据报ip proto UDP7)、ether|ip broadcast|mu

10、lticast此表达式用于过滤IP/Ethernet的广播包/多播包8)、 relop 此表达式用于创建复杂的过滤表达式,用于选择数据包中特定byte的数据或者某一段数据。 在抓包后进行过滤设置只需要在filter文本框中填入相应的表达式即可。如下图:注:如果Filter的背景是绿色的,证明所设定的Filter是合乎规则的;如果Filter的背景是红色的,证明所设定的Filter是Ethereal不允许的,是错误的。3.3.4 分析数据包内容中间是协议树,通过协议树可以得到被截获的数据包的更多信息,如主机的MAC地址(Ethernet II)、IP地址(Internet Prot

11、ocol)、TCP端口号(Transmission Control Protocol),以及HTTP协议的具体内容(Hypertext Trnasfer Protocol)。通过扩展协议树中的相应节点,可以得到该数据包中携带的更详尽的信息。最下边是以十六制显示的数据包的具体内容,这是被截获的数据包在物理媒体上传输时的最终形式,当在协议树中选中某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便地对各种协议的数据包进行分析。(1) 实验1、以太网帧结构1.1典型帧结构Ethernet_II,报文结构如下:字段描述长度前导码同步码用来使局域网中的所有节点同步 7 bytes帧标志帧的起始标

12、志1 byte目的MAC地址接收端的MAC地址6bytes源MAC地址发送端的MAC地址6bytes上层协议类型数据包的类型2bytes数据字段被封装的数据包46-1500bytes校验错误检验4bytes通过Ethereal抓包,并观察以太帧结构,如下图:1.2 Ethernet Example捕捉并显示所有从本地机器发出和接收的数据包。1)获取本地MAC地址: 在命令行输入arp -a2)通过Ethereal抓包。方法一:将Ethereal的capture filter 的filter string设置为:eth.addr=00.17.9a.ce.81.08方法二:将主界面上Filter设

13、置为:eth.addr=00.17.9a.ce.81.082、IP报头结构2.1 IP协议概述 IP提供无连接的数据转发,是Internet数据通信的基础 IP提供的是最底层的、最基础的一部分 这种服务是不提供服务保证的,分组可能丢失、延迟,也不通知发送方或接受方。一个分组序列有可能沿着不同的路径发送。 服务是全力转发,不因为资源耗尽或网络故障而停止,因而会引起丢失等不可靠的情形出现。2.2 IP 数据报结构IP数据报分为两个部分:数据报报头数据报数据域详细的数据报报头:版本首部长度服务类型总长度标识标志片偏移量生存时间协议首部校验和源IP地址目的IP地址IP选项填充通过Ethereal查看I

14、P数据报报头,如下图:通过Ethereal查看IP地址为03的数据包3、ARP协议3.1 ARP协议概述ARP协议(Address Resolution Protocol),即地址解析协议。ARP协议主要负责将局域网中的32为IP地址转换为对应的48位物理地址,即网卡的MAC地址,比如IP地址为网卡MAC地址为00-03-0F-FD-1D-2B。整个转换过程是一台主机先向目标主机发送包含IP地址信息的广播数据包,即ARP请求,然后目标主机向该主机发送一个含有IP地址和MAC地址数据包,通过MAC地址两个主机就可以实现数据传输了。3.2 ARP命令在安

15、装了以太网网络适配器的计算机中都有专门的ARP缓存,包含一个或多个表,用于保存IP地址以及经过解析的MAC地址。在Windows中要查看或者修改ARP缓存中的信息,可以使用arp命令来完成,比如在Windows XP的命令提示符窗口中键入“arp -a”或“arp -g”可以查看ARP缓存中的内容;键入“arp -d IPaddress”表示删除指定的IP地址项(IPaddress表示IP地址)。arp命令的其它用法可以键入“arp /?”查看到。3.2 ARP协议应用举例为了解释ARP协议的作用,就必须理解数据在网络上的传输过程。这里举一个简单的PING例子。假设我们的计算机IP地址是192

16、.168.1.1,要执行这个命令:ping。该命令会通过ICMP协议发送ICMP数据包。该过程需要经过下面的步骤:1)、应用程序构造数据包,该示例是产生ICMP包,被提交给内核(网络驱动程序);2)、内核检查是否能够转化该IP地址为MAC地址,也就是在本地的ARP缓存中查看IP-MAC对应表;3)、如果存在该IP-MAC对应关系,那么跳到步骤7;如果不存在该IP-MAC对应关系,那么接续下面的步骤;4)、内核进行ARP广播,目的地的MAC地址是FF-FF-FF-FF-FF-FF,ARP命令类型为REQUEST(1),其中包含有自己的MAC地址;5)、当192.168.1.

17、2主机接收到该ARP请求后,就发送一个ARP的REPLY(2)命令,其中包含自己的MAC地址;6)、本地获得主机的IP-MAC地址对应关系,并保存到ARP缓存中;7)、内核将把IP转化为MAC地址,然后封装在以太网头部结构中,再把数据发送出去;使用arp-a命令就可以查看本地的ARP缓存内容,所以,执行一个本地的PING命令后,ARP缓存就会存在一个目的IP的记录了。当然,如果你的数据包是发送到不同网段的目的地,那么就一定存在一条网关的IP-MAC地址对应的记录。4、ICMP 协议4.1 ICMP 协议概述IP协议是一种不可靠的协议,无法进行差错控制。但IP协议可以借助其

18、他协议来实现这一功能,如ICMP。ICMP(Internet Control Messages Protocol,网际控制报文协议)允许主机或路由器报告差错情况和提供有关异常情况的报告。一般来说,ICMP报文提供针对网络层的错误诊断、拥塞控制、路径控制和查询服务四项大的功能。如,当一个分组无法到达目的站点或TTL超时后,路由器就会丢弃此分组,并向源站点返回一个目的站点不可到达的ICMP报文。4.2 ICMP 报文类型4.2.1 ICMP报文类型ICMP报文大体可以分为两种类型,即ICMP差错报文和ICMP询问报文。4.2.2 ICMP回射请求和应答报文头部格式IP 头部(20 bytes)类型代码校验和标识符序列号选项常见ICMP报文类型类型代码描述80回射请求00回射应答110超时4.3 ICMP Ping命令Pi

温馨提示

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

评论

0/150

提交评论