IOS系统Wi-Fi图标无法点亮及Portal弹出慢问题

近期,部分客户反馈,少量的 IOS 或 OS X 终端,在使用 Portal 认证的情况下,会出现认证卡住、Portal 页面弹出慢、Wi-Fi 图标点不亮等问题,且其他 Wi-Fi 厂商客户也爆出了一样的问题。

通过对这些问题做了详细的分析,目前得出以下结果,简要描述为:最近苹果终端的 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图标出现,流程结束。
966e11927d70aaf0da3b25a3d4a090fd.jpg
【正常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图标。
050e22cd381938496b892bb3e6808546.jpg
4、终端会自动打开一个页面,在这个页面中再请求一次http://captive.apple.com/hotspot-detect.html,这一次,使用的是HTTP/1.1。
5、此时我们控制器会使用苹果服务器IP给终端回复一个302 moved跳转到http://auth.wifi.com
9e33ad7a3ed6df1782ecc5a7e8061937.jpg
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页面,进入认证过程。
cfef7c0ae873c0752c522ccffe0b5a89.jpg
本文只写了 Portal 页面弹出慢的问题,其他问题欢迎后续和我们的技术人员一起交流。

跟着佐大学OpenWrt开发入门培训班开始报名啦!

课程试听地址:
https://pan.baidu.com/s/13nCmoaXTEfKc9F9-bdtHcA

想法的由来:
一晃30岁了,程序员终究不是铁饭碗,最终"大神"也会离去。但我心中还是有一丝不甘,想留下点技术遗产给新人和后辈。虽然OpenWRT这几年很火,但网络上并没有系统性且高质量的教程,所以一直以来都有做教学视频的想法。与以往不同的是此次并非免费,毕竟倾囊相授希望能有所回报,也请大家谅解。希望若干年后,能用上你们的系统,继续传承这份无私奉献的精神。

受众群体:
学生、爱好者、职场新人,入门班主要作用是带大家梳理知点从整体上认识OpenWrt。授课方式采用的是观看预录的视频,你可以在任意时间段内观看。配合线上的答疑,可以让你更快的进步。

授课方式:
网络授课+线上答疑:视频教学、配合QQ群互动答疑。视频为提前录制,非直播授课。每周1-2次更新,教学时间为3-4个月。

费用说明:
299元人民币/人,在付款后7天内可退款,超过7天不可退款。报名人数少于30人,会全额退款。

报名时间:
2018年4月28日-2018年10月30日,2018年5月中旬开班,超过此时间段报名会继续提供课程相关的线上答疑。

报名方法:
支付宝打款后(支付宝账号:forgotfun@qq.com 陆明峰 299元 备注:报名费),发送邮件到 forgotfun@qq.com ,邮件正文需包含:QQ号、联系电话、报名费转款截图凭证。收到邮件后,会在1-2个工作日内与你联系。

教学大纲:
1.路由器硬件、软件的发展历史和演变。
2.路由器的硬件、软件架构分析。
3.OpenWRT开发环境配置。
4.make menuconfig常用选项的含义。
5.Bootloader、固件的关系,以及常见Flash布局方式。
6.固件结构分析,固件头的作用。
7.交叉编译工具链的原理和使用方法。
8.OpenWRT Package结构分析。
9.如何移植、编写简单的软件。
10.OpenWRT UI框架发展历史讲解,石像鬼、X-WRT、Luci。
11.基于uhttpd,lua编写简单的UI界面,基于Luci编写简单的UI界面。
12.OpenWrt常用命令使用方法讲解,bash/lua讲解。
13.OpenWrt UCI框架分析,/etc/config/network、/etc/config/wireless 等文件讲解。
14.OpenWrt sysupgrade命令实现原理分析。
15.OpenWrt 启动过程分析。
16.OpenWrt ipkg软件包结构分析。
17.OpenWrt mtd flash映射关系分析,art、eeprom、nvram、factory分区作用讲解。
18.OpenWrt挂载U盘、SD卡等,讲解hotplug的运行机制。
19.OpenWrt无线工作模式:station模式、ap模式、monitor模式讲解。
20.OpenWrt patch补丁原理。
更新中...

课时安排:
一个时间20-40分钟,由教学内容决定。课时数10-36,由报名人数来决定。课时数算法如下:
30 < 报名人数 < 35人,10课时。
35 < 报名人数 < 40人,12课时。
40 < 报名人数 < 45人,14课时。
45 < 报名人数 < 50人,16课时。
50 < 报名人数 < 55人,18课时。
55 < 报名人数 < 60人,20课时。
60 < 报名人数 < 65人,22课时。
65 < 报名人数 < 70人,24课时。
70 < 报名人数 < 75人,26课时。
75 < 报名人数 < 80人,28课时。
85 < 报名人数 < 90人,30课时。
95 < 报名人数 < 100人,32课时。
105 < 报名人数 < 110人,34课时。
报名人数 > 110人,36课时。

WifiDog在OpenWRT使用过程中的一些注意点

此文总结了当WifiDog跑在OpenWRT上的常见隐患和解决方案:

1)关闭UPNP功能,UPNP简单来说就是一个自动端口映射,此功能会导致QQ等程序在未认证时绕过WifiDog上传和下载数据。

有点累了,改天再完善...

本文章由:http://www.wifidog.pro/2016/12/30/WifiDog%E5%9C%A8OpenWRT%E4%BD%BF%E7%94%A8%E8%BF%87%E7%A8%8B%E4%B8%AD%E7%9A%84%E4%B8%80%E4%BA%9B%E6%B3%A8%E6%84%8F%E7%82%B9.html

解决WiFiDog在高版本内核下不能使用问题

修改wifidog中的utl.c文件, 修改get_iface_ip 函数
if ((sockd = socket (AF_INET, SOCK_PACKET, htons(0x8086))) < 0) {
这句建议修改为 sockfd = socket(AF_INET,SOCK_DGRAM,0);
原因: 新kernel对于原模式过时

本文章由:http://www.wifidog.pro/2016/04/06/%E8%A7%A3%E5%86%B3WiFiDog%E5%9C%A8%E9%AB%98%E7%89%88%E6%9C%AC%E5%86%85%E6%A0%B8%E4%B8%8B%E4%B8%8D%E8%83%BD%E4%BD%BF%E7%94%A8%E9%97%AE%E9%A2%98.html整理编辑,转载请注明出处