实验Part1 数据链路层实作一 熟悉 Ethernet 帧结构使用 Wireshark 任意进行抓包,查看Ethernet帧结构


目的MAC:zte_2f🇩🇪7b (c8:ea:f8:2f🇩🇪7b)
源MAC:zte_00:00:00 (34:4b:50:00:00:00)
类型:IPv4 (0x0800)
字段:
问题
你会发现 Wireshark 展现给我们的帧中没有校验字段,请了解一下原因。
回答
抓包软件抓到的是去掉前导同步码、帧开始分界符、FCS之外的数据,wireshark把8字节的前序和4字节的FCS都给过滤了。
wireshark中所显示的报文长度是包含14字节以太类型头,但不计算尾部4字节校验FCS值。
即wireshark报文长度大小:14(以太类型头)+20(ip头)+(实际数据)
实作二 了解子网内/外通信时的 MAC 地址
查看本机的地址解析缓存 arp -a
可以发现网关192.168.0.1的MAC为c8-ea-f8-2f-de-7b
ping 你旁边的计算机(同一子网),同时用 Wireshark 抓这些包(可使用 icmp 关键字进行过滤以利于分析),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址是
多少?这个 MAC 地址是谁的?
step1. ping 192.168.0.169
step2. 通过Wireshark,使用显示过滤器 ip.addr == 192.168.0.169 and icmp 抓包
发出帧的目的MAC:Destination: Apple_37:0b:26 (98:46:0a:37:0b:26)
返回帧的源MAC:Source: Apple_37:0b:26 (98:46:0a:37:0b:26)
这个MAC地址是192.168.0.169的。
然后 ping qige.io (或者本子网外的主机都可以),同时用 Wireshark 抓这些包(可 icmp 过滤),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址是多少?这个 MAC 地址是谁的?
step2. 通过Wireshark,使用显示过滤器 ip.addr == 220.181.38.148 and icmp 抓包

发出帧的目的MAC:Destination: zte_2f:de:7b (c8:ea:f8:2f:de:7b)
返回帧的源MAC:Source: zte_2f:de:7b (c8:ea:f8:2f:de:7b)
这个MAC地址是网关的。
再次 ping www.cqjtu.edu.cn (或者本子网外的主机都可以),同时用 Wireshark 抓这些包(可 icmp 过滤),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址又是多少?这个 MAC 地址又是谁的?
step2. 通过Wireshark,使用显示过滤器 ip.addr == 218.70.34.236 and icmp 抓包 
发出帧的目的MAC:Destination: zte_2f:de:7b (c8:ea:f8:2f:de:7b)
返回帧的源MAC:Source: zte_2f:de:7b (c8:ea:f8:2f:de:7b)
这个MAC地址是网关的。
问题
通过以上的实验,你会发现:
访问本子网的计算机时,目的 MAC 就是该主机的
访问非本子网的计算机时,目的 MAC 是网关的
请问原因是什么?
回答
非本子网的信息必定经由子网网关发送给本机,同理本机发送到非本子网的信息的下个地址必定是网关的mac地址。而本子网内的可以直接到达。
实作三 掌握 ARP 解析过程
- 为防止干扰,先使用 arp -d * 命令清空 arp 缓存

ping 你旁边的计算机(同一子网),同时用 Wireshark 抓这些包(可 arp 过滤),查看 ARP 请求的格式以及请求的内容,注意观察该请求的目的 MAC 地址是什么。再查看一下该请求的回应,注意观察该回应的源 MAC 和目的 MAC 地址是什么。
请求的目的MAC:Destination: Broadcast (ff:ff:ff:ff:ff:ff)
回应的目的MAC:Destination: zte_00:00:00 (34:4b:50:00:00:00)
回应的源MAC:Source: Apple_37:0b:26 (98:46:0a:37:0b:26)
次使用 arp -d * 命令清空 arp 缓存
然后 ping qige.io (或者本子网外的主机都可以),同时用 Wireshark 抓这些包(可 arp 过滤)。查看这次 ARP 请求的是什么,注意观察该请求是谁在回应。

最低0.47元/天 解锁文章
2256

被折叠的 条评论
为什么被折叠?



