fengyuganyu 发表于 2015-11-17 14:12:22

请教手机连接WIFI热点时弹出web界面是什么原理?

最近在想一个问题,当我们在机场或者饭馆连免费的WIFI时,会自动弹出一个web界面认证。这是一个什么原理?
网上搜了下,基本原理是劫持了手机通过热点访问的端口,强制转到web服务器上,那问题来了,当点完连接之后,手机并没有打开浏览器去
访问,那手机上自动弹出浏览器并显示web,这个过程是怎么实现的?
请前辈们指点下。

aozima 发表于 2015-11-17 14:23:40

upnp协议里面有这个功能,也许是通过这个实现的。

qingzhou 发表于 2015-11-17 14:27:48

看看wifidog,nodogsplash

huangqi412 发表于 2015-11-17 14:33:44

跟手机有关大部分如果不自己主动点开浏览器不会弹

fengyuganyu 发表于 2015-11-18 09:37:17

看了点资料貌似nodogsplash可以实现,但是具体原理要怎么实现,我很不理解,手机为什么会自己弹出那个界面

shower.xu 发表于 2015-11-18 10:15:26

rewrite 404 ?

fengyuganyu 发表于 2015-11-19 09:07:45

原理应该搞清楚了,我大致理下。
当手机端或者PC端连上WIFI 热点之后,有些android机会有一个判断Portal(认证)的流程,当android检测到WIFI连上热点之后,会先利用http访问一个固定没有重映射的网站,如果此时热点返回给手机的代码不是204则表示此时需要做Web Portal,这个时候android就会根据热点返回的重映射网址,弹出一个窗口利用webview控件将重映射网址的内容显示出来。这就是为什么有些android机可以自动弹出web 认证界面,而有些机子不会。

fengyuganyu 发表于 2015-11-19 09:08:30

需要在AP端实现热点的Portal,则需要劫持掉STA的80端口就可以了,找时间测试下

yuyu87 发表于 2015-11-19 09:23:48

与手机有关,手机自己处理检测的,

fengyuganyu 发表于 2015-11-19 09:49:59

yuyu87 发表于 2015-11-19 09:23
与手机有关,手机自己处理检测的,

是的,有些手机没有这个检测机制,只有当手机第一次使用浏览器的时候会被重定向指定认证网页

vtte 发表于 2015-11-19 12:57:02

7楼正解,本质上就是一个301302跳转,手机后台会检测
页: [1]
查看完整版本: 请教手机连接WIFI热点时弹出web界面是什么原理?