一:以太网帧
一个完整的以太网帧包含下面的内容:
1 前同步码(前导码)(56比特=7字节)
2 标识以太网帧正式开始的定界符(分隔符SFD)(8比特=1字节)
3 目标MAC地址(48比特=6字节)
4 源MAC地址(48比特=6字节)
5 长度/类型字段(16比特=2字节)
6 第二层以太网帧里的数据体(46-1500字节)
7 数据体长度不足时填充(如果没达到长度的下限要求,需要填充零字符)
8 数据帧检查序列码(Frame Check Sequence)或叫FCS(32比特=4字节)
https://blog.csdn.net/qq_39112646/article/details/86762757#2.3.1%C2%A0%E7%89%A9%E7%90%86%E5%B1%82
故:在Wireshark中物理层传输的数据为 目的地址 源地址 类型 数据
如下图的arp请求数据包
二:Wireshark说明
Wireshark抓包引擎可以捕获到网络第二层以太网帧的数据,但是,它捕获的数据 不含 前导码 和 尾部 FCS码
因为在捕获外连对的以太网帧时,Wireshark的捕获时机要早于FCS码的加入。
对于连入的数据,在Wireshark捕获时,以太网帧里的FCS码也已经被剔除掉了。
三:ARP协议
arp协议在osi模型属于二层协议,在Tcp/Ip模型中属于三层协议
在网络层中比较重要的"搬瓦工"有:ARP、IPv4、IPv6、ICMP和ICMP6
如下图所示,ARP头包含下列的几个域
0字节 | 1 | 2 | 3 | |
硬件类型 | 协议类型 | |||
硬件地址长度 | 协议长度 | 操作类型 | ||
发送方硬件地址(6字节) | 发送方IP地址(4字节) | |||
目标硬件地址 | 目标IP地址 |
1 硬件类型:数据链路层使用的类型数据。大多数情况下,类型都是以太网(类型1)
2 协议类型:ARP请求正在使用的高层协议
3 硬件地址长度:正在使用的硬件地址的长度
4 协议长度:对于指定协议类型所使用的逻辑地址的长度
5 操作类型:ARP数据包的功能 1表示请求 2 表示响应
6 发送方硬件地址:发送者的硬件地址
7 发送方IP地址:发送者的IP地址
8 目标硬件地址:目的接收方的硬件地址(ARP请求中为0)
9 目标IP地址:目的接收方的高层IP地址
四:ARP请求 (共28字节)
从上图可以看出,操作码为1 表示请求,目标硬件地址为0
五:ARP响应(共28字节)
从上图可以看出,操作码变为了2,表示是响应的数据包
发送方的mac地址和IP地址变成了目的mac地址和IP地址
现在知道了192.168.0.1的MAC地址