2013年12月24日星期二

iOS设备连接Wi-Fi时captive portal的困扰

由于工作研究原因,我对iOS和Wi-Fi相关的研究较多,在研究环境中碰到了许多问题,这次主要说一下iOS设备如iPhone和iPad连接Wi-Fi网络时碰到的问题。

iOS系统的一个特性,就是当网络切换时会发起一个请求连接自己的网络检测服务请求,如果发现自己在captive portal后面,就会呼起一个splash page,也就是一个弹窗形式让用户进行网络认证,这个不是默认浏览器,当认证结束,会消失无法保持。
比如如下几个地址,是ios7的检测地址

www.ibook.info 
www.itools.info 
www.airport.us 
www.thinkdifferent.us 
captive.apple.com 
www.appleiphonecell.com 
www.apple.com/library/test/success.html 
在强大的长城阻挡下,这些域名解析出来的IP是访问不到的,所以,造成弹窗无法显示,也不能在splash page页面跳转到正常的captive portal页面
解决方法:将以上域名进行DNS劫持解析到自己指定的IP上,页面配置成
$HTTP["useragent"] =~ “CaptiveNetworkSupport” {
        server.document-root =  ”/opt/piratebox/www/library/test/”
        index-file.names        = ( “success.html” )
        dir-listing.activate    = “disable”
        server.error-handler-404 = “/success.html”
}
即伪装成apple正常的success页面
下面汇总一下各个操作系统进行网络检测所访问的域名服务,可以在captive portal配置中将如下域名添加到白名单中,
Android 系统:
clients3.google.com

iOS for iPhone:
iOS 6系统白名单:
gsp1.apple.com
*.akamaitechnologies.com
www.apple.com
apple.com

iOS 7系统白名单:
www.appleiphonecell.com
*.apple.com
www.itools.info
www.ibook.info
www.airport.us
www.thinkdifferent.us
*.apple.com.edgekey.net
*.akamaiedge.net
*.akamaitechnologies.com

Windows Desktop 系统白名单.
ipv6.msftncsi.com
ipv6.msftncsi.com.edgesuite.net
www.msftncsi.com
www.msftncsi.com.edgesuite.net
teredo.ipv6.microsoft.com


teredo.ipv6.microsoft.com.nsatc.net

标签: ,

0 条评论:

发表评论

订阅 博文评论 [Atom]

<< 主页