网络层协议分析

  • 实验目的(共 5 分)(描述本实验的学习目的及你对本实验的学习预期。) 

通过wire shark抓包到的报文对ARP协议、ICMP协议、IP协议进行分析,使其对ARP报文结构、ICMP报文结构、IP报文结构有更深的理解。

  • 实验环境(共5分)(请描述本实验教学活动所使用的实际环境。)

华为eNSP模拟软件

  • 实验任务(共10分)(本实验要求的实验任务完成情况,未完成注明原因。)

(1)ARP 报文结构分析

在主机PC1 上 Ping 主机PC2,利用Wireshark对PC1的Ethernet 0/0/1接口进行数据抓包。筛选出 PC1 的 ARP 报文,在 Wireshark 的过滤器中输入“arp”,查看PC1 收发的 ARP 报文,选择任意一条 ARP 请求报文和响应报文进行详细分析,对比分析ARP 请求报文和响应报文结构,比较ARP 请求报文与响应报文的 5 个关键差别。

(2)IMCP报文结构分析

进入PC3pingPC4,利用Wireshark对PC3的Ethernet 0/0/1接口进行数据抓包,将截获到的ICMP报文信息与ICMP报文格式进行对比分析。

(3)IP报文结构分析

在ICMP协议分析的基础上进行IP协议的分析,利用Wireshark对PC3的Ethernet 0/0/1接口进行数据抓包,将截获到的IP报文信息与IP报文格式进行对比分析。PC3再次pingPC4,指定传输的数据为1500字节,使用数据抓包的报文信息进行IP分片分析。

  • 实验过程:

ARP报文结构:

步骤 1:清空主机 pc1 的ARP 表 在  pc1 终端上,通过命令清空 ARP 表。

步骤 2:使用Wireshark 记录主机 pc1 的所有通信报文 右击 pc1与链路,选择“开始抓包”进行抓包,结果如图 所示。

步骤 3:在主机PC1 上 Ping 主机PC2 在PC 终端上,执行 Ping 命令。

eg:ping 192.168.1.2

步骤 4:在Wireshark 上筛选出 PC1 的 ARP 报文 在 Wireshark 的过滤器中输入“arp”,查看PC1 收发的 ARP 报文。

步骤 05:分析PC1 发出的ARP 请求报文结构 在Wireshark 中选择任意一条 ARP 请求报文进行详细分析,如图所示,将分析结果填写到实验报告表1-1。

步骤 06:分析PC1 收到的ARP 响应报文结构 在 Wireshar 中选择任意一条响应报文进行详细分析,如图所示,分析结果填写到实验报告表 1-2。

步骤 07:对比分析ARP 请求报文和响应报文结构 比较ARP 请求报文与响应报文的 5 个关键差别,并填写表 1-3。

ICMP报文结构:

step1:进入PC3然后执行ping指令pingPC4,利用Wireshark工具对PC3的Ethernet 0/0/1接口进行数据抓包

step2:将截获到的ICMP报文信息与ICMP报文格式进行对比分析

step3:分析 ICMP 报文内容,填写实验报告表 2-1。

step4:PC3 ping PC4 进行连通性测试,并将测试结果填入实验报告表 2-2 中。

IP报文结构:

step1:在ICMP协议分析的基础上进行IP协议的分析,利用Wireshark工具对PC3的Ethernet 0/0/1接口进行数据抓包。

step2:将截获到的IP报文信息与IP报文格式进行对比分析,完成IP报文表格。

step3:进入PC3然后执行ping指令pingPC4,指定传输的数据为1500字节,进行IP分片分析。

 eg:ping 192.168.1.4 -l 1500

step4:利用Wireshark工具对PC3Ethernet 0/0/1接口进行数据抓包

由图可知,1500字节的数据被分成了1480字节和28字节。(UDP首部8字节,所以实际需要传输1500+8字节)。因此当MTU为1500字节的情况下,传输数据超过1500-20-8=1472字节时需要进行IP分片。

  • 实验结果与分析(共50分)(按照实验步骤,写出实验结果并分析。)

任务一:完成ARP报文结构分析

  1. ARP请求报文分析

序号

字段名称

字段长度

起始位置

字段值

字段表示的信息

1

Hardware type

2

第 15  位

00 01

Ethernet

2

Protocol type

2

第 17  位

08 00

IP

3

Hardware size

1

第 19  位

06

6

4

Protocol size

1

第 20  位

04

4

5

Opcode

2

第 21  位

00 01

request

6

Sender MAC address

6

第 23  位

54 89 98 db 0b 6a

HuaweiTe_db:0b:6a

7

Sender IP address

4

第 29  位

c0 a8 01 01

192.168.1.1

8

Target MAC address

6

第 33  位

ff ff ff ff ff ff

Broadcast

9

Target IP address

4

第 39  位

c0 a8 01 02

192.168.1.2

10

数据包的详细内容

2.填写表1-2 ARP应答报文分析

序号

字段名称

字段长度

起始位置

字段值

字段表示的信息

1

Hardware type

2

第 15  位

00 01

Ethernet

2

Protocol type

2

第  17 位

08 00

IP

3

Hardware size

1

第 19  位

06

6

4

Protocol size

1

第 20  位

04

4

5

Opcode

2

第 21  位

00 02

reply

6

Sender MAC address

6

第 23  位

54 89 98 f9 6f 43

HuaweiTe_f9:6f:43

7

Sender IP address

4

第 29  位

c0 a8 01 02

192.168.1.2

8

Target MAC address

6

第 33  位

54 89 98 db 0b 6a

HuaweiTe_db:0b:6a

9

Target IP address

4

第 39  位

c0 a8 01 01

192.168.1.1

10

数据包的详细内容

3.填写表1-3 ARP通信过程报文对比分析

序号

字段名称

请求报文

应答报文

字段值

字段表示信息

字段值

字段表示的信息

1

Opcode

00 01

request

00 02

reply

2

Sender MAC address

54 89 98 db 0b 6a

HuaweiTe_db:0b:6a

54 89 98 f9 6f 43

HuaweiTe_f9:6f:43

3

Sender IP address

c0 a8 01 01

192.168.1.1

c0 a8 01 02

192.168.1.2

4

Target MAC address

ff ff ff ff ff ff

Broadcast

54 89 98 db 0b 6a

HuaweiTe_db:0b:6a

5

Target IP address

c0 a8 01 02

192.168.1.2

c0 a8 01 01

192.168.1.1

6

详细对比描述

请求报文字段Opcode为00 01,表示这是一个ARP请求报文。应答报文为00 02,表示为这是一个ARP应答报文。请求报文的主机的MAC地址是HuaweiTe_db:0b:6a,应答报文的主机的MAC地址是HuaweiTe_f9:6f:43。发送请求报文的主机的IP地址是192.168.1.1,发送应答报文的主机的IP地址是192.168.1.2。请求报文的目标主机的MAC地址为广播地址。应答报文的目标主机的MAC地址是HuaweiTe_db:0b:6a。请求报文的目标主机的IP地址是192.168.1.2,应答报文的目标主机的IP地址是192.168.1.1。

任务二:分析 ICMP 报文结构

分析 ICMP 报文内容,填写表 2-1。

2-1 ICMP 报文结构分析

字段

大小(以字节为单位)

含义

Type

1

ICMP消息的类型

Code

1

代码,用于进一步细分类型

Checksum

2

校验和,用于检验报文完整性

Identifier

2

标识符,用于标识发送方

Sequence

2

序列号,用于标识回显消息的顺序

使用主机PC3 对 PC4进行连通性测试,并将测试结果填入表 2-2 中.

报文

分析点

主机

目的

主机

type

code

Identifier(BE)

Identifier(LE)

Sequence(BE)

Sequence(LE)

通信结果

1

PC3

PC4

08

00

4f70

00 01

可以通信

PC4

PC3

08

00

2072

00 01

任务二:分析 IP 报文结构

以你在wireshark中截获的一个报文为例,根据下图3-1的IP报文格式,填写表3-1对应的IP报文段中的数据。

图3-1 IP报文格式

4

20 bytes

0x00

1500

0x705b

0x01

0

128

ICMP

0x216e

192.168.1.4

192.168.1.3

1480 bytes

表 IP报文值填写

五、实验总结与扩展(共30分) 

任务一:ARP协议分析

(1)ARP 的作用是什么?什么时候需要用到ARP 地址解析?

作用:解决在本地网络中,根据目标设备的IP地址查找其对应的MAC地址的问题。具体而言,当一台设备要与另一台设备进行通信时,它首先会检查目标设备的IP地址是否在同一子网内。如果在同一子网内,就会使用ARP来获取目标设备的MAC地址,以便将数据帧正确发送到目标设备。如果目标设备的IP地址不在同一子网内,设备就会将数据帧发送到网关,由网关进行转发。

情况:本地通信。当两台设备在同一子网内进行通信时,发送方需要知道目标设备的MAC地址,就需要使用ARP解析;ARP缓存失效。如果发送设备的ARP缓存中没有目标设备的MAC地址,或者缓存中的信息已经过期,发送设备会发起新的ARP请求。

(2)不同网络中的ARP 地址解析之间有关联吗?

没有。在不同网络之间,路由器充当网关,负责转发数据包。当一台设备需要与不在同一子网内的设备通信时,它会将数据包发送到网关,由网关负责将数据包从源网络传递到目标网络。在这种情况下,ARP协议并不直接参与目标设备的地址解析,而是依赖路由器的工作。

(3)ARP应用在以太网内,数据链路层是PPP协议的需要地址解析吗?请说明理由。

不需要。在以太网中,ARP是用于将网络层的IP地址映射到数据链路层的MAC地址的,以便在同一局域网内进行通信。相比之下,PPP是一种点对点连接协议,通常用于直接连接两个网络节点,而不是在一个共享的局域网中。在PPP协议中,数据链路层的地址通常是直接由物理层协议(如串口连接)提供的,而不需要ARP来解析。每个PPP连接的两端在建立连接时就会互相确认对方的物理地址。

任务二:ICMP协议分析

(1)简述一下为什么需要 ICMP 协议?

ICMP为IP网络提供了一些重要的控制消息和错误报告:

错误报告: ICMP允许网络设备和主机生成错误报告,以便及时通知其他设备发生了问题。例如,ICMP消息可以指示目标主机不可达、超时、重定向等错误情况。

网络状况反馈: ICMP包括用于检测网络状况和性能的工具,如ping。Ping工具通过发送ICMP Echo请求并等待响应,可以测量两个设备之间的往返时间(Round-Trip Time,RTT),从而评估网络延迟和可达性。

TTL机制: ICMP的TTL字段防止数据包在网络中无限循环。每个路由器或设备在接收到数据包时会减小TTL值,当TTL值降为零时,设备会发送ICMP时间超时消息,并丢弃数据包。这有助于防止网络中的数据包无限制地循环。

路径MTU发现: ICMP协议可以帮助发现网络路径上的最小传输单元(MTU),以便进行合适的分段和重组,以确保大的数据包能够在网络中正确传输。

重定向消息: ICMP允许路由器向主机发送重定向消息,提示主机发送其流量到另一路由器,从而优化网络路径。

(2)为什么要限制失效的 ICMP 差错报文再产生一个 ICMP 报文?

限制失效的 ICMP 差错报文再产生一个 ICMP 报文是为了防止网络中的产生 ICMP 差错报文的设备被用于进行网络攻击或滥用。旨在防范资源耗尽、网络干扰等一些潜在的问题。这通常涉及对生成 ICMP 差错报文的设备进行限制,确保其只在合适的条件下产生响应,并避免被滥用用于网络攻击,有助于提高网络的安全性和可靠性。

任务三:IP协议分析

(1)在IP 包头部,上层协议区域的值是多少?

   上层协议区域的值是ICMP(1)。

(2)IP 头部有多少字节?IP 数据包的有效载荷是多少字节?解释你是怎样确定有效载荷的数量的?

头部有20字节,有效载荷1480字节。有效载荷的长度可以通过总长度字段减去IP头部的长度来确定,在捕捉到的包当中Total Length=1500,Header Length=20,所以有效载荷的长度=1500-20=1480字节

(3)这个IP 数据包被分割了吗?解释你是怎样确定这个数据包是否被分割?

被分割了。标志字段中间的一位是 DF (Don't Fragment) 。只有当 DF=0 时才允许分片。标志字段的最低位是 MF (More Fragment)。MF=1 表示后面“还有分片”。由图可知,这个IP数据包的DF=0,MF=1,表示还有分片,说明这个数据包被分割了。

(4)往同一IP 的数据包哪些字段在改变,而且必须改变?为什么?哪些字段是保持不变的,而且必须保持不变?

必须改变的:identification(标识)、header chechsum(头部检验和)。

标识是源主机赋予IP数据报的标识符,头部检验和用于保证IP数据报报头的完整性。

必须保持不变的:version(版本)、header length(头部长度)、differentiated services field(区分服务)、flags(标记)、 fragment offset(片偏移)、 protocol(协议)、 destination(目的地址)

(5)描述一下在IP 数据包的Identification 字段的值是什么样的?

在IP数据包的Identification字段为0x705b,所有的分片都会有相同的Identification字段值,以便接收端能够将它们重新组装成原始数据包。

  • 17
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值