wifidog接口文檔

wifidog是搭建無線熱點認證系統的解決方案之一,他比nocat更適合互聯網營銷思路。目前支持openwrt系統,他實現了路由器和認證服務器的數據交互,在路由器方是用C語言代碼,通過wifidog程序和linux iptables防火牆實現接入用戶的認證跳轉和控制,在認證服務器方是通過php實現用戶的認證流程和管理。
優點:有開源代碼,可以很方便的搭建認證系統。
缺點:通過iptables方式實現,性能比較差,整體拉低了路由器的數據包處理速度,協議比較繁瑣,對認證服務器的造成性能損耗比較大,在安全方面都是明文傳輸,有一定的安全隱患。

以集客盒子爲例畫個流程圖:

wKioL1NZ98fSlo6qAAL7oRQHbdQ160.jpg

網關心跳協議

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=3861HTTP/1.0
User-Agent:cnrouterwifidog
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-Userfirewallusersaredeletedandtheuserremoved.
1-AUTH_ALLOWED-Userwasvalid,addfirewallrulesifnotpresent

例子:

GET/auth/?stage=counters&ip=7.0.0.107&mac=00:40:05:5F:44:43&token=4f473ae3ddc5c1c2165f7a0973c57a98&incoming=6031353&outgoing=827770HTTP/1.0
User-Agent:cnrouterwifidog
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:cnrouterwifidog
Host:auth.cnrouter.com

註冊協議

平臺確定成功註冊用戶,開通互聯網權限,將用戶請求重定向到路由器,完成註冊。

請求格式:

http://gw_ip/wifidog/auth?
token=

例子:

GETwifidog/auth?token=12312412124
User-Agent:iphone
Host:路由器ip
註冊請求成功,以307的方式跳轉平臺的portal/?gw_id=
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章