wifidog接口文档

article/2025/9/27 10:06:00
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=




http://chatgpt.dhexx.cn/article/ZBGRnmQS.shtml

相关文章

公共场所wifi认证解决方案wifidog+authpuppy

服务器:linux mint 17.3 authpuppy 路由器:DB120 wifidog 手机一部 一、在OpenWrt的路由器上安装Wifidog应用程序 安装Wifidog程序有两种方式,一种是在刷了OpenWrt的路由器上直接安装Wifidog;或者是把Wifidog直接编译进OpenW…

wifidog 配置文件

下面回到路由器,编辑wifidog.conf,一般情况下,我们之后配置ExternalInterface,GatewayInterface和AuthServer这三项就可以,其他默认。下面是我的配置: opk安装包:luci-app-wifidog-all.ipk 链…

Portal Server搭建(wifidog安装)

可以参考这篇文档: http://dev.wifidog.org/wiki/doc/install/ubuntu/auth-server#Configurelocaleinwifidog.conf 一、 安装前准备 打开终端(用普通用户进入终端,不要用超级用户)。 sudo apt-get update sudo apt-get instal…

wifidog+authpuppy搭建WiFi 接入设备认证测试平台

0:前提 其实搭建认证环境都是基础,重要的是要对WiFidog的代码进行详细的研究,了解清楚wifidog与authpuppy之间进行了哪些数据交互,WiFidog的程序框架及iptables的建立及生效规则,这才是重点。WiFidog和之前nodogsplas…

wifidog authpuppy 服务器搭建

安装环境(64位 Ubuntu 14.04.4 LTS \n \l )一、安装各种软件包1、apache和php sudo apt-get updatesudo apt-get install apache2 php5 复制代码 2、安装数据库(postgresql或者mysql) sudo apt-get install postgresql 复制代码 3、安装需要的库 sudo ap…

wifidog认证流程图

一. 用户上线 1. 用户访问网络,通过iptables将未认证的用户dnat到wifidog进程,wifidog通过307报文将用户重定向到认证服务器 2. 用户打开认证服务器登录页面,输入用户名密码,发送认证请求 3. 认证成功的话服务器会发送302报文&…

wifidog+authpuppy认证页面的配置

路由器上用的是wifidog client,服务器后端管理用的是authpuppy。 首先,选择自己的操作系统,在http://www.authpuppy.org/doc/Main_Page网站里面,我的操作系统是Linux。 然后到这个网站http://www.authpuppy.org/doc/Getting_Star…

openwrt-看门狗watchdog

一、硬件watchdog和软件watchdog Linux内核不仅为各种不同类型的watchdog硬件电路提供了驱动,还提供了一个基于定时器的纯软件watchdog驱动,软件watchdog基于内核的定时器实现,当内核或中断出现异常时,软件watchdog是无法复位系统…

wifidog认证流程(图文版)

学习使用wifidog一段时间了,觉得这玩意真的不错,虽然有些代码写的不够严谨,运行效率不够高,但是少量人数情况下实现portal是很好的方案。 下面是我摘自一个博客的内容和apfree写的文档中的一部分发上来的,希望能对研究…

wifidog 认证

首先简单介绍一下什么是Portal认证,Portal认证,通常也会叫Web认证,未认证用户上网时,设备强制用户登录到特定站点,用户可以免费访问其中的服务。当用户需要使用互联网中的其它信息时,必须在门户网站进行认证…

Wifidog入门教程

曾经撸了两台K2路由器,刷成了华硕固件。以前就比较好奇什么肯德基,星巴克那种连上wifi就弹出一个页面进行验证什么的,是怎么弄的,昨天发现这个华硕固件里有这个功能,就是wifidog。 首先来看截图: 这里打开w…

wifidog安装以及自写wifidog认证服务器

前言 最近在做关于路由器认证相关的工作,由于需求,认证的过程同往常的网页认证有稍许不同,因此,自己开始尝试编写wifidog的认证服务器,查阅了中外的一些资料,现将经验总结一下。 Wifidog的原理 下图是在…

wifidog浏览器弹窗认证 — 基于OpenWRT路由器

一、移植 wifidog功能 1、功能介绍 wifidog是一种能够实现让路由器局域网设备(包括wifi连接和网线连接设备)在上网前先进行 portal认证的工具,主要应用于手机端上网认证,手机在连接wifi后会自动打开浏览器并跳转出 login界面,用户在该页面上…

WiFidog简介

WiFidog简介 WIFIdog是一种新的认证方式,这种认证方式的优势在于安全性高,不容易被破解验证。 客户端发出初始化请求,比如访问www.baidu.com网关的防火墙规则将这个请求重定向到本地网关的端口上。这个端口是Wifidog监听的端口。Wfidog提供一…

安装sysbench

一 安装依赖包 yum install gcc gcc-c autoconf automake libtool mysql-devel vim -y #验证是否安装 rpm -q --qf %{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n gcc \ gcc-c \ autoconf \ automake \ libtool \ mysql-devel \ vim 二 安装 cd /opt && git clon…

sysbench mysql_通过sysbench工具实现MySQL数据库的性能测试

1.背景 sysbench是一款压力测试工具,可以测试系统的硬件性能,也可以用来对数据库进行基准测试。sysbench 支持的测试有CPU运算性能测试、内存分配及传输速度测试、磁盘IO性能测试、POSIX线程性能测试、互斥性测试测试、数据库性能测试(OLTP基准测试)。目…

sysbench 压测 mysql_sysbench压测

一:sysbench的安装遇到的几个问题: 解决办法: yum install automake 解决办法:yum install libtool sysbench 的一些常用参数低版本和高版本是有点区别的大家在测试的时候稍微注意一下: 以下这个版本是0.5版本的但是我…

Sysbench常用命令

1 Sysbench 安装 requirements yum -y install make automake libtool pkgconfig libaio-devel# For MySQL support, replace with mysql-devel on RHEL/CentOS 5yum -y install mariadb-devel openssl-devel mysql-devel# For PostgreSQL supportyum -y install postgresql-…

sysbench性能测试

sysbench的官网地址是:http://sysbench.sourceforge.net Step 1: 下载安装: sysbench-0.5.tar.gz 解压后展开目录如下 [rootlocalhost mnt]# cd sysbench-0.5 [rootlocalhost sysbench-0.5]# ls aclocal.m4 autom4te.cache c…

mysql sysbench_MySQL sysbench基准测试

一、基准测试 参考《高性能 MySQL》第二章。 二、Sysbench sysbench 是开源的跨平台多线程基准测试工具,主要用于测试各种不同系统参数下的 CPU/内存/线程/IO/数据库等方面的性能,数据库目前支持 MySQL/Oracle/PostgreSQL。具体的参数设置,应…