无线热点认证解决方案 WifiDog

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: www.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: www.wifidog.pro

网关重定向浏览器

客户端浏览器在不同情况下会被重定向到其它页面:

初始化请求:

基于捕捉,客户端会被网关重定向到以下URL:

login/?gw_address=%s&gw_port=%d&gw_id=%s&url=%s
例如:https://www.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/07/05/wifidog%E8%AE%A4%E8%AF%81-6.html 整理编辑,转载请注明出处

时间: 2024-10-05 20:04:43

无线热点认证解决方案 WifiDog的相关文章

使用wiwiz实现WiFi无线热点认证与计费网关

本文介绍如何利用Wiwiz HotSpot Builder系统在笔记本电脑上创建WiFi无线热点认证网关并实现计费管理. 随着WiFi与WLAN技术的普及,现在,架设一个无线热点变得越来越容易.一般,只需要购买一个普通的无线路由器,通过简单的设置SSID,WEP或WPA加密设置之后就可以组建一个无线局域网了.这种无线局域网在一般的家庭或小型企业中很常见.但是这种应用模式并不能满足商业应用或运营级的企业应用.作为商业应用的无线WiFi热点仅仅为用户提供简单的网络互连是不够的,还需要网络接入的认证机

医院WLAN无线认证解决方案

一.项目背景 随着医疗改革的推进,医院正朝着以终末质量管理向环节质量管理转变,从而提高医疗服务质量,缓和医患关系,提高医院的服务效率.与以病人为中心的服务理念相适应,医院信息化也从传统的内部管理为主的HIS系统,向以病人为核心的临床信息化系统转变.伴随着临床信息化,医院正逐步地实现无纸化.无胶片化和无线化. 随着无线局域网技术的不断成熟和普及,无线局域网在全球范围内医疗行业中的应用已经成为了一种趋势.作为医院有线局域网的补充,无线局域网(WLAN)有效地克服了有线网络的弊端,利用PDA.平板无线

热点认证技术实现

热点认证技术实现 代码可以在https://github.com/zhouyelihua/wifidog-yaha下载 背景 ???当用户靠近路由器时候,打开App时候,会自动连接上金猪酒店提供的网络,当用户离开路由器的时候,或者关闭app之后会断开相关的网络连接. 方案一: 目前的技术调研 IOS的局限性 ?apple公司关于wifi的相关api很少其中开放的api只有以下的代码可以实现扫描周边的wifi列表 objectivee-c - (id)fetchSSIDInfo { NSArray

通过电脑系统开启无线热点

通过电脑系统开启无线热点·教程 现在,无线网络已成为我们惯用的上网手段,因为其方便快捷.当我们只有一台计算机能够联网时,我们会采取开启无线热点的方式,以便于更多的人能够连接网络得以上网.我们所熟悉的开启热点的方式有很多,比如在腾讯电脑管家里免费开启热点,使用360随身wifi等手段.那么不用借助这些软件,只依靠操作系统能否解决开启无线热点的问题呢? 接下来,我们就以Win7为例,给大家演示一下. 首先,为了验证无线热点的开启,我们先查看网络共享中心中的适配器,如下图所示: 接下来,我们打开运行窗

在Ubuntu14.04下使用ap-hotspot建立无线热点(AP mode)

从https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8/+packages 下载最新版ap-hotspot并安装,我使用的是ap-hotspot - 0.3.1-1~webupd8~0.终端下执行sudo ap-hotspot configure 这一步会检查ubuntu的网络和WIFI接口,确定后会提示你配置热点,输入ssid和密码之类的就行了 接着执行sudo ap-hotspot start即可. ×××××××××××××

笔记本作无线热点

目前做无线热点软件比较多.可以去网上找找 win+ R打开命令行 开始--输入cmd 开始-->所有程序-->附件-->命令提示符 输入netsh wlan set hostednetwork mode=allow ssid=wireless key=hello!wireless 再输入 netsh wlan start hostednetwork 以上两条命令结合网卡桥接 打开网络和共享中心-->更改适配器设置-->本地连接-->属性-->共享-->无线网

C#inSSIDer强大的wifi无线热点信号扫描器源码

一个完整的无线信号扫描工具源码,包含了从热点扫描到强度绘制以及信号变换曲线图.源码基于Managed Wifi实现基础功能,Managed Wifi也是开源项目,这个可以在本站搜索到. 指定网卡信号扫描,可以选中本机无线网卡然后扫描周围所有的wifi热点. 热点详细信息的获取,包含热点名称,信号强度,信道占用,加密方式,最大无线传输率以及mac地址等等. Time Graph为各个时间段wifi信号强度的动态曲线图,这个还是非常厉害的. 2.4GHz频段和5GHz频段信道使用情况信道使用情况动态

ezgo建立无线热点(图文)

右键单击任务栏右下角的网络图标,打开"网络管理设置"(或者打开"网络连接) 点击添加>>无线 输入链接名称:如Wi-Fi 无线:SSID(就是你共享出热点的名称),如:shirley_wifi 无线安全:安全>>个人WPA/WPA2  然后输入你的热点密码 IPv4地址:方法:分享 IPv6地址:方法:已禁用 点击确定即可,右下角的网络图标变成 ezgo建立无线热点(图文),布布扣,bubuko.com

Linux下LDAP统一认证解决方案

Linux下LDAP统一认证解决方案 --http://www.cangfengzhe.com/wangluoanquan/3.html 企业内部需要认证的服务很多,员工需要记住很多的密码, 即使对这些服务进行相同的密码设置,也存在很大的安全隐患.笔者目前工作的企业就是如此,每一个新员工的到来管理员都要初始化很多密码,而这些密码都被设置成了“888888”等弱密码,由于各种软件的认证机制之间没有使用一个统一的标准,员工无法一次性修改所有服务的密码,这导致很多即使是入职很久的员工都还在使用这个“众