文章目录
数据链路层
实作一:熟悉 Ethernet 帧结构
使用 Wireshark 任意进行抓包,熟悉 Ethernet 帧的结构,如:目的 MAC、源 MAC、类型、字段等。
Ethernet帧的结构:
前导码 | 帧前定界符 | 目的地址DA | 源地址SA | 类型字段 | 数据字段 | 帧校验字段 |
---|---|---|---|---|---|---|
7B(56位的字节) | 1B(8位) | 6B | 6B | 2B | 46~1500B | 4B |
据上图所示:
目的MAC:9c:fc:e8:c2:11:5e;
源MAC:04:95:e6:bf:fb:e0;
类型:IPv4(0x0800);
问题:
你会发现 Wireshark 展现给我们的帧中没有校验字段,请了解一下原因。
回答:
在物理层上网卡会对帧进行CRC检验,如果帧校验和错误,就会丢弃此帧。
实作二:了解子网内/外通信时的 MAC 地址
1.ping 你旁边的计算机(同一子网),同时用 Wireshark 抓这些包(可使用 icmp 关键字进行过滤以利于分析),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址是多少?这个 MAC 地址是谁的?
根据上图第一行可得其
发出帧的目的 MAC 地址:d4:be:d9:cf:82:6d;
返回帧的源 MAC 地址:9c:fc:e8:c2:11:5e。
目的MAC是旁边主机的。
2.然后 ping qige.io
(或者本子网外的主机都可以),同时用 Wireshark 抓这些包(可 icmp 过滤),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址是多少?这个 MAC 地址是谁的?
此处由于ping qige不显示icmp,因此选择ping百度
ping www.baidu.com
根据上图第一行可得其
发出帧的目的 MAC 地址:04:95:e6:bf:fb:e0;
返回帧的源 MAC 地址:9c:fc:e8:c2:11:5e。
目的MAC是网关的。
3.再次 ping www.cqjtu.edu.cn
(或者本子网外的主机都可以),同时用 Wireshark 抓这些包(可 icmp 过滤),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址又是多少?这个 MAC 地址又是谁的?
ping www.cqjtu.edu.cn
根据上图第一行可得其
发出帧的目的 MAC 地址:04:95:e6:bf:fb:e0;
返回帧的源 MAC 地址:9c:fc:e8:c2:11:5e。
目的MAC是网关的。
问题:
通过以上的实验,你会发现:
1.访问本子网的计算机时,目的 MAC 就是该主机的
2.访问非本子网的计算机时,目的 MAC 是网关的
请问原因是什么?
回答:
访问本子网的计算机可以直接到达,不需要经过网关,因此目的MAC是主机;而网关是出入子网时需要到达的地方,因此访问非本子网的计算机时的目的MAC是网关。
实作三:掌握 ARP 解析过程
1.为防止干扰,先使用arp -d *
命令清空 arp 缓存