Wifidog的协议梳理

上篇文章结合wifidog的协议,讲解了如何实现wifi认证。这篇文章会详细讲解一下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

时间: 2024-08-29 05:41:37

Wifidog的协议梳理的相关文章

物联网常见通信协议与通讯协议梳理【上】- 通讯协议

先说明, 这是在微信公众号看到的,不是自己所写, 觉得别人总结的很好, 就拿过来了.对于学习, 做一个搬运工也不可耻了,将好的知识自己吸收.  在微信公众号里, 没有找到连接. 1  "通信"与"通讯"傻傻分得清 传统意义上的"通讯"主要指电话.电报.电传.通讯的"讯"指消息(Message),媒体讯息通过通讯网络从一端传递到另外一端.媒体讯息的内容主要是话音.文字.图片和视频图像.其网络的构成主要由电子设备系统和无线电系统构

物联网常见通信协议梳理

1  概述 在上一篇文章<物联网常见通信协议与通讯协议梳理[上]-通讯协议>中,对物联网常用通信协议和通讯协议作了区分,并对通讯协议进行了分享:本文将对常用的通信协议进行剖析,重点面向市场上使用率较高的,且又不是诸如TCP/IP之类老生常谈的. 2  近距离通信协议 2.1  RFID RFID的空中接口通信协议规范基本决定了RFID的工作类型,RFID读写器和相应类型RFID标签之间的通讯规则,包括:频率.调制.位编码及命令集.ISO/IEC制定五种频段的空中接口协议. (1)ISO/IEC

物联网常见通信协议RFID、NFC、Bluetooth、ZigBee等梳理

1  概述 在上一篇文章<物联网常见通信协议与通讯协议梳理[上]-通讯协议>中,对物联网常用通信协议和通讯协议作了区分,并对通讯协议进行了分享:本文将对常用的通信协议进行剖析,重点面向市场上使用率较高的,且又不是诸如TCP/IP之类老生常谈的. 2  近距离通信协议 2.1  RFID RFID的空中接口通信协议规范基本决定了RFID的工作类型,RFID读写器和相应类型RFID标签之间的通讯规则,包括:频率.调制.位编码及命令集.ISO/IEC制定五种频段的空中接口协议. (1)ISO/IEC

py知识(每日更新) 7.16

socket套接字 五层协议:从传输层包括传输层以下,都是操作系统版主我们封装的各种head 套接字:他存在于传输层与应用层之间的抽象层 ? 1.避免你学习各层的接口以及协议的使用 socket已经封装好了所有的接口.直接使用这这些接口或者方法即可,提升开发效率. ? 2.在Python中socket就是一个模块.通过调用模块中已经实现的方法建立两个进程之间的通信. 单个客户端通讯 # client端 import socket # 1. 创建socket对象 phone = socket.so

【转】阿里架构总监一次讲透中台架构,13页PPT精华详解

转:https://blog.csdn.net/u011323949/article/details/99542576 本文整理了阿里几位技术专家,如架构总监 谢纯良,中间件技术专家 玄难等几位大牛,关于中台架构的几次分享内容,将业务中台形态.中台全局架构.业务中台化.中台架构图.中台建设方法论.中台组织架构.企业中台建设实施步骤等总共13页PPT精华的浓缩,供大家学习借鉴. 01 阿里业务中台架构图 基础设施服务,即IAAS层,提供硬件底层支持. 基础服务层,即PAAS层,包括分布式服务框架.

asp.net MVC 使用wifidog 协议实现wifi认证

在网上看到的很多实现的wifidog 协议一般都是PHP 的,了解一下PHP 但是比较喜欢.net ,所以实现了简单的一个进行登录认证的功能 (好多协议中的功能目前没有实现) 1. 开发环境(vs2010 ) 2. 路由(支持wifidog协议的 ddwrt ) 3. 环境的配置 主要是进行路由的配置 截图如下: 注意红圈的部分这个我按照php 的配置 asp.net MVC 的配置如下: 端口 9999  authserver path  /login/ 4. MVC 项目布局: loginC

TCP/UDP协议简要梳理

TCP/UDP协议简要梳理 TCP TCP,Transmission Control Protocol,传输控制协议是一种面向连接的.可靠的.基于字节流的传输层通信协议.在因特网协议族中,TCP所在的层位于IP层之上,应用层之下. TCP面向连接.其实网络上的传输是没有连接的,包括TCP也是如此.而TCP所谓的"连接",其实只不过是在通讯的双方维护一个"连接状态",从而从应用层看,它们是连接在一起的.所以,TCP的状态变换非常重要.尤其在进行数据传递前的三次握手和数

Wifidog分析wifidog认证网关协议v1

原文链接:http://dev.wifidog.org/wiki/doc/developer/WiFiDogProtocol_V1 网关心跳(Ping协议)Wifidog将ping协议做为心跳机制向认证服务器发送当前状态信息.这可以实现为认证服务器每个节点的状态生成中央日志.Wifidog客户端在conf文件中进行设置,目的是通过http定期启动thread(ping_thread.c)向认证服务器发送状态信息.信息格式如下: http://auth_sever/ping/? gw_id=%s

通用工业协议(CIP)形式化的安全分析(前期概念的梳理)

1.CIP的概念的梳理 CIP是为开放的现场总线DeviceNet ControlNet   EtherNet/IP 网络提供公共的应用层和设备描述, CIP是基于对象的协议,使用生产者/消费者模型,分为显式报文和隐式报文两种情况.使用的共同的配置文件格式是EDS(电子数据表) ,同时CIP独立于物理层和数据链路层 2.CIP Safety 的概念上的错误纠正 一直以来 国内较早的文献资料上一直将CIP Saftey称为协议.这是没有理清协议的概念和混淆了CIP 协议.CIP Safety 是一