网络层协议分析实验报告

1、网络层协议分析

1.A 数据包捕获分析部分

1.A.1、实验目的

1)、了解ICMP 协议报文类型及作用。

2)、理解IP协议报文类型和格式。

3)、分析ARP 协议的报文格式,理解ARP 协议的解析过程。

1.A.2、实验容介绍

1)、ICMP协议分析实验

执行ping 和tracert 命令,分别截获报文,分析截获的ICMP 报文类型和ICMP 报文格式,理解ICMP 协议的作用。

2)、IP协议分析实验

使用Ping 命令在两台计算机之间发送数据报,用Wireshark 截获数据报,分析IP 数据报的格式,理解IP V4 地址的编址方法,加深对IP 协议的理解。

3)、IP 数据报分片实验

我们已经从前边的实验中看到,IP 报文要交给数据链路层封装后才能发送。理想情况下,每个IP 报文正好能放在同一个物理帧中发送。但在实际应用中,每种网络技术所支持的最大帧长各不相同。例如:以太网的帧中最多可容纳1500 字节的数据,这个上限被称为物理网络的最大传输单元(MTU,MaxiumTransfer Unit)。

TCP/IP 协议在发送IP 数据报文时,一般选择一个合适的初始长度。当这个报文要从一个MTU 大的子网发送到一个MTU 小的网络时,IP 协议就把这个报文的数据部分分割成能被目的子网所容纳的较小数据分片,组成较小的报文发送。每个较小的报文被称为一个分片(Fragment)。每个分片都有一个IP 报文头,分片后的数据报的IP 报头和原始IP 报头除分片偏移、MF 标志位和校验字段不同外,其他都一样。

重组是分片的逆过程,分片只有到达目的主机时才进行重组。当目的主机收到IP 报文时,根据其片偏移和标志MF 位判断其是否一个分片。若MF 为0,片偏移为0,则表明它是一个完整的报文;否则,则表明它是一个分片。当一个报文的全部分片都到达目的主机时,IP 就根据报头中的标识符和片偏移将它们重新组成一个完整的报文交给上层协议处理。

4)、ARP协议分析实验

本次实验使用的Windows自带的Arp命令,提供了显示和修改地址解析协议所使用的地址映射表的功能。

Arp 命令的格式要求如下:

ARP -s inet_addr eth_addr [if_addr]

ARP -d inet_addr [if_addr]

ARP -a [inet_addr] [-N if_addr]

其中:

-s:在ARP 缓存中添加表项:将IP 地址inet_addr 和物理地址ether_addr 关联,物理地址由以连字符分隔的 6 个十六进制数给定,使用点分十进制标记指定IP 地址,添加项是永久性的;

-d:删除由inet_addr 指定的表项;

-a:显示当前ARP 表,如果指定了inet_addr 则只显示指定计算机的IP 和物理地址;

inet_addr:以点分十进制标记指定IP 地址;

-N:显示由if_addr 指定的ARP 表项;

if_addr:指定需要选择或修改其地址映射表接口的IP 地址;

ether_addr:指定物理地址;

1.A.3、实验步骤

1)、ICMP协议分析

步骤1:分别在PC1 和PC2 上运行Wireshark,开始截获报文,为了只截获和实验容有关的报文,将Wireshark 的Captrue Filter 设置为“No Broadcast and no Multicast”;步骤2:在PC1 以PC2 为目标主机,在命令行窗口执行Ping 命令;请写出执行的命令:[ping 192.168.3.183 ]

步骤3:停止截获报文,将截获的结果保存为“ICMP-1-学号”,分析截获的结果,回答下列问题:

1)您截获几个ICMP 报文?分别属于那种类型?

答:66个33个请求报文33个回复报文

2)分析截获的ICMP 报文,查看表1.A.1 中要求的字段值,填入表中。

实验捕获的报文数据截图:

报文16

报文17

报文x

报文x+1

分析在上表中哪个字段保证了回送请求报文和回送应答报文的一一对应,仔细体会Ping 命令的作用。如何保证请求报文和应答报文时一一对应的?

答:序号保证了请求报文和回复报文的一一对应。Ping可以检验网络能否想通。

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

步骤5:在PC1上执行Tracert命令,向一个本网络中不存在的主机发送数据报,如:Tracert .baidu.;

步骤6:停止截获报文,将截获的结果保存为“ICMP-2-学号”,分析截获的报文,回答下列问题:

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

答:两种请求报文和回复报文。目标主机不可达Type: 3 (Destination unreachable) Code: 1 (Host unreachable)

在截获的报文中,超时报告报文的源地址是多少?这个源地址指定设备和PC1 有何关系?

答:192.168.3.3 这个地址是PC1 的网关地址。

通过对两次截获的ICMP 报文进行综合分析,仔细体会ICMP 协议在网络中的作用。

答:ICMP报文有两种:差错报告报文和询问报文。其中差错报告报文用来报告差错类型,询问报文用与寻找目标主机应用有ping、tracert,时间戳可以用来计算RTT时间。

2)、IP协议分析

步骤1:截获PC1 上ping PC2 的报文,结果保存为“IP-学号”;

步骤4:取序号为学号的数据报,分析IP 协议的报文格式,完成下列各题:-

1)分析IP 数据报头的格式,完成表5.2;

实验捕获的报文数据截图(突出显示分析的报文):

1)查看该数据报的源IP 地址和目的IP 地址,他们分别是哪类地址?体会IP 地址的编址方法。

答:均为C类地址。1--126为A类地址,128-191为B类地址,192---223为C类地址。

3)、IP数据报分片实验

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

步骤2:在PC1 上执行如下Ping 命令,向主机PC2 发送4500B 的数据报文:Ping –l 4500 –n 6 PC2的IP地址

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

1)以太网的MTU 是多少?

答:1500,以太网中规定MTU为1500B

2)对截获的报文分析,将属于同一ICMP 请求报文的分片找出来,主机PC1 向主机PC2发送的ICMP 请求报文分成了几个分片?

答:4个

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

答:1480*3=4440B,因为MTU为1500,要使报文最长,则其首部应最小即20字节,故报文长度最长为1480*3=4440

4)将第二个ICMP 请求报文的分片信息填入表5.3:

4)、ARP协议分析实验

步骤1:在PC1、PC2 两台计算机上执行如下命令,清除ARP 缓存:

答:ARP -d

步骤2:在PC1、PC2 两台计算机上执行如下命令,查看高速缓存中的ARP 地址映射表的容:

答:ARP -a

步骤3:在PC1 和PC2 上运行Wireshark 截获报文,为了截获和实验容有关的报文,Wireshark 的Captrue Filter 设置为默认方式;

步骤4:在主机PC1 上执行Ping 命令向PC2 发送数据报;

步骤5:执行完毕,保存截获的报文并命名为“ARP-1-学号”;

步骤6:在PC1、PC2 两台计算机上再次执行ARP –a 命令,查看高速缓存中的ARP 地址映射表的容:

1)这次看到的容和步骤2的容相同吗?结合两次看到的结果,理解ARP 高速缓存的作用。

答:容结果不相同。ARP高速缓存是动态的,每当发送一个指定地点的数据报且高速缓存中不存在当前项目时,ARP便会自动添加该项目。计算机进行路由选择时首先在ARP高速缓存中查找,如果没有找到,再通过广播请求消息来查找。

步骤7:重复步骤4—5,将此结果保存为“ARP-2-学号”;

步骤8:打开arp-1-学号,完成以下各题:

1))在截获的报文中由几个ARP 报文?在以太帧中,ARP 协议类型的代码值是什么?

答:4个,在以太帧中,ARP 协议类型的代码值是IP(0x0800)

a)分析arp-1 中ARP 报文的结构,完成表5.4。

1.B 编程构造IP数据包部分

使用C语言构造IP数据包程序。

4

相关主题
相关文档
最新文档