wifidog 接口详解

作者: 3c937c88e6c0 | 来源:发表于2015-01-30 14:30 被阅读118次

    概述

    wifidog:是搭建无线热点认证系统的解决方案之一,他比nocat更适合互联网营销思路。目前支持openwrt系统,他实现了路由器和认证服务器的数据交互,在路由器方是用C语言代码,通过wifidog程序和linux iptables防火墙实现接入用户的认证跳转和控制,在认证服务器方是通过php实现用户的认证流程和管理。

    优点:有开源代码,可以很方便的搭建认证系统。

    缺点:通过iptables方式实现,性能比较差,整体拉低了路由器的数据包处理速度,协议比较繁琐,对认证服务器的造成性能损耗比较大,在安全方面都是明文传输,有一定的安全隐患。

    认证流程

    注意:

    热点服务器地址为:auth_server

    热点服务器路径为:  /

    网关心跳协议

    Wifidog将ping协议作为心跳机制向认证服务器发送当前状态信息。实现认证服务器和每个节点的状态双向健康监测的机制。

    请求信息:

    http://auth_sever/ping/?

    gw_id=%s

    sys_load=%lu

    sys_memfree=%u

    sys_load=%.2f

    wifidog_uptime=%lu

    回复格式:Pong

    例子:

    GET /ping/?                                                      gw_id=001217DA42D2&sys_uptime=742725&sys_memfree=2604&sys_load=0.03&wifidog_uptime=3861 HTTP/1.0

    User-Agent:cnrouter wifidog

    Host: auth.cnrouter.com

    用户状态心跳协议

    请求格式:

    http://auth_server/auth/?    (因文明发贴将:换为&)

    stage=

    ip=

    mac=

    token=

    incoming=

    outgoing=

    注意:

    ip,mac,token为用户的基本信息,incoming/outgoing为用户的连接计数信息。

    stage=counter|login|logout,分别表示:已认证,新认证用户,超时需要删除的用户。

    回复格式:

    Auth: 状态码  (注意 中间冒号和状态码之间有个空格)

    状态码:

    0 - AUTH_DENIED - User firewall users are deleted and the user removed.

    1 - AUTH_ALLOWED - User was valid, add firewall rules if not present

    例子:

    GET /auth/?stage=counters&ip=7.0.0.107&mac=00:40:05:5F:44:43&token=4f473ae3ddc5c1c2165f7a0973c57a98&incoming=6031353&outgoing=827770 HTTP/1.0

    User-Agent:cnrouter wifidog

    Host: auth.cnrouter.com

    跳转协议

    对于新连接用户,路由器将其产生的任意url请求通过302重定向到认证平台.

    请求格式:

    http&//auth_server/login/?  (因文明发贴将:换为&)

    gw_id=

    gw_address=

    gw_port=

    mac=

    url=

    例子:

    GET /login/?gw_id=808100949391&gw_address=192.168.81.1&gw_port=80&mac=aa:bb:cc:dd:cc:ee&url=http&//www.sina.com.cn/ HTTP/1.0

    User-Agent:cnrouter wifidog

    Host: auth.cnrouter.com

    注册协议

    平台确定成功注册用户,开通互联网权限,将用户请求重定向到路由器,完成注册。

    请求格式:

    http://gw_ip/wifidog/auth?

    token=

    例子:

    GET wifidog/auth?token=12312412124

    User-Agent:iphone

    Host:路由器ip

    注册请求成功,以307的方式跳转平台的 portal/?gw_id=

    本文由http://www.wifidog.pro/2014/12/19/wifidog-%E6%8E%A5%E5%8F%A3%E8%AF%A6%E8%A7%A3.html 整理编辑,转载请注明出处

    相关文章

      网友评论

        本文标题:wifidog 接口详解

        本文链接:https://www.haomeiwen.com/subject/eiylxttx.html