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. EMC NetWorker备份oracle安装配置指南
  3. CSS3 3D的总结(初学者易懂)
  4. python基础教程:Counter类
  5. 机器学习-sk-learn-Facebook数据集预测签到位置
  6. 安卓编程用什么软件_震惊!安卓IOS都可以用的牛逼软件
  7. 新浪微博Anroid开发(二)
  8. javacv 写mp4_JavaCV实现获取视频每帧并保存
  9. php识别地址,实现地址自动识别实例(PHP)
  10. spring boot集成oss
  11. nexus4恢复原生系统_深度好文!新浪微博架构师详析微博云原生技术的思考与实践...
  12. Spark用DSL表达式如何使用row_number函数
  13. Flutter之跨组件状态共享Provider框架剖析(2)
  14. python下载离线包
  15. windows进程管理小工具procexp.exe查找恶意插件
  16. 数列极限的概念及性质
  17. 明日之后最新服务器开服时间,明日之后什么时候开服 新服开区详解
  18. Windows命令行查看文件的MD5
  19. HADOOP数据仓库
  20. Matlab学习记录-矩阵的生成

热门文章

  1. 程序员 面试如何介绍自己
  2. 数学术语——内积(inner product)
  3. 适合婚礼上唱的歌曲 流行情歌大串烧
  4. rust超低配置补丁_Rust新增存在类型支持
  5. 远程监控Wifi与4G蜂窝流量连接有什么不同
  6. java实现编译器_实现一个简单的编译器
  7. 监控html页面数据获取失败,前端异常采集(附实例)
  8. 华为,工资岗位揭秘 2010年08月02日
  9. 计算机毕业设计(附源码)python羽毛球场地管理系统
  10. 稀疏问题的解决——数据平滑 - yiyi_xuechen