我必须检查 WLAN 数据包的多少个字节才能提取 MAC 地址?

我必须检查 WLAN 数据包的多少个字节才能提取 MAC 地址?

我必须检查 802.11(WLAN)数据包的多少个字节才能从数据包头中提取源、目标、接收器和发送器地址?

这个图片建议 WLAN 数据包的报头长度为 20 字节。但是,似乎有一个前导码和一个 PLCP 报头。使用 Wireshark 查看捕获的数据包会发现有一个 Radiotap 报头(在我的文件中长度为 34 或 37 字节),以及一个长度超过 20 字节的 MAC 报头。

为了(始终)能够提取 MAC 标头(802.11g/n)中的四个 MAC 地址,我必须捕获多少个字节(绝对最小值)?

答案1

该图表明 WLAN 数据包的报头长度为 20 个字节。

不,这表明 WLAN标题三十字节长。更准确地说,它是取决于30 字节长,尽管并非所有数据包都具有所有四个 MAC 地址字段,因此报头更短。(也可以更长,使用 QoS 和 802.11n 及更高版本的 HT 控制字段,但这些字段MAC 地址。

因此,正如 Spiff 所指出的,您需要捕获至少 30 个字节才能确保获得所有 MAC 地址。

然而,似乎有一个前导码和一个 PLCP 标头。

这些并没有出现在捕获中。

使用 Wireshark 查看捕获的数据包发现有一个 Radiotap 标头(在我的文件中长度为 34 或 37 字节),

是的,如果您的数据包具有 Radiotap 标头,那么您除了必须捕获 802.11 标头之外,还必须捕获该标头,并且正如 Spiff 所指出的,Radiotap 标头的长度取决于硬件、驱动程序以及数据包的接收或传输方式。

所以,如果如果可以,您应该只使用 802.11 标头进行捕获。这可能可行,也可能不可行,具体取决于您使用的操作系统(*BSD 和 OS X 应该允许您只使用 802.11 标头进行捕获,Linux 可能只允许您获取 Radiotap 标头)。

以及超过20字节的MAC头。

是的,正如所指出的,所讨论的图表确实不是建议标题长度最多为 20 个字节。

答案2

选择 802.11 作为您的接口数据类型 (DLT_IEEE802_11) 并捕获 30 个字节。

如果您确实想捕获最少量并可靠地捕获地址 1 到地址 4,则不应使用 Radiotap (DLT_IEEE802_11_RADIO) 无线电元数据捕获类型,因为它是可变长度的标头。它的长度取决于无线电和驱动程序以及数据包的物理传输和接收的各个方面。

相关内容