根据802.11 标准,无线网络 SSID 是一个长度为 0-32 的八位字节字符串。从理论上讲,这意味着“\0\0\0”(即三个空字符)是有效的 SSID。虽然这听起来很疯狂,但我在现实生活中见过类似的事情。我正在尝试测试一些扫描无线网络的软件,需要测试它是否可以处理这种疯狂的 SSID(这可能会使字符串处理功能出错)。但是,我很难创建一个 SSID 包含空字符的临时网络。我曾尝试iwconfig
在 Linux 上使用,可以设置 SSID,但不能设置为任何包含空字符的内容。关于如何创建 SSID 包含空字符的网络,有什么想法吗?基于 Linux 或 Windows 的解决方案是可以接受的,并且编写少量代码就可以了。
答案1
在 Kali Linux 和 Ubuntu 中,这是一个驱动程序问题。在我的扫描中,\0\0\0 ssid 始终是 5ghz 网络。驱动程序在 2.4GHZ 扫描中检测到它,并且无法正确显示 5ghz SSID。
尝试写下 bssid,然后强制适配器进入您想要的频段。然后您应该在扫描中看到附加到 bssid 的正确 ssid。这在 Kali 中已经是一个令人烦恼的问题。通常我看到卡/适配器也有“负一”问题。
答案2
您可以使用hostapd在 Linux 上创建一个广播带有空字符的 SSID 的接入点。
这可以通过ssid2在 hostapd 配置文件中设置。例如,在 hostapd.conf 中设置以下内容:
ssid2=P"\x00\x00\x00"
将导致 hostapd 使用三个空(\0)字节的 SSID 进行通告。
有关更多信息ssid2在此处设置:https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf