2023年12月19日发(作者:)

在WIFI的应用场景中,有个很典型的应用,叫做Captive Portal,也叫Captive

Web Portal(CWP)。

大致流程是:

1. 用户的移动设备(例如手机)接入WIFI。

2. 打开任意网页。

3. 得到一个类似Login的页面,需要用户填写一些信息,然后提交。

4. 认证通过后,允许自由访问网络,否则无法上网。

电信、移动等运营商经常会推出一些市区里的WIFI,很多用的就是这种方式。还有像机场等地。有个典型的应用,就是杭州的ihangzhou。

iOS,还有Mac OS,都有个功能,当接入无线网络后,会自动检测网络是否通。如果不通,则会自动弹出一个页面,让用户去登录。

Apple把这种功能叫做Captive Network Assistant(CNA)。

其原理如下:

1. 发送一个HTTP/1.0的请求到 /library/test/

2. 接收一个回应,如果回应跟它预计的结果一致,那么认为网络是通的,就不会自动弹出页面。同时,状态栏的WIFI图标出现。流程结束。否则,进入下一步。

3. 如果收到的回应不是它想要的那个,它就认为有CWP存在。

4. 如果有CWP存在,iOS就会自动打开一个页面,在这个页面中再请求一次/library/test/,这一次,使用的是HTTP/1.1。

5. 然后就可以打开Login页面了。

在第2步中,如果有CWP存在,收到的回应通常是一个Login页面,这个和第5步收到的结果应该是一样的。

如果网络能,则可以收到下面的回应。

3.2//EN">SuccessSuccess

只是第2步中,iOS是如何判断的,不得而知。不过只要保证收到上面的响应,则一定能通。

那么,第2步中如果没有收到响应,或是收到了非HTTP 200的响应又会如何呢?

根据我的测试,如果没收到响应,依然会弹出一个窗口。不过,这不是一种正常的CWP状态。

非HTTP 200的情况,我只试了HTTP 302重定向。在这种情况下,iOS不会自动弹出Login页面。

在上面的5步中,得到了一个Login页面,然后又会发生什么呢?

用户拿到Login页面后,应该填写一些信息,并且提交。iOS会在用户提交后,立即发一边第1步中的请求,再次检测网络。如果此时网络还是不通,iOS会自动断开当前的SSID。不过这个行为好像有点不稳定,具体就不细说了。

网络通了后,在iOS上基本有2个现象。一是右上角的“取消”按钮变成”完成“,或是自动关闭这个窗口,行为似乎不太一致。最关键的是顶端状态栏WIFI图标的出现。

从现象上看,只要WIFI图标不出来,iOS就不允许有流外出(部分特殊的除外)。

********** 副作用 **********

iOS的这种行为,其实没给用户多少方便,却会带来不少麻烦。我记得在iOS 4时,还可以选择是否启用auto-login。不过iOS 6已经没有这个选项了。

理论上讲,这个功能最麻烦的就是要保证你所在的网络可以访问/library/test/。如果仅仅是在公司内部网络,不允许访问外网,那么iOS就无法连接了。

【题外话】在iOS 5以前,只有open的SSID才会发test请求。(open的SSID指的是没有802.1X或PSK认证的)。而从iOS 6开始,连上非open的网络也会发这个test了。

所以,在这种内网的情况下,需要防火墙开放的访问,或是WIFI

AP可以支持避开CNA的检测。

我一直没在网上找到关于CNA的判断标准,不知道Apple搞这么个东西干吗。

********** 测试结果 **********

写完此文,心里一直痒痒的,想知道第2步究竟是怎么判断的。于是立即动手测试。

我发现,只要响应页面中,的值是Success,大小写敏感,就可以欺骗iOS了。 </p><p style="text-indent: 2em;";>测了iOS 6.0和Mac OS 10.7,结果都一样。这下我心里释怀了。不知道新版本会不会有变化。该死的苹果。 </p><p style="text-indent: 2em;";> </p><p><p><h2></h2></p></img></p></div></article></div><div class="fzithome-com info"><div><span>本文发布于:2023-12-19,感谢您对本站的认可!</span></div><div><span>本文链接:</span><a href="https://www.fzithome.com/xitong/1702998479a89867.html" title="portal页面自动弹出原理">https://www.fzithome.com/xitong/1702998479a89867.html</a></div><div><span>版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。</span></div></div><span class="tag"><i class="iconfont icon-discount" style="font-size:12px;font-weight:bold;opacity:.7;">本文标签:</i><a href="/tag/421.html" target="_blank">页面</a><a href="/tag/251.html" target="_blank">网络</a><a href="/tag/5422.html" target="_blank">收到</a><a href="/tag/1030.html" target="_blank">响应</a><a href="/tag/156.html" target="_blank">用户</a></span></div><div class="fzithome-com post_comments" id="comments"><div id="comt-respond" class="commentpost"><h4>发布评论 <span><a rel="nofollow" id="cancel-reply" href="#comment" style="display:none;"><small>取消回复</small></a></span></h4><form action="/comment/create/89867.html?safe_token=JiZ46uLY5_2FI0guGo0UFmgG_2BW1yIEGEvBCPCF1kowslQ5kwlSNRunSuygnzpHWzS0mWWB3fV1bnqe4gnSaE5H1A_3D_3D" method="post" name="saypl" id="frmSumbit"><input type="hidden" name="doctype" value="1" /><input type="hidden" name="quotepid" value="0" /><div id="comment-tools"><div class="fzithome-com tools_text"><textarea placeholder="请在这里留言..." name="message" id="txaArticle" class="text input-block-level comt-area" cols="50" rows="4" tabindex="5"></textarea></div></div><div class="fzithome-com psumbit"><input name="sumbit" type="submit" tabindex="6" value="发布" class="button" /></div></form></div><div class="fzithome-com commentlist"><div class="fzithome-com comment-tab"><div class="fzithome-com come-comt">评论列表<span id="comment_count">(有<span id="infocommentnumarea" style="color:#c81111">0</span>条评论)</span></div></div><ul class="diy-comment"></ul></div></div></div><div class="fzithome-com mainr"><div class="widget widget_previous"><h4 class="bar">最近发表</h4><ul><li><a href="/xitong/1700737129a15.html"title='java操作mdb文件' aria-label='java操作mdb文件'>java操作mdb文件</a></li><li><a href="/xitong/1700737600a37.html"title='XLS与MDB文件格式互换' aria-label='XLS与MDB文件格式互换'>XLS与MDB文件格式互换</a></li><li><a href="/xitong/1700738253a67.html"title='DVE用户手册' aria-label='DVE用户手册'>DVE用户手册</a></li><li><a href="/xitong/1700739260a112.html"title='中控考勤软件常见问题' aria-label='中控考勤软件常见问题'>中控考勤软件常见问题</a></li><li><a href="/xitong/1700743483a298.html"title='ASP网站源代码修改方法' aria-label='ASP网站源代码修改方法'>ASP网站源代码修改方法</a></li><li><a href="/xitong/1700744492a349.html"title='弹出提示“初始化网卡信息失败”怎么办' aria-label='弹出提示“初始化网卡信息失败”怎么办'>弹出提示“初始化网卡信息失败”怎么办</a></li><li><a href="/xitong/1700745384a389.html"title='如何将下载的ISO系统碟刻录成光盘或U盘安装' aria-label='如何将下载的ISO系统碟刻录成光盘或U盘安装'>如何将下载的ISO系统碟刻录成光盘或U盘安装</a></li><li><a href="/xitong/1700760126a1111.html"title='GPT系统分区备份还原的解决方案' aria-label='GPT系统分区备份还原的解决方案'>GPT系统分区备份还原的解决方案</a></li><li><a href="/xitong/1700760840a1150.html"title='System Four操作系统和应用软件的备份与恢复' aria-label='System Four操作系统和应用软件的备份与恢复'>System Four操作系统和应用软件的备份与恢复</a></li><li><a href="/xitong/1700761489a1185.html"title='联想一键恢复7.0工程师版安装方法及软件下载' aria-label='联想一键恢复7.0工程师版安装方法及软件下载'>联想一键恢复7.0工程师版安装方法及软件下载</a></li><li><a href="/xitong/1700761787a1201.html"title='一键还原精灵装机版' aria-label='一键还原精灵装机版'>一键还原精灵装机版</a></li><li><a href="/xitong/1700762334a1231.html"title='简述系统故障的恢复策略' aria-label='简述系统故障的恢复策略'>简述系统故障的恢复策略</a></li><li><a href="/xitong/1700762768a1256.html"title='信核CDP备份恢复一体机与其他厂家的产品对比' aria-label='信核CDP备份恢复一体机与其他厂家的产品对比'>信核CDP备份恢复一体机与其他厂家的产品对比</a></li><li><a href="/xitong/1700763312a1283.html"title='Android应用课程设计题目' aria-label='Android应用课程设计题目'>Android应用课程设计题目</a></li><li><a href="/xitong/1700764983a1380.html"title='神舟电脑 笔记本电脑 说明书' aria-label='神舟电脑 笔记本电脑 说明书'>神舟电脑 笔记本电脑 说明书</a></li><li><a href="/xitong/1700765960a1435.html"title='电脑风扇清洁及保养方法' aria-label='电脑风扇清洁及保养方法'>电脑风扇清洁及保养方法</a></li><li><a href="/xitong/1700766224a1449.html"title='电脑蜂鸣详解' aria-label='电脑蜂鸣详解'>电脑蜂鸣详解</a></li><li><a href="/xitong/1700767118a1501.html"title='电脑一进游戏就自动重启怎么办' aria-label='电脑一进游戏就自动重启怎么办'>电脑一进游戏就自动重启怎么办</a></li><li><a href="/xitong/1700767529a1523.html"title='电脑开不了机的解决办法' aria-label='电脑开不了机的解决办法'>电脑开不了机的解决办法</a></li><li><a href="/xitong/1700767847a1542.html"title='调整显卡温度墙的方法' aria-label='调整显卡温度墙的方法'>调整显卡温度墙的方法</a></li></ul></div><section id="aside_about" class="widget widget_aside_about sb br mb"><div class="avatar"><img class="img" src="/view/template/mitiqin/img/tx.jpg" alt="福州电脑网_福州电脑维修_福州电脑之家_福州iThome"/></div><div class="wrap pd"><p class="title">福州电脑网_福州电脑维修_福州电脑之家_福州iThome</p><p class="info">福州电脑维修网(fzithome.com)专业的电脑维修,笔记本维修,上门维修各种电脑,笔记本,平板等,快速上门.电脑知识频道内容覆盖:计算机资讯,电脑基础应用知识,各种电脑故障维修学习,电脑外设产品维修维护,病毒,软件,硬件,常识.</p><ul class="ul clearfix"></ul></div></section><div class="fzithome-com clear"></div><div class="fzithome-com widgets"><h4 class="bar">相关推荐</h4><div class="fzithome-com hot-post"><ul class="clearfix"><li><a href="/biancheng/1772008600a2691731.html"title='让文件共享只限于你的团队:工作组模式指引' aria-label='让文件共享只限于你的团队:工作组模式指引'><span class="sptit">让文件共享只限于你的团队:工作组模式指引</span></a></li><li><a href="/xitong/1772069716a2692427.html"title='不再被网络隔离:快速解决IPv4无法访问的问题' aria-label='不再被网络隔离:快速解决IPv4无法访问的问题'><span class="sptit">不再被网络隔离:快速解决IPv4无法访问的问题</span></a></li><li><a href="/biancheng/1772070322a2692435.html"title='当你的IPv4碰壁时,如何获得网络访问的钥匙' aria-label='当你的IPv4碰壁时,如何获得网络访问的钥匙'><span class="sptit">当你的IPv4碰壁时,如何获得网络访问的钥匙</span></a></li><li><a href="/biancheng/1772234744a2694288.html"title='Win10用户必学:轻松几步教你改网络名称' aria-label='Win10用户必学:轻松几步教你改网络名称'><span class="sptit">Win10用户必学:轻松几步教你改网络名称</span></a></li><li><a href="/biancheng/1772235125a2694293.html"title='让网络更有个性:简单步骤重命名有线连接' aria-label='让网络更有个性:简单步骤重命名有线连接'><span class="sptit">让网络更有个性:简单步骤重命名有线连接</span></a></li><li><a href="/xitong/1772235430a2694297.html"title='解密Win10网络设置——轻松更改为新名称' aria-label='解密Win10网络设置——轻松更改为新名称'><span class="sptit">解密Win10网络设置——轻松更改为新名称</span></a></li><li><a href="/xitong/1772301918a2695045.html"title='《赘婿》弹幕狂欢,海量精彩纷呈到让人震惊,速速学习爬取攻略' aria-label='《赘婿》弹幕狂欢,海量精彩纷呈到让人震惊,速速学习爬取攻略'><span class="sptit">《赘婿》弹幕狂欢,海量精彩纷呈到让人震惊,速速学习爬取攻略</span></a></li><li><a href="/xitong/1772312744a2695161.html"title='WiFi世界的大门:详解SSID与网络安全' aria-label='WiFi世界的大门:详解SSID与网络安全'><span class="sptit">WiFi世界的大门:详解SSID与网络安全</span></a></li><li><a href="/xitong/1772313515a2695171.html"title='WiFi隐身术:让你的网络在众人中消失' aria-label='WiFi隐身术:让你的网络在众人中消失'><span class="sptit">WiFi隐身术:让你的网络在众人中消失</span></a></li><li><a href="/biancheng/1772313821a2695175.html"title='让你的设备更聪明:正确配置SSID的指南' aria-label='让你的设备更聪明:正确配置SSID的指南'><span class="sptit">让你的设备更聪明:正确配置SSID的指南</span></a></li><li><a href="/biancheng/1772313896a2695176.html"title='SSID那些事儿:解析你的无线网络ID' aria-label='SSID那些事儿:解析你的无线网络ID'><span class="sptit">SSID那些事儿:解析你的无线网络ID</span></a></li><li><a href="/biancheng/1772384000a2695970.html"title='入门级攻略:如何配置路由器IP地址并实现即刻网络连接' aria-label='入门级攻略:如何配置路由器IP地址并实现即刻网络连接'><span class="sptit">入门级攻略:如何配置路由器IP地址并实现即刻网络连接</span></a></li><li><a href="/biancheng/1772477289a2697004.html"title='找不到网络?让笔记本电脑重新发现WiFi的三大秘诀!' aria-label='找不到网络?让笔记本电脑重新发现WiFi的三大秘诀!'><span class="sptit">找不到网络?让笔记本电脑重新发现WiFi的三大秘诀!</span></a></li><li><a href="/biancheng/1773560755a2702657.html"title='被误操作禁用的管理账号,如何重新开启,恢复Flash使用?' aria-label='被误操作禁用的管理账号,如何重新开启,恢复Flash使用?'><span class="sptit">被误操作禁用的管理账号,如何重新开启,恢复Flash使用?</span></a></li><li><a href="/biancheng/1773610373a2703218.html"title='从零开始:2025年Windows 11系统官方安装教程,轻松升级你的电脑!' aria-label='从零开始:2025年Windows 11系统官方安装教程,轻松升级你的电脑!'><span class="sptit">从零开始:2025年Windows 11系统官方安装教程,轻松升级你的电脑!</span></a></li><li><a href="/biancheng/1773631841a2703467.html"title='一步到位:从路由器到互联网的全面解析' aria-label='一步到位:从路由器到互联网的全面解析'><span class="sptit">一步到位:从路由器到互联网的全面解析</span></a></li><li><a href="/xitong/1773725963a2704293.html"title='笔记本用无线路由器上网设置教程攻略_怎么用笔记本搭建一个无线网络' aria-label='笔记本用无线路由器上网设置教程攻略_怎么用笔记本搭建一个无线网络'><span class="sptit">笔记本用无线路由器上网设置教程攻略_怎么用笔记本搭建一个无线网络</span></a></li><li><a href="/xitong/1773804123a2705160.html"title='Windows 11 设置电脑密码:新手必看的详细图文教程(附命令行方法)_win11设置密码' aria-label='Windows 11 设置电脑密码:新手必看的详细图文教程(附命令行方法)_win11设置密码'><span class="sptit">Windows 11 设置电脑密码:新手必看的详细图文教程(附命令行方法)_win11设置密码</span></a></li><li><a href="/biancheng/1773830468a2705454.html"title='理解网关地址与IP:网络连接的桥梁' aria-label='理解网关地址与IP:网络连接的桥梁'><span class="sptit">理解网关地址与IP:网络连接的桥梁</span></a></li><li><a href="/biancheng/1773971902a2707033.html"title='MySQL用户管理:删除与权限刷新' aria-label='MySQL用户管理:删除与权限刷新'><span class="sptit">MySQL用户管理:删除与权限刷新</span></a></li></ul></div></div><div class="fzithome-com clear"></div><div class="widget widget_tags"><h4 class="bar">标签列表</h4><ul><li class="submenu"><a target="_blank" href="/tag/245022.html">字体怎么</a></li><li class="submenu"><a target="_blank" href="/tag/244997.html">教你使用</a></li><li class="submenu"><a target="_blank" href="/tag/244977.html">贝视频轻</a></li><li class="submenu"><a target="_blank" href="/tag/244969.html">与恢复</a></li><li class="submenu"><a target="_blank" href="/tag/244938.html">接口传输</a></li><li class="submenu"><a target="_blank" href="/tag/244933.html">时可选整</a></li><li class="submenu"><a target="_blank" href="/tag/244919.html">游戏状态</a></li><li class="submenu"><a target="_blank" href="/tag/244892.html">的外接程</a></li><li class="submenu"><a target="_blank" href="/tag/244872.html">驱动兼容</a></li><li class="submenu"><a target="_blank" href="/tag/244819.html">电脑造成</a></li><li class="submenu"><a target="_blank" href="/tag/244813.html">盘问题</a></li><li class="submenu"><a target="_blank" href="/tag/244773.html">件下载功</a></li><li class="submenu"><a target="_blank" href="/tag/244767.html">安装搜狗</a></li><li class="submenu"><a target="_blank" href="/tag/244672.html">坊巷</a></li><li class="submenu"><a target="_blank" href="/tag/244641.html">键盘自带</a></li><li class="submenu"><a target="_blank" href="/tag/244639.html">允许当前</a></li><li class="submenu"><a target="_blank" href="/tag/244638.html">完整的</a></li><li class="submenu"><a target="_blank" href="/tag/244625.html">无法运行</a></li><li class="submenu"><a target="_blank" href="/tag/244572.html">来捕捉其</a></li><li class="submenu"><a target="_blank" href="/tag/244560.html">有的文件</a></li></ul></div><div class="fzithome-com clear"></div></div></div><footer id="footer"><div class="footer container-w cl"><div class="fnav"></div><span class="copy"> CopyRight © 2022 All Rights Reserved <a href="/" title="福州电脑网_福州电脑维修_福州电脑之家_福州iThome" target="_blank">福州电脑网_福州电脑维修_福州电脑之家_福州iThome</a></span> 备案号:<a target="_blank" rel="nofollow" href="https://beian.miit.gov.cn/" style="font-size: 12px;">豫ICP备2022026798号-13</a></div></footer><script src="/view/template/mitiqin/js/common.min.js?2.3.0"></script><script src="/view/js/xiuno.js"></script><script src="/view/template/mitiqin/js/app.js?2.3.0"></script><div id="gotop"><div style="display: none; margin-bottom:5px;" id="goTopBtn"><a title="返回顶部" class="gotopa"><span class="iconfont icon-rocket-fill"></span></a></div></div></body></html>