文章目录
一、数据链路层
实作一 熟悉 Ethernet 帧结构
使用 Wireshark 任意进行抓包,熟悉 Ethernet 帧的结构,如:目的 MAC、源 MAC、类型、字段等。
Destination是目的MAC地址,source是目的MAC地址,type是使用的ip协议
Ethernet 帧结构主要包括以下:
⑴ 前导码(Preamble):由0、1间隔代码组成,用来通知目标站作好接收准备。以太网帧则使用8个字节的0、1间隔代码作为起始符。IEEE 802.3帧的前导码占用前7个字节,第8个字节是两个连续的代码1,名称为帧首定界符(SOF),表示一帧实际开始。
⑵ 目标地址和源地址(Destination Address & Source Address):表示发送和接收帧的工作站的地址,各占据6个字节。其中,目标地址可以是单址,也可以是多点传送或广播地址。
⑶ 类型(Type)或长度(Length):这两个字节在Ethernet II帧中表示类型(Type),指定接收数据的高层协议类型。而在IEEE 802.3帧中表示长度(Length),说明后面数据段的长度。
⑷ 数据(Data):在经过物理层和逻辑链路层的处理之后,包含在帧中的数据将被传递给在类型段中指定的高层协议。该数据段的长度最小应当不低于46个字节,最大应不超过1500字节。如果数据段长度过小,那么将会在数据段后自动填充(Trailer)字符。相反,如果数据段长度过大,那么将会把数据段分段后传输。在IEEE 802.3帧中该部分还包含802.2的头部信息。
⑸ 帧校验序列(FSC):包含长度为4个字节的循环冗余校验值(CRC),由发送设备计算产生,在接收方被重新计算以确定帧在传送过程中是否被损坏。
✎ 问题
你会发现 Wireshark 展现给我们的帧中没有校验字段,请了解一下原因。
答:因为尾部四个字节的校验字段都wireshark被过滤了
实作二 了解子网内/外通信时的 MAC 地址
ping 你旁边的计算机(同一子网),同时用 Wireshark 抓这些包(可使用 icmp 关键字进行过滤以利于分析),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址是多少?这个 MAC 地址是谁的?
发出帧的目的MAC地址:00:74:9c:9f:40:13
返回帧的源 MAC 地址:00:f4:8d:8d:eb:07
目的MAC是主机的
然后 ping qige.io (或者本子网外的主机都可以),同时用 Wireshark 抓这些包(可 icmp 过滤),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址是多少?这个 MAC 地址是谁的?
发出帧的目的 MAC 地址以及返回帧的源 MAC 地址:
这个目的MAC是网关的
再次 ping www.cqjtu.edu.cn (或者本子网外的主机都可以),同时用 Wireshark 抓这些包(可 icmp 过滤),记录一下发出帧的目的 MAC 地址以及返回帧的源 MAC 地址又是多少?这个 MAC 地址又是谁的?
ping baidu.com
目的MAC是网关的
✎ 问题
通过以上的实验,你会发现:
访问本子网的计算机时,目的 MAC 就是该主机的
访问非本子网的计算机时,目的 MAC 是网关的
请问原因是什么?
答:网关是出入本子网和其他子网需要到达的地方,不出入子网就不需要经过网关,所以访问本子网的计算机时目的MAC是主机的,而访问本子网外的主机目的MAC就是网