为什么如果我通过 Wi-Fi 连接并向同一 Wi-Fi 中的另一个设备发送数据包,链路层中的目标 MAC 地址不是 AP 的?

为什么如果我通过 Wi-Fi 连接并向同一 Wi-Fi 中的另一个设备发送数据包,链路层中的目标 MAC 地址不是 AP 的?

在里面IEEE 802.11协议中,链接帧中第二个地址为发送方MAC地址,第一个地址为接收方MAC地址,也就是美联社如果发送方是站点,则为地址;如果发送方是 AP,则为目标站点。

就我的情况而言,因为我用Wireshark从我的角度来看,如果我发送ICMP例如,我应该将我的 MAC 地址视为第二个地址,将 AP MAC 地址视为第一个地址。

但:

在此处输入图片描述

源地址是我的计算机。目标地址是我的手机,也就是我向其发送 ICMP 数据包的设备。响应数据包中的情况也正好相反。

此外,链路层显示为“以太网”,但我通过 Wi-Fi 连接,因此应该显示 IEEE 802.11,但我看到了这里Wi-Fi 接口通常表现为以太网接口,因此它们会呈现以太网转换的数据包,以方便操作系统管理它们,或诸如此类的事情......

答案1

你看到的是模仿由操作系统(或 Wi-Fi 适配器的固件;我不太确定是哪一个)提供的以太网头。

真正的 802.11 标头是故意隐藏的,并且链接类型总是说的是“以太网”——并不是操作系统试图简化管理;而是因为规范是这么说的。根据 802.11 规范,Wi-Fi 接口应该向上层呈现一个与 802.3 兼容的链路层,以便将其直接桥接到实际的以太网,即使它们在底层使用了更复杂的东西。(我认为这与使用“媒体转换器”用于其他“基于 XYZ 的以太网”技术(如 HomePlug 或 ADSL)没有太大区别。)

要查看正在发送/接收的真实 802.11 标头,您必须为 Wireshark 启用“监控模式”。其中将有MAC 地址 — 发送方、接收方和 AP。

(假设站点是发送者或接收者。但是,存在一种用于无线桥接的“4 地址”模式,又称西门子数据系统,其中有源、目标、AP,站点 MAC 地址均位于同一帧中。

在IEEE 802.11协议中,链路帧中,第二个地址为发送方MAC地址,第一个地址为接收方MAC地址,如果发送方是station,则为AP地址,如果发送方是AP,则为目标station。

不,不完全是那样。

Wi-Fi 接入点是桥梁,与有线交换机一样,它们在链路层是不可见的。如果发送方是站点,那么目的地是不是AP – 这是实际目标主机的 MAC 地址,否则网桥如何知道将数据包传送到哪里?它不会查看 IP 报头;这是路由器的工作。

(当然,除非目的地是与 AP 相同的路由器,在这种情况下,目的地 MAC 地址通常与 AP 的 MAC 地址非常相似)基础服务识别码有时甚至相同,或者只有一位不同。这可能是通过家庭网关访问互联网时的常见情况——但不要由此得出假设。)

真正的 802.11 报头也携带 AP 的 MAC 地址,但第三字段与原始发送者和接收者分开。如果您启用“监控模式”来捕获 802.11 帧,您将看到来自站点的帧有两个目标 MAC 地址。

(但不要被 Wireshark 的解析器所混淆,它以两个不同的名称显示两次相同的字段 - 其中一些实际上对应于相同的字节。)

相关内容