网络实验5ARP_IP_ICMP数据包捕获分析

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

网络实验5ARP、IP、ICMP协议数据包捕获分析

实验性质:综合型

实验学时:2学时

知识点:三种协议数据包的组成与分析

【实验目的】

1.掌握常见的三种协议数据包组成,通过捕捉到的数据分析验证;

2.为同样方法分析高层协议数据包提供初步训练。

【实验原理】

1.ARP数据包的组成

在以太网中,链路层数据帧是以48位的MAC地址传输的,而互联网的IP分组在网际层是以32位的IP地址传输的。IP分组通过网络接口层到达一个LAN时,

由与LAN相连的路由器根据目的IP地址找出目的主机的MAC地址,然后按此MAC

地址将数据帧递交给目的主机。

ARP协议的功能是:由目的IP地址找出目的MAC地址。当本机ARP缓存中有目的IP与目的MAC对应表项时,直接利用;没有时则以广播方式发送ARP请求,

LAN中的所有主机都会接收到这个请求数据包。

如果一个主机的IP地址和ARP请求中的目的IP地址相同,该主机会对这个请求数据包做出ARP应答,将其MAC地址发送给请求者。这时,双方主机的ARP缓存

中各自会增加一条对方的IP地址与MAC地址的映射表项,此表会定期刷新,以防

止由于主机离线或网卡改变所造成的解析错误。

1.1 ARP报文格式:

ARP或RARP报文是封装在以太网 V2帧中发送的,其组成如图5-1所示。

图5-1 ARP报文封装在以太网 V2帧中

ARP报文中,有硬件类型、协议类型、MAC地址长度、协议地址长度,操作类

型,源、目的主机的MAC地址与IP地址等信息,总长28字节,具体内容见图5-2。

图5-2 ARP报文的组成

1.2 ARP缓存和ARP命令

通过arp实用程序,可以对ARP高速缓存进行查看和管理。ARP命令可以显示或删除ARP高速缓存中的IP地址与物理地址的映射表项,也可以添加静态表项。

arp命令(文本界面下)的格式如下:

arp -a [IP地址] 显示地址映射表项,[ ]为可选项。

arp -g [IP地址] 功能与arp -a相同。

arp -d IP地址删除由inet_addr所指定的表项。

arp -s IP地址 MAC地址增加由“IP地址”和“MAC地址”指定的静态表项。

可用“arp /?”获得系统对ARP命令的在线帮助。

用ARP命令删除、清空当前ARP缓冲区内容后,再捕捉网络数据包,才能捕捉到ARP广播数据包。

用过滤条件“eth.type == 0x0806”对捕获的数据包进行过滤,就能找到ARP数据包,从而分析其ARP报文。也可用过滤条件“eth.addr contains ff:ff:ff:ff”找出广播包,进而找出其中的ARP数据包。

图5-3 IP数据报的组成

2.IP v4数据包的组成

IP数据包是TCP/IP网络的核心,网际层的IP、ARP、RARP、ICMP、IGMP五个

协议,ARP,RARP不用IP协议包装,直接封装在链路层数据帧中,ICMP与IGMP 则是用IP协议包装后传送的。高层协议数据大多数在网际层传输时用IP协议包装与传送,因此,IP协议是TCP/IP协议簇中的核心协议。IP数据报组成格式及首部各字段的意义如图5-3所示。

IP数据报首部中,各个字段的意义可从相关书籍参考得知,这里只对其中一些重要信息给予特别说明:

IP v4的首部版本号为 0x04(0100B);

首部长度最小为20字节——基本首部,最大为(24-1)×4=60字节);

IP数据报最大长度是216-1=65535字节,但在实际上受以太网数据帧最大长度限制,IP数据报最大长度为1500字节,最小长度为576字节。

标识字段的作用是,对同一个IP报文中、分片传输的IP数据报,报文计数器增加1后,作为本报文的标识值,并将它复制到同一报文中的各个分片里,在接收端,同一标识值的各分组属于原来的同一个大报文段。

标志为“1”表示后面还有分片,为“0”则表示后没分片;

片偏移是各分片在原报文中的相对位置,只不过是该分片首字节在原报文中的位置再除以8表示;

生存时间是IP报文在网络中最多可经过多少个路由器的“跳数限制”,最大可为255;IP包每经过一个路由器,其值减“1”,当生存值为“0”时,路由器不再转发此IP包——数据包生命终结,被丢弃。

协议类型表明此IP包的数据部分是何种协议提供的;

首部校验和表明,只对IP包的首部进行校验,不对其携带的数据部分进行校验;首部出错,立即丢弃,数据部分出错与否由高层协议负责。采用校验和方法而不用诸如CRC等方法进行差错校验,取决于校验和方法够用、处理较快,利于IP 包的快速转发。

在网络上捕捉IP数据包是非常容易的,用“Ping”命令,或浏览网页,都能捕捉到IP数据包,此处不再赘述。

1.ICMP协议数据包的组成

5.1 ICMP报文简介

ICMP协议数据包对IP分组在传送时出现的异常情况进行报告,对IP报文传输时出现的差错、拥塞、路由改变、以及路由器或主机信息的获取等情况,向源端主机提交报告,由源主机采取相应措施,改进传输质量。

ICMP报文分为两大类——差错报告报文与询问报文,差错报文共有五种、询问报文有两种;ICMP报文的分类与具体种类如图5-4所示。

5.2 ICMP报文生成

ICMP与IP协议同处于TCP/IP模型的网际层,但ICMP报文是封装在IP数据报的数据部分进行传输的。ICMP报文的生成、与原IP报文的关系如图5-5所示。

5.3 对ICMP报文的说明

ICMP的前8字节是:报文类型1字节、代码1字节、校验和2字节,选项部分4字节。

由ICMP报文构成的新IP报文,要向源主机报告当前路由器处出现的情况,因此,它的沿原IP包相反的方向传送。

原IP包数据部分的前8字节内容是:上层协议TCP或UDP的报文的源、目的端口各占有2字节,报文序号占4字节,这样ICMP报文就携带了足够的高层协议

相关文档
最新文档