Wifidog分析wifidog認證閘道器協議v1

weixin_33978044發表於2015-04-01

原文連結: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=%ssys_uptime=%lusys_memfree=%usys_load=%.2fwifidog_uptime=%lu

通過系統呼叫wifidog客戶端收集的資料

Headers

HTTP/1.0\r\n

User-Agent: WiFiDog %s\r\n

Host: %s\r\n 

\r\n,

一個標準的HTTP需求應該是:

GET /ping/?gw_id=001217DA42D2

&sys_uptime=742725

&sys_memfree=2604

&sys_load=0.03

&wifidog_uptime=3861 HTTP/1.0

User-Agent: WiFiDog 1.1.3_beta6

Host: wifidog.pro

認證伺服器認證協議

這個頁面描述了當使用者已經被認證並允許訪問網際網路時,為了認證使用者和程式,wifidog閘道器和認證伺服器之間的資訊傳送。

Wifidog客戶端將定期的啟動一個thread來報告每個使用者的連線狀況。目前它被用來報告每個使用者輸入/輸出計數器,以顯示使用者依然在現,並允許認證伺服器將不再連線的使用者斷開。

以下是發給每個線上使用者的資訊

auth_server:/auth/index.php?stage=ip=mac=token=incoming=outgoing=

注意:stage=計數器/登入,取決於是否是新客戶端

即使輸入輸出變數會在所有資訊中出現,但他們只對處於counter階段的資訊有效。其它情況下輸入輸出經常設定為0。

在做回覆時,認證伺服器會以有效身份或新使用者資訊,或者認證伺服器錯誤提示形式進行回覆。

回覆格式如下:

Auth:

新使用者狀態為:

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

6 - AUTH_VALIDATION_FAILED - User email validation timeout has occured and user/firewall is deleted

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

5 - AUTH_VALIDATION - Permit user access to email to get validation email under default rules

-1 - AUTH_ERROR - An error occurred during the validation process

注意:認識伺服器錯誤一般不會改變防火牆或使用者狀態

標準的URL為:

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: WiFiDog 1.1.3_beta6

Host: wifidog.pro

閘道器重定向瀏覽器

客戶端瀏覽器在不同情況下會被重定向到其它頁面:

初始化請求:

基於捕捉,客戶端會被閘道器重定向到以下URL:

login/?gw_address=%s&gw_port=%d&gw_id=%s&url=%s例如:https://wifidog.pro/login/?gw_id=0016B6DA9AE0&gw_address=7.0.0.1&gw_port=2060

初始化請求之後

當請求被處理並且客戶端已經被重定向到閘道器時

如果伺服器回覆AUTH_DENIED:注意你通常在標準認證伺服器上看不到這樣的提示。客戶端將不會被重定向回閘道器。

gw_message.php?message=denied

如果伺服器回覆AUTH_VALIDATION:

gw_message.php?message=activate

如果伺服器回覆AUTH_ALLOWED:這是門戶重定向:

portal/?gw_id=%s

如果伺服器回覆AUTH_VALIDATION_FAILED:注意你將不會在標準認證伺服器看到此回覆。客戶端將不會重定向回閘道器。

gw_message.php?message=failed_validation

認證伺服器重定向瀏覽器

基於成功登入,客戶端將被重定向到閘道器。 http://" . $gw_address . ":" . $gw_port . "/wifidog/auth?token=" . $token

URL示例:

http://192.168.1.1:2060/wifidog/auth?

token=4f473ae3ddc5c1c2165f7a0973c57a98

本文章由

http://www.wifidog.pro/2015/04/01/Wifidog%E5%88%86%E6%9E%90wifidog%E8%AE%A4%E8%AF%81.html整理編輯,轉載請註明出處

相關文章