wifidog 接口详解

概述

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 接口详解)