我家里有一个小型网络,由一个名为 airties rt-205 的网络设备和客户端组成。客户端通过无线方式连接到此设备,并通过此设备将其数据包发送到互联网。
我知道无线连接使用 802.11x 协议,有线连接使用以太网协议。如果不正确,请告诉我正确的协议。
问题是为什么使用无线连接时,我在 wireshark 中的第 2 层看到“以太网 II”协议。Wireshark 的第 2 层是否应使用 802.11n(a、b、g、ab……无论使用哪种技术),而不是以太网 II?
我不是在谈论监控模式和管理模式。这与无线网卡模式不同。我认为我应该看到从我的 airties rt-205 设备发送的数据只对我使用无线连接,在wireshark中作为第2层的802.11协议。
提前致谢
答案1
这确实是关于监控模式的。请继续阅读。
802.11 被设计为“无线以太网”,而 802.11 接口传统上以以太网接口的形式呈现给操作系统,因此操作系统只有在数据包被转换回熟悉的以太网 II 或 802.3 帧后才能看到它们。这是使 802.11 正常工作所必需的,而不需要操作系统添加大量代码来理解 802.11 带来的所有新复杂性。
因此,在许多系统上,当您从正常运行、与 AP 关联并传输流量的 802.11 接口捕获数据包时,您将看不到 802.11 标头或 802.11 特定帧。只有在将数据帧转换回有线以太网帧(以太网 II 或 802.3)后,您才会看到它们。
根据您的嗅探器、操作系统和无线驱动程序,您可以告诉嗅探器告诉无线接口您想要以 802.11 格式而不是以太网格式捕获数据包。寻找将接口数据链路类型 (DLT) 从“EN10MB”更改为“IEEE802_11”的方法。
我知道在 macOS 上,除非您将接口置于 802.11 监控模式,否则不会暴露 802.11 特定的 DLT。我怀疑其他环境也是如此。
因此,这实际上可能归结为监控模式。这并不是因为您想看到同一信道上来自其他 BSS 的流量,而是因为某些实现会隐藏这些 DLT,除非它们处于监控模式。