计算机网络-实验6:网路层-ICMP,ARP协议

实验报告 理解网络层ICMP、ARP协议工作原理

实验要求:

本次实验两人一组,配合完成。

一位同学的机器设为主机A,一位同学的机器设为主机B

主机A同学填写本机IP地址设置信息:

主机A的IP地址:  192.168.112.7                                       

主机A的子网掩码: 255.255.255.0                                        

主机A的默认网关: 192.168.112.254                                        

主机B同学填写本机IP地址设置信息::

主机B的IP地址:   192.168.112.8                                      

主机B的子网掩码:  255.255.255.0                                        

主机B的默认网关:  192.168.112.254                                       

任务1、通过执行ping命令,理解ICMP协议询问报文。

Ping命令执行,发送方发送4个ICMP请求报文,接收方返回4个ICMP响应报文,可检测收发双方网络层是否连通。示例如下:

——在wireshark中,开始抓包

——在各自机器命令提示符窗口,执行:  Ping 同组另一机器IP

——在wireshark中,停止抓包

——在捕获的数据包中,找到发送的4个ICMP请求报文,填写下表。

ICMP请求报文

Type 类型

Code 代码

checksum

Sequence number

第1个

Type: 8 (Echo (ping) request)

Code: 0

Checksum: 0x4d5a [correct]

Sequence number (BE): 1 (0x0001)

Sequence number (LE): 256 (0x0100)

第2个

Type: 8 (Echo (ping) request)

Code: 0

Checksum: 0x4d59 [correct]

Sequence number (BE): 2 (0x0002)

Sequence number (LE): 512 (0x0200)

第3个

Type: 8 (Echo (ping) request)

Code: 0

Checksum: 0x4d58 [correct]

Sequence number (BE): 3 (0x0003)

Sequence number (LE): 768 (0x0300)

第4个

Type: 8 (Echo (ping) request)

Code: 0

Checksum: 0x4d57 [correct]

Sequence number (BE): 4 (0x0004)

Sequence number (LE): 1024 (0x0400)

——在捕获的数据包中,找到发送的4个ICMP响应报文,填写下表。

ICMP响应报文

Type 类型

Code 代码

checksum

Sequence number

第1个

Type: 0 (Echo (ping) reply)

Code: 0

Checksum: 0x555a [correct]

Sequence number (BE): 1 (0x0001)

Sequence number (LE): 256 (0x0100)

第2个

Type: 0 (Echo (ping) reply)

Code: 0

Checksum: 0x5559 [correct]

Sequence number (BE): 2 (0x0002)

Sequence number (LE): 512 (0x0200)

第3个

Type: 0 (Echo (ping) reply)

Code: 0

Checksum: 0x5558 [correct]

Sequence number (BE): 3 (0x0003)

Sequence number (LE): 768 (0x0300)

第4个

Type: 0 (Echo (ping) reply)

Code: 0

Checksum: 0x5557 [correct]

Sequence number (BE): 4 (0x0004)

Sequence number (LE): 1024 (0x0400)

任务2、通过执行tracert,理解ICMP协议差错报文。

tracert命令,每次发送3个探测IP数据报,依次设置TTL=1,2,3,4……。每经过一台路由器转发,TTL自动减1,路由器丢弃TTL=0的数据报,并返回ICMP差错报告。

——在wireshark中,开始抓包

——在各自机器命令提示符窗口,执行: tracert www.zzu.edu.cn

——在wireshark中,停止抓包

——在捕获数据包中,找到第一次发送和接收的3对ICMP报文,填写下表。

ICMP报文

IP首部信息

ICMP报文信息

发送IP

目的IP

TTL

Type

Code

第1个ICMP

请求报文

Source: 192.168.112.7

Destination: 202.196.64.48

Time to live: 1

Type: 8 (Echo (ping) request)

Code: 0

第1个ICMP

差错报文

Source: 192.168.112.254

Destination: 192.168.112.7

Time to live: 64

Type: 11 (Time-to-live exceeded)

Code: 0 (Time to live exceeded in transit)

第2个ICMP

请求报文

Source: 192.168.112.7

Destination: 202.196.64.48

Time to live: 1

Type: 8 (Echo (ping) request)

Code: 0

第2个ICMP

差错报文

Source: 192.168.112.254

Destination: 192.168.112.7

Time to live: 64

Type: 11 (Time-to-live exceeded)

Code: 0 (Time to live exceeded in transit)

第3个ICMP

请求报文

Source: 192.168.112.7

Destination: 202.196.64.48

Time to live: 1

Type: 8 (Echo (ping) request)

Code: 0

第3个ICMP

差错报文

Source: 192.168.112.254

Destination: 192.168.112.7

Time to live: 64

Type: 11 (Time-to-live exceeded)

Code: 0 (Time to live exceeded in transit)

问:第一次返回的3个ICMP差错报文,带回的地址,是否是默认网关的地址?

答:      是                       

——在捕获数据包中,找到最后一次发送和接收的3对ICMP报文,填写下表。

ICMP报文

IP首部信息

ICMP报文信息

发送IP

目的IP

TTL

Type

Code

第1个ICMP

请求报文

Source: 192.168.112.7

Destination: 202.196.64.48

Time to live: 5

Type: 8 (Echo (ping) request)

Code: 0

第1个ICMP

差错报文

Source: 202.196.79.14

Destination: 192.168.112.7

Time to live: 251

Type: 11 (Time-to-live exceeded)

Code: 0 (Time to live exceeded in transit)

第2个ICMP

请求报文

Source: 192.168.112.7

Destination: 202.196.64.48

Time to live: 5

Type: 8 (Echo (ping) request)

Code: 0

第2个ICMP

差错报文

Source: 202.196.79.14

Destination: 192.168.112.7

Time to live: 251

Type: 11 (Time-to-live exceeded)

Code: 0 (Time to live exceeded in transit)

第3个ICMP

请求报文

Source: 192.168.112.7

Destination: 202.196.64.48

Time to live: 5

Type: 8 (Echo (ping) request)

Code: 0

第3个ICMP

差错报文

Source: 202.196.79.14

Destination: 192.168.112.7

Time to live: 251

Type: 11 (Time-to-live exceeded)

Code: 0 (Time to live exceeded in transit)

任务3、学会用arp命令查看ARP地址解析表。

——在自己机器的命令提示符窗口,输入命令:arp  a

查看自己机器的ARP地址解析表内容(目的主机IP地址,对应的网卡地址)

——在自己机器的命令提示符窗口,输入命令:arp  d

清空自己机器的ARP地址解析表

——在各自机器命令提示符窗口,执行: ping  202.196.64.202

                                    (www.zzu.edu.cn的IP地址)

——在自己机器的命令提示符窗口,输入命令:arp  a

问:ARP地址解析表中是否添加了,默认网关IP地址对应其网卡地址记录?

答:192.168.112.254       00-1a-a9-15-3d-ab

 192.168.112.255       ff-ff-ff-ff-ff-ff

 224.0.0.22            01-00-5e-00-00-16                  

问:ARP协议为什么解析到的是默认网关IP的网卡地址,而不是目的主机202.196.64.202(www.zzu.edu.cn)的网卡地址?为什么?

答:   每一台主机都设有一个ARP高速缓存(ARP cache),里面有本局域网上的各主机的和路由器的IP地址到硬件地址的映射表,这些都是该主机目前知道的一些地址。

  1. ARP进程在本局域网上广播发送一个ARP请求分组
  2. 在本局域网上的所有主机上运行的ARP进程都收到此ARP请求分组
  3. 主机B的IP地址与ARP请求分组中要查询的IP地址一致,就收下这个ARP请求分组,并向主机A发送ARP响应分组,同时在这个ARP响应分组中写入自己的硬件地址。
  4. 主机A收到主机B的ARP响应分组后,就在其ARP高速缓存中写主机BIP地址到硬件地址的映射。

因而ARP协议解析到的是默认网关IP的网卡地址,而不是目的主机202.196.64.202(www.zzu.edu.cn)的网卡地址。                                                                

任务4、理解ARP地址解析过程,两人一组(一个为主机A,一个为主机B)。

修改主机A的IP地址设置为:

IP地址   10.2.2.?设置为:个人学号后3位,不和其他同学冲突)

子网掩码255.255.254.0,删除默认网关IP地址

主机A的子网地址为:   10.2.2.123(老师,我学号后三位514,不能用) 

修改主机B的IP地址设置为:

IP地址10.2.3.? ?设置为:个人学号后3位,不和其他同学冲突)

子网掩码255.255.254.0,删除默认网关IP地址

主机B的子网地址为:   10.2.3.122                                       

——在各自机器的命令提示符窗口,输入命令:ARP d(清空地址解析表)

——在各自机器的命令提示符窗口,输入命令:ARP a(看不到对方网卡地址)

——在各自机器的wireshark中,开始抓包

——在各自机器的命令提示符窗口,输入命令:ping 对方主机IP

——在各自机器的wireshark中,停止抓包

Ping 命令发送4个ICMP请求报文,封装成帧时,需要知道目的主机的网卡地址,但是在自己的ARP地址解析表没有找到(是老师让你清空的,对不起!)。

系统自动启动ARP协议,先获得对方的网卡地址,然后才能发送ICMP请求报文。

——在各自机器wireshark中,找到发出的ARP请求数据报(broadcast广播帧),    

    ARP响应数据报,填写下表。

ARP请求request  (问:目的IP 被分配给哪块网卡了?别藏了,快告诉我!)

Hardware type

Hardware type: Ethernet (1)

protocol type

Protocol type: IPv4 (0x0800)

hardware size

Hardware size: 6

protocol size

Protocol size: 4

opcode

Opcode: request (1)

发送IP地址

Sender IP address: 10.2.2.123

发送MAC网卡地址

Sender MAC address: Elitegro_0b:5f:4b (94:c6:91:0b:5f:4b)

目的IP地址

Target IP address: 10.2.3.122

目的MAC网卡地址

Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)

ARP响应replay (答:目的IP绑定我的网卡,告你网卡地址,往卡上打钱吧!)

Hardware type

Hardware type: Ethernet (1)

protocol type

Protocol type: IPv4 (0x0800)

hardware size

Hardware size: 6

protocol size

Protocol size: 4

opcode

Opcode: request (1)

发送IP地址

Sender IP address: 192.168.112.75

发送MAC网卡地址

Sender MAC address: LcfcHefe_6c:e7:c5 (54:e1:ad:6c:e7:c5)

目的IP地址

Target IP address: 192.168.112.254

目的MAC网卡地址

Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)

——在各自机器的命令提示符窗口,输入命令:ARP a(显示地址解析表)

    一次ARP解析,双方ARP解析表中都缓存了对方网卡地址记录。

    (就问了一次话,双方的网卡都暴露给对方了。)

问:查看自己机器上的ARP地址解析表,新添加的对方网卡地址是什么?

答:   10.2.3.122      94-c6-91-0e-21-69

10.2.3.135      94-c6-91-0e-20-e3

10.2.3.255      ff-ff-ff-ff-ff-ff                                       

任务5、ARP、ICMP协议综合实验(上接任务4的设置,继续两人一组

主机A的子网掩码 修改 为:255.255.255.0   (非常重要!!!)

主机B子网掩码 不变 还为:255.255.254.0

——在各自机器的命令提示符窗口,输入命令:ARP d(清空地址解析表)

——在各自机器的命令提示符窗口,输入命令:ARP a(看不到对方网卡地址)

——在wireshark中,开始抓包

——在主机A的命令提示符窗口,执行 ping  主机B的IP地址

    (主机A的同学操作,双方共同观察结果!)

——在wireshark中,停止抓包

问:A、B双方连通了吗?ICMP错误提示是什么? 

答:  没有连通,提示为PING传输失败General failure。                                 

——主机A的命令提示符窗口,输入命令:arp a

问:是否看到主机B的MAC地址解析记录?

答:        看不到                           

——主机B 的命令提示符窗口,输入命令:arp a

问:是否看到主机A的MAC地址解析记录?

答:        看不到                           

问:在wireshark抓包记录中,能找到到ICMP请求与响应报文吗?

答:         找不到                          

问:A、B双方为什么没有连通? 

答:      不在同一子网                             

——在各自机器的命令提示符窗口,输入命令:ARP d(清空地址解析表)

——在各自机器的命令提示符窗口,输入命令:ARP a(看不到对方网卡地址)

——在wireshark中,开始抓包

——主机B 的命令提示符窗口,执行ping主机A的IP地址

    (这次主机B同学操作,双方共同观察结果!)

——在wireshark中,停止抓包

问:A、B双方连通了吗?ICMP错误提示是什么?

答:         没有,提示为请求超时                          

——主机B 的命令提示符窗口,输入命令:arp a

问:是否看到主机A的MAC地址解析记录?

答:         可以看到                              

——主机A的命令提示符窗口,输入命令:arpa

问:是否看到主机B的MAC地址解析记录?

答:        不能                           

问:在wireshark抓包记录中,能找到ICMP请求与响应报文吗?

答:         可以找到请求报文,没有响应报文                          

问:A、B双方为什么没有连通? 为什么只有4个ICMP请求,没有响应报文?

答:    因为主机A没有主机B的MAC地址解析记录                               

为什么不通?

主机A对主机B说:你骗我!咱俩明明在一个子网中,你不理我。

主机B对主机A说:我冤枉,我没骗你!事实是我啥也没做啊。

 分手吧......

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

古月亚金名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值