无线热点认证解决方案  WifiDog

无线热点认证解决方案 WifiDog

GPLv2
C/C++ SHELL 查看源码»
Linux
2015-04-01

WifiDog 是一款开源的用来实现无线认证的软件,可以集成到路由器或者网关中,对于连接到路由器或者网关的设备,使其先登录云端认证服务器,然后通过认证才能上网。比如在星巴克上网,浏览器会先弹出一个广告页面,我们输入手机号,获取验证码,然后就可以上网了。

网关心跳(Ping协议

Wifidog将ping协议做为心跳机制向认证服务器发送当前状态信息。这可以实现为认证服务器每个节点的状态生成中央日志。

Wifidog客户端在conf文件中进行设置,目的是通过http定期启动thread(ping_thread.c)向认证服务器发送状态信息。信息格式如下:

http://auth_sever/ping/?    
gw_id=%s
sys_uptime=%lu    
sys_memfree=%u    
sys_load=%.2f    
wifidog_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

的码云指数为
超过 的项目
加载中

评论(6)

酷聊_爱你美
酷聊_爱你美
NET.WLAN.WIFI.AEP.WAP.MCI.等等无线芯片加卫星接收器,接合实际情况思路大胆点,就会创新改革新的WLAN不要在其它人的老路上思考问题,小心误导。
丶struggle
丶struggle
如何使用啊 完全看不懂
YuKunYi
YuKunYi
之前实现了一个认证服务器。0 WifiDog
理工小强
理工小强
应该保留人家官网的地址,wifidog不是国产的 http://dev.wifidog.org/ WifiDog
loyal
loyal
?这个属于?包装wifidog? WifiDog
他好像条狗啊
他好像条狗啊
赞! WifiDog

暂无资讯

6
回答
一个让人揪心的刷新固件的问题

大家知道一般固件后缀名为.bin,但我遇到了一个路由器备份的固件文件是如下 象这种固件怎么刷进去呢?

2017/06/25 15:17
1
回答
wifidog认证中的mac指的是谁的

做了一下测试,其中认证地址是 http://wifidog.com/index/login/?gw_address=192.168.11.1&gw_por...

2017/06/24 14:38
1
回答
百米生活路由器连接自己搭建的authpuppy测试问题

朋友给了我一个百米路由器,接着我想在局域网环境下测试认证效果。 首先在本机上建了一个虚拟机,装好了authpuppy,接着一顿设置,但是令人恶心的是,怎么...

2017/06/24 11:30
1
回答
authpuppy如何掌握它的奇淫巧技

authpuppy是认证wifidog的好工具,但我在实践中发现它的安装说明太隐晦了,安装说明让人扑朔迷离。 先说说我的情况。首先安装环境是centos6...

2017/06/22 14:44
2
回答
360 小米WiFi 上网DNS认证的原理分析下

我现在在用c#请问有什么参考的源码吗? 认证上网的原理是什么 ? 现在已经做出了云端的路由器认证上网 但是想给非智能路由器 开发一个WiFi认证到云端的客...

2015/05/15 22:41

没有更多内容

加载失败,请刷新页面

没有更多内容

wwas 重磅发布,配套apfree wifidog的认证上网服务后台

wifidog做为一个轻量级的基于网关设备的广告营销解决方案,一直以来都在业界有着广泛的使用。但由于缺乏有效的投入,原版开源的wifidog在稳定性和性能上一直被诟病。开源apfree wifidog的发布...

2018/08/22 14:03
43
0
wlan网页登录认证原理

解答一: 它叫做 Captive portal,请自行wiki 算了,还是简单说一下吧 实现方法不止一种 方案一 DNS跳转,把客户端所有的dns请求都解析为认证服务器的ip,然后认证服务器上有404跳转 或者用d...

2014/09/25 14:43
553
2
luci实现的wifidog认证服务

利用luci写了个wifidog认证服务,实现直接openwrt路由器本地认证。直接安装ipk安装包,然后修改/etc/wifidog.conf文件(需要先安装wifidog),如下: AuthServer { Hostname 192.168.1.1 ...

2014/12/26 11:05
6.4K
2
linksys54g刷机及wifidog配置等等总结

最开始想用openwrt,刷了一个,结果发现不会用,里面配置太复杂了,被wan lan搞晕了,一直无法联网,因为在公司路由器本来在一个局域网下,没办法请公司SA帮忙弄了哈,也没有搞定,换DDWRT吧...

2013/10/25 17:34
6K
2
Wifidog 认证系统定制开发

WifiDog-全球最专业的无线热点解决方案

2015/03/12 17:56
126
0
WifiDog 配置参数视频详解

WifiDog 配置参数视频详解

nodogsplash在指定网络下工作

nodogsplash是附加于openwrt的WIFI热点认证程序,工作在路由器下的局域网内,接管路由器上多个热点的认证服务。

2015/05/12 18:27
224
0
X86 DD-WRT WifiDog 配置详解

X86 DD-WRT WifiDog 配置详解

没有更多内容

加载失败,请刷新页面

返回顶部
顶部