搜档网
当前位置:搜档网 › ICMP协议和IP数据报分片分析实验报告

ICMP协议和IP数据报分片分析实验报告

计算机网络

实验报告

实验名称:ICMP 协议和IP 数据报分片分析

姓名:张祎立学号:2011302330050 专业:信息管理与信息系统班级:信管二班

指导教师:

实验成绩:

批阅教师签字:

一、实验目的

1. 理解 ICMP 协议报文类型和格式;

2. 理解 ping 命令的工作原理;

3. 理解 traceroute 的工作原理;

4. 理解 IP 协议报文类型和格式。

二、实验内容与实验步骤

1. 使用 wireshark 抓包软件分析ICMP 协议报文的类型;

2. 分析 ping 命令的工作原理;

3. 分析 tracert 命令的工作原理;

4. 使用 wireshark 抓包软件分析IP 协议报文以及报文分片。

三、实验环境

与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE 等软件。

四、实验过程与分析

1. 分析 ICMP 协议

步骤1:在 PC1 运行 Wireshark,开始截获报文,为了只截获和实验内容有关的报文,将Wireshark 的Captrue Filter 设置为“No Broadcast and no Multicast”;

步骤2:在 PC1 以 https://www.sodocs.net/doc/7c15059212.html, 为目标主机,在命令行窗口执行 Ping 命令,要求ping通8 次;Ping 命令为:ping https://www.sodocs.net/doc/7c15059212.html,–n 8

将命令行窗口进行截图:

步骤3:停止截获报文,分析截获的结果,回答下列问题:

1)将抓包结果进行截图(要求只显示ping 的数据包):

输入过滤规则ip.addr==119.75.217.56

2)截获的ICMP 报文有几种类型?两种。分别是:0(回应应答)和8(回应请求)

3) 分析截获的ICMP 报文,按下表要求,将各字段信息填入表中,要求填写前4 个报文的信息。

报文号源IP 目的IP 报文格式

类型代码标识序列号 125 192.168.217.56 119.75.217.56 8 0 0x0200 3840|15 126 119.75.217.56 192.168.217.56 0 0 0x0200 3840|15 127 192.168.217.56 119.75.217.56 8 0 0x0200 4096|16 128 119.75.217.56 192.168.217.56 0 0 0x0200 4096|16 4)查看ping 请求信息,ICMP 的type 8是和code 是0

并截图:

5) 查看相应得ICMP 响应信息,ICMP 的type 0是和code 是0

并截图:

6) 若要只显示ICMP的echo响应数据包,显示过滤器的规则为icmp.type == 8

并根据过滤规则进行抓包截图:

7) 若要只显示ICMP的echo请求数据包,显示过滤器的规则为icmp.type == 0

并根据过滤规则进行抓包截图:

2. 分析traceroute 的工作原理

步骤1:在 PC1 上运行 Wireshark 开始截获报文;

步骤2:在PC1上执行Tracert命令,如:tracert https://www.sodocs.net/doc/7c15059212.html,;将命令窗口进行截图;

步骤3:在wireshark里设置显示过滤器为icmp;

步骤4:停止截获报文,分析截获的报文,回答下列问题:

1)截获了报文中哪几种 ICMP 报文?其类型码和代码各为多少?

三种报文:①Time-to-live exceeded,类型11,代码0;

②Request,类型8,代码0;

③Reply,类型0,代码0。

2)在截获的报文中,哪些是超时报告报文,请截图显示所有超时报文并指出超时报告报文的源地址分别是多少?

Time-to-live exceeded类为超时报文,筛选icmp.type==11。超市报文源地址为:220.20.217.1;172.17.2.150;172.16.254.14;172.17.11.218;172.17.11.254;218.197.158.254;

101.4.113.162;101.4.116.69 ;101.4.112.1 ;101.4.116.194;219.224.103.10 ;192.168.0.5

3)查看 ICMP echo 分组,是否这个分组和前面使用 ping 命令的ICMP echo 一样?若不一样,请分析使用tracert 命令后收到的分组里TTL 值的变化规律。

不一样;

变化规律:使用tracert命令后收到的分组里TTL的值逐渐增大,而使用Ping命令收到的分组里的TTL值不变。

4)对照 ICMP 协议,分析一下ICMP 超时报告分组比ICMP echo 分组多包含的信息有哪些?

超时报告分组比echo分组多包含IP数据报的首部以及TCP或UDP协议的端口号。

5)对于ICMP超时报告分组,找出与命令提示窗口截图中的第五跳路由器的接口IP地址为多少?wireshark抓包图中截图与第五跳路由器的接口IP地址对应的部分并截图。

第五跳路由器的接口IP地址为:172.17.11.254

筛选规则输入:ip.src==172.17.11.254

3. IP协议分析

步骤1:分别在 PC1 和 PC2 上运行 wireshark,开始截获报文,为了只截获和实验内容有关的报文,将

wireshark 的 Captrue Filter 设置为“No Broadcast and no Multicast”;

步骤2: PC1 ping PC2;

步骤3:停止截获报文,分析截获的结果,回答下列问题:

1)任取一个有IP 协议的数据报并截图:

2)分析该IP 协议的报文格式,完成下表。

表IP 协议

字段报文信息说明

版本 4 IPv4

头长 5 20bytes

服务类型 00

总长度 60 60bytes

标识 0x0001

标志 00

片偏移 00

生存周期 64

协议 01 ICMP

校验和

源地址 192.168.1.108

目的地址 192.168.1.101

4. IP数据报分片实验

步骤1:在PC1、PC2 两台计算机上运行Wireshark,为了只截获和实验有关的数据报,设置Wireshark 的捕获条件为对方主机的IP 地址的icmp协议;

步骤2:在PC1 上执行如下Ping 命令,向主机PC2 发送大小为7000个字节的数据报文;

步骤3:停止截获报文并回答下列问题:

1)以太网的最大传输单元(MTU)是多少?怎么计算得出的?

以太网的MTU是1500。由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64bytes,最大不能超过1518bytes,抛去以太网帧的帧头(DMAC目的MAC地址48bit=6Bytes+SMAC源MAC地址

48bit=6Bytes+Type域2bytes)14Bytes和帧尾CRC校验部分4Bytes,那么剩下承载上层协议的地方也就是Data域最大就只能有1500Bytes,

2)分析截获的报文,将属于同ICMP 请求报文的分片找出来并从wireshark 中截图:

主机PC1 向主机PC2 发送的ICMP 请求报文分成了 5 个分片。

3)ICMP 报文各分片的数据长度是多少?

各个分片的数据长度分别是1480,1480,1480,1480,1088

在wireshark 里截图显示:

4)若要让主机PC1向主机PC2发送的数据分为2个分片,则Ping 命令中的报文长度应为多大范围?为什么?

ping命令中的报文长度范围为:1473-2952个字节。

因为当一个IP数据包封装成链路层的帧时,其数据报的总长度(即首部加上数据部分)一定不能超过

链路层的MTU,即1500字节。在网络层,因为IP首部一般为20字节,所以这里的MTU为1500-20=1480。在传输层,UDP包的首部为8字节,数据的净荷部分预留是1500-20-8=1472字节。如果数据部分大于1472字节,就会出现分片现象。同理:若要分为两片则数据部分应为为1500*2-20*2-8=2952个字节。

五、实验结果总结与思考

从实验过程来看,很好的熟悉了WireShark的使用,做过实验之后比单纯的看指南PPT印象深刻得多,从比较抽象的概念变成了切身体验。

在实验内容上,经过老师的演示和请教同学,基本内容可以完成,一些原先做的不对的也有了改正,比如各个过滤器筛选规则,以ping https://www.sodocs.net/doc/7c15059212.html,为例,原先甚至不知道ip.addr==119.75.217.56的规则,对报文中的数据包显得无从下手。当然这和对之前的实验不熟悉、没有十分仔细地阅读指南PPT等因素有关,属于上课不专心,应当反思。当然之后这类问题都得到了解决。

相关主题