wifidog是搭建无线热点认证系统的解决方案之一,比nocat 更适合互联网营销思路。实现了路由器和认证服务器的数据交互,在路由器方是用C 语言代码,通过wifidog 程序和linux iptables防火墙实现接入用户的认证跳转和控制,在认证服务器方是通过php 实现用户的认证流程和管理。
优点:有开源代码,可以很方便的搭建认证系统,很容易移植到其他平台。
缺点:通过iptables方式实现,性能比较差,整体拉低了路由器的数据包处理速度,协议比较繁琐,对认证服务器的造成性能损耗比较大,在安全方面都是明文传输,有一定的安全隐患。

这里是官方提供的wifidog 的流程:

主要用到的API:
1)跳转协议
对于新连接用户,路由器将其产生的任意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:wifidog
Host:wifidog.pro

2)注册协议
平台确定成功注册用户,开通互联网权限,将用户请求重定向到路由器,完成注册。
请求格式:
http://gw_ip/wifidog/auth?
token=
例子:
GET wifidog/auth?token=12312412124
User-Agent:iphone
Host:路由器ip

3)用户状态心跳协议
请求格式:
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:wifidog
Host:wifidog.pro
注册请求成功,以307的方式跳转平台的portal/?gw_id=

4)网关心跳协议
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:wifidog
Host:wifidog.pro

wifidog认证接口相关推荐

  1. wifidog java_家用环境下部署wifidog认证服务器(java版)

    本文所讲的是基于一个java版wifidog认证服务器的开源项目,在windows环境下搭建wifidog认证服务器配合apfree固件实现用户名密码的认证. 大致步骤如下: 一,准备 1.搭建硬件及 ...

  2. 禅道PMS兼容redmine用户认证接口

    项目地址:https://github.com/web3d/zentao-redmine-userauth zentao-redmine-userauth 做了一个基本的用户认证接口,兼容redmin ...

  3. wifidog 认证

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

  4. 个人身份认证接口介绍

    个人身份认证接口主要是用于互联网核验用户信息的真实性,比如在各类网站发布信息需要实名.注册域名需要实名.办理固定电话入网需要实名.线上购买金融产品需要实名等,总之,在很多业务场景中都会需要用户进行实名 ...

  5. 身份证人脸认证接口是如何识别网络诈骗?

    日常新闻里大家总能或多或少地看到类似这样的信息:不法分子利用盗取或者非法买卖的他人身份证件进行诈骗,比如利用他人身份信息注册社交.游戏.交易等网络平台,通过平台伺机寻找容易下手的目标,不仅给受害者带来 ...

  6. 别无分号只此一家,Python3接入支付宝身份认证接口( alipay.user.certify)体系(2021年最新攻略)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_184 目前国内身份认证体系做的比较不错的大抵就是支付宝和微信两家了,支付宝的身份验证基于支付宝app的实人认证能力,采用多因子认证 ...

  7. 手机二要素认证接口怎么用?手机号姓名验证怎么操作?

    手机二要素认证接口起源于数字手机时代,二十一世纪初期,互联网络诞生了网上电商.金融.通讯.网吧等产业,开始实行实名认证制. 手机二要素验证主要用于国内三大通信运营商业务(包括:移动.联通.电信三大运营 ...

  8. ibm tivoli_在Tivoli Access Manager上为电子商务编写外部认证接口服务器

    ibm tivoli 自1995年以来,IBM专家Ori Pomerantz就一直致力于保护计算机网络的安全(并向其他人展示了如何做到这一点).Pomerantz于2003年加入IBM,从那时起,他就 ...

  9. 三网手机实名制认证接口是怎么验证身份的?如何选择?

    现如今,随着互联网产业的多元化,需要进行实名认证的应用场景越来越多,尤其是互联网金融,在线交易等商业模式的兴起,越来越多的企业需要用到实名认证接口,聚合数据等服务商提供的身份证实名认证API如三网手机 ...

最新文章

  1. 以数据为中心,立足六大技术支柱,英特尔推动神经拟态计算、量子计算前沿探索
  2. Android 通用流行框架大全
  3. 深度案例 | 纷享销客:用户需求精准洞察下的敏捷开发
  4. 15种主要编程语言介绍及应用场合
  5. Nsight 调试 Caffe
  6. 获取url参数值(可解码中文值)
  7. 计算机网络通信中常用的检错码,4月全国高等教育自学考试计算机网络与通信试题及答案解析...
  8. 退出所有循环_Python学习之路9—循环的总结
  9. Java里optionsMenu.add_android创建optionsmenu的方法
  10. 计算机中是如何存储图片的,电脑如何保存图片
  11. 用 python 画散点图与气泡图
  12. container html css,splitcontainer
  13. HBuilderX连接安卓模拟器
  14. 电阻式触摸屏的工作原理
  15. Office2007注册码
  16. FPGA工程师面试试题集锦11~20
  17. 微信小程序入门开发教程
  18. 曾扬言 机器人合法公民_曾扬言“摧毁人类”的机器人索菲亚,现状如何?如果失控了咋办?...
  19. java电商商品搜索_Java生鲜电商平台-搜索模块的设计与架构
  20. Java毕设项目:房屋租赁管理系统(java+SSM+Maven+Mysql+Jsp)

热门文章

  1. GridView数据库分页+自定义分页导航(二):自定义分页导航。首页、上一页、下一页、尾页和跳转
  2. vscode 一键生成vue代码
  3. P44 break continue
  4. 二叉树前、中、后序线索化及遍历
  5. 前置++和后置++的区别
  6. HNUST-OJ-1806-图的遍历——广度优先搜索
  7. android 密度像素,Android屏幕密度适配问题之px,dp,sp等详细介绍
  8. 计算机视觉 马尔_计算机视觉概述
  9. uva714-复制书稿
  10. pap认证失败_PPP PAP(CHAP)认证