zoukankan      html  css  js  c++  java
  • Wifidog的协议梳理

    上篇文章结合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

  • 相关阅读:
    Table.Combine追加…Combine(Power Query 之 M 语言)
    Table.NestedJoin合并…Join(Power Query 之 M 语言)
    Delphi Post登陆Delphi盒子论坛源码
    分享一个函数GetStr
    用友生产工艺路线导入工具1.1
    笔下文学小说下载【3.01】 发布
    U6 3.2盘点单管理1.01
    防止SQL SERVER的事件探查器跟踪软件
    双系统的安装(原创)
    2345导航自动登陆签到【1.01】
  • 原文地址:https://www.cnblogs.com/meetrice/p/4211496.html
Copyright © 2011-2022 走看看