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

article/2025/9/27 10:20:52

0:前提

其实搭建认证环境都是基础,重要的是要对WiFidog的代码进行详细的研究,了解清楚wifidog与authpuppy之间进行了哪些数据交互,WiFidog的程序框架及iptables的建立及生效规则,这才是重点。WiFidog和之前nodogsplash的代码90%是一样的,只是之前没有研究nodogsplash的外部认证机制。

WiFidog可以通过外部认证来控制用户的上网行为,此处的外部认证接口就是:authpuppy。

1:authpuppy安装之前准备

在安装authpuppy的过程遇到很多问题,但是都能根据网上其他朋友的提示可以搞定,我将自己想要的配置文件copy上来。

[root@localhost /etc]$cat host.conf 
multi on
order hosts,bind
[root@localhost /etc]$cat hosts
127.0.0.1       localhost.localdomain   localhost
127.0.0.1       authpuppy.localhost::1         localhost6 localhost6.localdomain localhost6 localhost6.localdomain6

之后就是 httpd相关的配置文件:/etc/httpd/conf]$ cat httpd.conf  在资源中进行下载。同时常用的命令如下:

service httpd restart,service mysqld restart等。其配置文件中主要就是配置一个虚拟目录.其配置内容如下:

<VirtualHost *:80>ServerAdmin webmaster@testServerName authpuppy.localhostServerAlias authpuppy.testDocumentRoot "/var/www/"DirectoryIndex index.php<Directory /var/www/authpuppy/web/>Options Indexes FollowSymLinks MultiViewsAllowOverride AllOrder allow,denyallow from all</Directory>Alias /sf /var/www/authpuppy/lib/vendor/symfony/data/web/sf<Directory "/var/www/authpuppy/lib/vendor/symfony/data/web/sf">AllowOverride AllAllow from All</Directory>ErrorLog /var/log/httpd/error.log# Possible values include: debug, info, notice, warn, error,crit,# alert, emerg.LogLevel warnCustomLog /var/log/httpd/access.log combined</VirtualHost>
[root@localhost /etc/httpd/conf]$cat httpd.conf
其中可以看出:
ServerName authpuppy.localhost
DocumentRoot "/var/www/"   web的根目录
DirectoryIndex index.php   访问的主页http://192.168.0.142/authpuppy/web/index.php
<Directory /var/www/authpuppy/web/> authpuppy的目录位置
              Options Indexes FollowSymLinks MultiViews
              AllowOverride All
              Order allow,deny
              allow from all
</Directory>

authpuppy的目录位置及结构如下:


建立好上面的环境之后,下面就要建立MySQL数据库。建立好的数据如下:

[root@localhost ~]$mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 813
Server version: 5.1.47 Source distributionCopyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 licenseType 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| authpuppy          |
| mysql              |
+--------------------+
3 rows in set (0.01 sec)mysql> use authpuppy;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> show tables;
+---------------------------+
| Tables_in_authpuppy       |
+---------------------------+
| ap_applicable_policies    |
| ap_connection_policies    |
| ap_node_authenticators    |
| ap_node_policies          |
| ap_node_user_bypass       |
| ap_plugin_config          |
| ap_plugins_migrations     |
| ap_user                   |
| ap_user_remember_me       |
| connections               |
| migration_version         |
| nodes                     |
| sf_guard_forgot_password  |
| sf_guard_group            |
| sf_guard_group_permission |
| sf_guard_permission       |
| sf_guard_remember_key     |
| sf_guard_user             |
| sf_guard_user_group       |
| sf_guard_user_permission  |
+---------------------------+
20 rows in set (0.00 sec)mysql> slect * from ap_user;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'slect * from ap_user' at line 1
mysql> select * from ap_user;
+----+----------+--------------------------+--------------------+---------------------+------------------------------------------+--------+----------------+
| id | username | password                 | email              | registered_on       | validation_token                         | status | username_lower |
+----+----------+--------------------------+--------------------+---------------------+------------------------------------------+--------+----------------+
|  1 | suiyuan  | H9hK9mgDAXdJnkYghQczkQ== | suiyuan626@163.com | 2014-06-10 16:05:25 | eda2838b1543e16fcfd7da6064886be67c544042 |      5 | suiyuan        |
|  4 | xue      | H9hK9mgDAXdJnkYghQczkQ== | xue626@163.com     | 2014-06-10 17:04:07 | 117b0cd467900c59b9e60bb52719ce3551d321ce |      5 | xue            |
+----+----------+--------------------------+--------------------+---------------------+------------------------------------------+--------+----------------+
2 rows in set (0.00 sec)mysql> 

其中上面是创建的俩个用户,是通过authpuppy的管理界面来创建的,用户在认证的时候只有输入正确的用户名及密码才能才算认证通过。同时如果不创建数据苦,在启动authpuppy的时候会告诉缺少相应的文件目录。

3:安装过程

由于我们已经安装成功了,安装的过程中没有怎么抓图。



其中过一定要记住上面的用户名及密码,后面登陆的时候要用到,最好也写一个邮箱地址,如果忘记密码也可以找回来。

当安装成功之后访问:http://192.168.0.142/authpuppy/web/index.php

如下界面:


输入之前的用户名及密码(第二张图片上面的用户名及密码)。登陆之后的界面如下:


之后就可以安装插件,现在随便看看几个菜单。


上面就是数据库里面创建的用户suiyaun(用户已此用户名进行登陆认证的)的上网的一些信息。

wifidog运行时的配置文件,其实配置文件只需要几个关键的参数就可以运行。

# WiFiDog Configuration fileGatewayID 123456789ExternalInterface eth0GatewayInterface br0HtmlMessageFile /opt/wifidog/etc/wifidog-.htmlAuthServer {Hostname 192.168.0.142SSLAvailable noPath /authpuppy/web/
}CheckInterval 60# The timeout will be INTERVAL * TIMEOUT
ClientTimeout 5# Parameter: TrustedMACList
# Comma separated list of MAC addresses who are allowed to pass
# through without authentication
#TrustedMACList 00:00:DE:AD:BE:AF,00:00:C0:1D:F0:0DFirewallRuleSet validating-users {FirewallRule allow to 0.0.0.0/0
}FirewallRuleSet known-users {FirewallRule allow to 0.0.0.0/0
}FirewallRuleSet unknown-users {FirewallRule allow udp port 53FirewallRule allow tcp port 53FirewallRule allow udp port 67FirewallRule allow tcp port 67
}FirewallRuleSet locked-users {FirewallRule block to 0.0.0.0/0
}











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

相关文章

wifidog authpuppy 服务器搭建

安装环境&#xff08;64位 Ubuntu 14.04.4 LTS \n \l &#xff09;一、安装各种软件包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. 用户访问网络&#xff0c;通过iptables将未认证的用户dnat到wifidog进程&#xff0c;wifidog通过307报文将用户重定向到认证服务器 2. 用户打开认证服务器登录页面&#xff0c;输入用户名密码&#xff0c;发送认证请求 3. 认证成功的话服务器会发送302报文&…

wifidog+authpuppy认证页面的配置

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

openwrt-看门狗watchdog

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

wifidog认证流程(图文版)

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

wifidog 认证

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

Wifidog入门教程

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

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

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

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

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

WiFidog简介

WiFidog简介 WIFIdog是一种新的认证方式&#xff0c;这种认证方式的优势在于安全性高&#xff0c;不容易被破解验证。 客户端发出初始化请求&#xff0c;比如访问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是一款压力测试工具&#xff0c;可以测试系统的硬件性能&#xff0c;也可以用来对数据库进行基准测试。sysbench 支持的测试有CPU运算性能测试、内存分配及传输速度测试、磁盘IO性能测试、POSIX线程性能测试、互斥性测试测试、数据库性能测试(OLTP基准测试)。目…

sysbench 压测 mysql_sysbench压测

一&#xff1a;sysbench的安装遇到的几个问题&#xff1a; 解决办法&#xff1a; yum install automake 解决办法&#xff1a;yum install libtool sysbench 的一些常用参数低版本和高版本是有点区别的大家在测试的时候稍微注意一下&#xff1a; 以下这个版本是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的官网地址是&#xff1a;http&#xff1a;//sysbench.sourceforge.net Step 1&#xff1a; 下载安装&#xff1a; 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 是开源的跨平台多线程基准测试工具&#xff0c;主要用于测试各种不同系统参数下的 CPU/内存/线程/IO/数据库等方面的性能&#xff0c;数据库目前支持 MySQL/Oracle/PostgreSQL。具体的参数设置&#xff0c;应…

sysbench mysql图表_sysbench_mysql

ref 测试 当执行下面这个sysbench测试mysql的时候&#xff0c;你不知道的可能可能是&#xff1a; 这到底是在测试读写&#xff1f;还是 读&#xff1f; 答&#xff1a; 只读 --num-threads12 啥意思&#xff1f; 答&#xff1a;就是说有12个线程在同时链接 你可以看到&#xff…

性能测试之sysbench

本期是写的测试mysql的性能测试&#xff0c;本人也是第一次接触mysql的性能&#xff0c;拿到这个任务时也是多方1查询资料&#xff0c; sysbench压力测试工具简介&#xff1a; sysbench是一个开源的、模块化的、跨平台的多线程性能测试工具&#xff0c;可以用来进行CPU、内存…

sysbench数据库压测工具详解与实战

sysbench是一个基于LuaJIT脚本的多线程基准测试工具。2004年由Peter Zaitsev&#xff08;Percona公司创始人&#xff09;开发&#xff0c;在其0.5版本中可以使用Lua脚本实现OLTP测试。2016年重构了sysbench代码&#xff0c;并在2017年2月针对新的硬件环境发布了1.0版本&#xf…

sysbench 介绍

sysbench介绍 参考博客&#xff1a; sysbench - 老僧观天下 - 博客园 sysbench 压测 详解_俗人linux_51CTO博客 sysbench工具使用 - ZhenXing_Yu - 博客园 |QQ:327488733qq.com sysbench使用指南 - AhaoMu - 博客园 MySql性能测试工具-sysbench_oahz4699092zhao的专栏-CS…