Wifidog的协议梳理

简介: 上篇文章结合wifidog的协议,讲解了如何实现wifi认证。这篇文章会详细讲解一下wifidog的协议。 wifidog的认证流程图 用户连接WIFI会跳转到以下地址: 1 2 3 4 5 6 7 http://auth_server/login?...

上篇文章结合wifidog的协议,讲解了如何实现wifi认证。这篇文章会详细讲解一下wifidog的协议。

wifidog的认证流程图

wifidog

  • 用户连接WIFI会跳转到以下地址:
1
2
3
4
5
6 7 
http://auth_server/login?gw_id=[GatewayID, default: "default"]gw_address=[GatewayAddress, internal IP of router]gw_port=[GatewayPort, port that wifidog Gateway is listening on] url=[user requested url]  auth_server #即认证的域名 gw_id #配置的网关名称 gw_address #回调的内网地址 gw_port #回调的端口 

在这个阶段需要返回登录的页面,即授权的首页,并且需要将所有涉及跳转的第三方地址加入白名单

  • 当验证用户身份之后,即用户登录成功之后重定向到网关地址
1
2
3
http://GatewayIP:GatewayPort/wifidog/auth?token=[auth token]  auth token #系统为用户生成的token 
  • 网关地址接受到消息后,会周期的发送用户信息,并确认是不是允许继续网络访问 请求地址
1
2
3
4
5
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 
http://auth_server/auth/index.php? stage=counters ip= mac= token= incoming= outgoing=   ip,mac,token为用户的基本信息,incoming/outgoing为用户的连接计数信息,用来限定用户是否可以继续连接  此时auth_server需要返回该请求: 0——拒绝,删除防火墙内用户以及用户的信息 6——用户验证失败,超时,会删除防火墙内信息(即会重新要求登录) 1——用户验证通过,并跳转到http://auth_server/portal/?gw_id=%s 5——用户需要验证,允许规则内的访问进行验证 -1——用户验证出错,用户可以继续访问网络  返回数据格式: Auth: <number from user status list> Auth: 1 #中间有个空格 
  • 系统会周期性发送心跳包,用来确认网关验证和认证服务器的正常工作请求地址
1
2
3
4
5
6 7 8 9 
http://auth_sever/ping/? gw_id=%s sys_uptime=%lu sys_memfree=%u sys_load=%.2f wifidog_uptime=%lu  auth_server此时需要返回“Pong可以通过该心跳包来监控整个认证的工作 

相关资料:
认证流程图:http://dev.wifidog.org/wiki/doc/developer/FlowDiagram
认证的login协议: http://dev.wifidog.org/wiki/doc/developer/LoginProtocol
认证的客户端协议:http://dev.wifidog.org/wiki/doc/developer/ClientProtocol
认证过程中的心跳包协议:http://dev.wifidog.org/wiki/doc/developer/PingProtocol

目录
相关文章
|
17天前
|
缓存 网络协议 数据库连接
【底层服务/编程功底系列】「网络通信体系」深入探索和分析TCP协议的运输连接管理的核心原理和技术要点
【底层服务/编程功底系列】「网络通信体系」深入探索和分析TCP协议的运输连接管理的核心原理和技术要点
10 0
|
17天前
|
网络协议 安全
【底层服务/编程功底系列】「网络通信体系」带你攻克网络技术之TCP协议的三次握手和四次链接的技术盲区
【底层服务/编程功底系列】「网络通信体系」带你攻克网络技术之TCP协议的三次握手和四次链接的技术盲区
27 0
|
2月前
|
网络协议 应用服务中间件 数据安全/隐私保护
网络协议的初步认识-以详细案例分析
网络协议的初步认识-以详细案例分析
16 0
|
8月前
|
存储 网络协议 数据处理
面试官,设计一个RPC协议?我...
面试官,设计一个RPC协议?我...
75 0
|
6月前
|
架构师 测试技术
为什么有了《技术协议》,还要《产品需求规格说明书》
为什么有了《技术协议》,还要《产品需求规格说明书》
|
7月前
|
网络协议
网络通信协议整体框架
网络通信协议整体框架
34 0
|
8月前
|
网络协议 安全 Unix
网络原理之传输层与网络层重点协议
介绍传输层和网络层重点协议,重点介绍TCP原理
|
9月前
|
网络协议 数据安全/隐私保护
数据链路层的重点协议
数据链路层的重点协议
|
测试技术 领域建模 数据库
建立领域驱动设计统一过程
建立领域驱动设计统一过程
建立领域驱动设计统一过程
|
自然语言处理 负载均衡 网络协议
软件测试|常见接口协议解析
软件测试|常见接口协议解析
98 0
软件测试|常见接口协议解析