最近连接互联网的方式变了,登入 wifi 还需要再过一道身份验证, 而这个身份验证过段时间是会到期的,而到期后我的 pc 经常不会再提示我登录, 看来我又需要增加一点奇怪的知识。
我的网络访问环境最近发生了变更,上网前要有一个登录的动作,类似于很多酒店的做法, 连上 wifi 先重定向到一个登录页面,登录上去了,才能上网。
但是与住酒店不同,这个网络环境是我每天都要用的,虽说它也不是每天都要我登录, 但还是要隔三岔五登录一回。所以没过多久我就感觉到了这个问题。 就是隔段时间我的电脑就连不上网了,原因肯定是因为登录超期, 但是这个时候登录页面又没有及时跳出来,我无法再次登录, 无法登录也就意味着我没办法上网。
这个情况当然也不是没有解法,「网吧三连招」最后一招重启一般是可以解决的。 不过用网吧三连招总是感觉过于万能且有点粗鲁,也不像是解决问题的态度, 所以我还是花了点时间研究了一下这个问题。
其实这个问题恐怕归结于有些名词其实我们在平时并不常用,或者准确一点, 起码是我自己不熟悉,否则这个问题还挺容易定位的。
我们常说的 wifi 登陆页面,技术层面其实叫强制门户「Captive Portal」, 有了这个信息,配合搜索引擎或者模型,其实就很容易解释了。 这个机制可能也不只是为 wifi 设计的,各个操作系统在连接网络时, 都有一套机制去检测当前的网络状态,来判断当前网络环境是否有强制门户。
基本上,操作系统都会去访问一个固定的网址,寻求一个 204 的 http 代码, 如果这个地址的服务器能返回给他 204,那么操作系统就认为它可以正常连接网络。 如果不能,一般情况下,网络设备会把这个地址重定向到强制门户。
我的环境前面已经介绍过了,隔几天会有网络设备已判定我需要重登, 但操作系统又没有弹出重登页面,于是电脑也就一直在断线状态。 这个我想应该是复杂网络环境引起,比如我们除了物理的出口网卡外, 还有一个接管所有流量的虚拟网卡,因为强制门户从物理网卡那边把我们断掉了, 而系统测试网络时,流量又被虚拟网卡接管, 虚拟网卡估计也不会去注意到强制门户的事情,于是就导致了断线。
比较彻底的解决方式,我想是降低网络环境的复杂度, 让系统直接通过物理网卡去检测网络,但是这样开开关关的, 感觉还不如直接上网吧三连招。所以我需要一个更直接一点的方法。
一种做法是,记下强制门户的网页地址,每次断网直接访问强制门户。这不失为一种办法, 而且非常有效,如果有缺点的话,我想可能是如果我们接触到了多个这样的网络, 时间长了可能是收藏夹里可能会放一堆这种东西。
但是我还是想再进一步,有没有可以简单印到脑子里的方法,当然, 我也不想把每个强制门户的地址给背下来。转了一圈,感觉我可以用这个来破冰: msftconnecttest.com。
这个地址其实就是 windows 用来确认我们是否已联网的地址, 我们在浏览器里直接访问这个地址,一般情况,只要被网络出口捕获到, 我们就可以被重定向到强制门户。
其实总结下来,就是手工触发强制门户,在 windows 上就是 msfcconnecttest.com, 在其他系统也有其他类似选择:
品牌手机可能有各自的检测地址,这个搜索品牌 + 强制门户,一般也就能找到了。