IOS系统Wi-Fi图标无法点亮及Portal弹出慢问题
近期,部分客户向信锐一线工程师和400电话反馈,少量的 IOS 或 OS X 终端,在使用 Portal 认证的情况下,会出现认证卡住、Portal 页面弹出慢、Wi-Fi 图标点不亮等问题,且其他 Wi-Fi 厂商客户也爆出了一样的问题。
信锐技术支持中心(SUNDRAY TAC)紧急响应,对这些问题做了详细的分析,目前得出以下结果,简要描述为:最近苹果终端的 Wi-Fi 功能,在某些认证方式的场景下出现了一些问题,通过信锐技术研究分析,发现这些问题和 Wi-Fi 设备本身没有关系,导致的原因是苹果服务器和苹果终端延迟发包。目前我司设备已经有了规避措施。信锐技术也第一时间联系了 Apple 公司的400和技术支持中心,暂时还未取得相关的技术解决回复。信锐技术承诺如有新的进展我们会第一时间给出解决方案并同步给广大用户。
上述内容是分析后的结论,可能有人还是没有感觉。如果你想了解更为详细的分析过程,下面的内容足够满足你,准备好了吗?
【正常iOS系统点亮WiFi图标过程】
1、连上WiFi后iOS会自动发起探测帧:http://captive.apple.com/hotspot-detect.html
2、首先DNS解析该域名,然后自动发送一个HTTP/1.0的探测帧请求到http://captive.apple.com/hotspot-detect.html
3、终端接收到苹果服务器探测回应,如果回应报文头部为success,那么认为网络是通的,同时,状态栏的WIFI图标出现,流程结束。
【正常iOS系统自动弹出portal流程】
1、连上WiFi后iOS会自动发起探测帧:http://captive.apple.com/hotspot-detect.htm
2、首先DNS解析该域名,然后自动发送一个HTTP/1.0的探测帧请求到 http://captive.apple.com/hotspot-detect.html
3、终端接收到探测回应,回应报文头部不是success,不点亮WiFi图标。
4、终端会自动打开一个页面,在这个页面中再请求一次http://captive.apple.com/hotspot-detect.html,这一次,使用的是HTTP/1.1。
5、此时我们控制器会使用苹果服务器IP给终端回复一个302 moved跳转到http://auth.wifi.com
6、接下来便进入到portal页面及认证流程并点亮WiFi图标,流程结束。
【部分iOS WiFi图标无法点亮、portal页面弹出缓慢原因】
目前出现的苹果终端WiFi图标无法点亮、portal页面弹出缓慢的问题,从问题终端抓包分析,该终端在走到正常流程第三步后,没有再继续下面的流程,发HTTP/1.1的GET包。(也没有发其他数据包,除了探测网关欺骗的ARP包外),一直等到几十秒或几分钟后,才开始继续接下来的流程。
从上面问题终端的数据包截图可以看到,终端在19:26:03收到HTTP/1.0 200 ok包之后,一直等到19:26:47才发出HTTP/1.1 GET包,才开始继续后面的流程。
在这持续的44s时间中,WiFi图标未点亮、portal页面也不会弹出,造成WiFi图标无法点亮、portal页面弹出缓慢,客户认为WiFi连接不上的情况。
从目前部分区域问题终端抓包分析,均为终端自身不再继续发包(除了探测网关欺骗的ARP包外)导致无法重定向,和Wi-Fi设备无关。
【规避措施】
针对以上终端自身不发包行为,从无线上无更多的方法让终端继续发包。出现这种情况时,我司无线设备目前通过规避措施,在SSID中勾选iOS不自动弹出portal页面,用户手动访问网页来解决。或者,可以暂时新建其他的认证方式。
勾选不自动弹portal,用户手动打开浏览器弹出portal页面流程如下:
用户打开浏览器,手动访问任意网页(以下数据包为访问百度新闻),此时终端在GET百度新闻时,控制器使用百度新闻的IP给终端回复302 moved temporarily跳转到http://auth.wifi.com弹出portal页面,进入认证过程。
本文只写了 Portal 页面弹出慢的问题,其他问题欢迎后续和我们的技术人员一起交流。