我监控了我的家庭 Wifi,以检查我的任何设备(Windows PC、Linux PC、三星手机、iPhone)是否会发送包含我家路由器的 SSID 的探测请求,即使路由器已关闭。
通过分析 Wireshark 输出,我注意到我的设备仅广播带有“SSID=broadcast”的探测请求,除非我的路由器启动并广播其自己的 SSID。
所以我的问题是,即使目标路由器超出范围,是否有任何设备/操作系统会在探测请求数据包中发送其注册的 SSID 列表?我猜这可能是一个安全漏洞……
答案1
所有 Wi-Fi 客户端都必须在探测中指定 SSID如果他们希望加入一个“隐藏的”(又名“封闭的”,非广播 SSID)网络。
许多客户端可能都进行了安全优化,他们会记录下任何记住/首选的网络是否是隐藏网络,并且如果他们试图重新加入的网络未被发现是隐藏网络,他们就不会费心进行定向(指定 SSID)探测。
此外,隐藏网络通常仍必须响应广播(未指定 SSID)探测请求,它们只会响应不带 SSID 信息元素 (IE) 或零长度 SSID IE,或充满空 (0x00) 字节的 SSID IE。因此,除非广播探测显示隐藏网络在范围内,否则许多客户端可能不会进行定向探测。
因此,要真正了解您的客户端是否可以通过定向探测泄露 SSID(即使您的网络不存在),请按照以下步骤操作:
- 配置AP使用新的SSID做隐藏网络。
- 从测试中的客户端加入该网络,并告诉他们记住该网络(将其添加到首选网络列表中)。
- 暂时关闭你的客户端。
- 关闭该 AP 但启动另一个具有不同 SSID 的 AP,也处于隐藏网络模式。
- 启动嗅探器,然后启动客户端。查看它们是否进行定向探测以显示您的第 1 步 AP 的 SSID,因为它们知道这是一个隐藏网络,并且它们在范围内看到一个隐藏网络。