Captive Portal 认证流程 - 基于 DNS 污染
全局说明
本认证流程基于已有项目扩展。
本认证项目分两部分,分别为:
- self-dns 31573 DNS解析、请求转发等
- self-auth 31574 用户认证等
以下,用户统称为 client,服务器统称 server,服务地址统称 IP,自定义认证页简称 Portal。
认证流程
首次认证
-
client 接入 wifi,并通过浏览器访问网站,如访问 baidu.com,
若此时无网,则 client 设备将主动访问其自身配置的地址验证网络是否可用。
部分设备验证网络地址见附录1。 -
server self-dns 启动 UDP:53 端口监听,当其匹配到设备验证网络地址时,
将请求转发到自定义认证 Portal。 -
client 通过 Portal 发送认证请求到 self-auth 进行校验,校验成功后开通网络访问
非首次认证
- 同首次认证1
- 同首次认证2
- 同首次认证3
- 检查认证记录,若已认证成功,则转发请求到 baidu.com,client 完成请求目标地址
附录
- 部分设备验证网络地址
http://connect.rom.miui.com/generate_204
https://connect.rom.miui.com/generate_204
http://connectivitycheck.platform.hicloud.com
http://edge.microsoft.com/captiveportal
http://captive.apple.com/hotspotdetect.html
http://connectivitycheck.android.com
https://captive.v2ex.co
http://clients3.google.com/generate_204
http://connectivitycheck.gstatic.com/generate_204
https://www.google.com/generate_204