Wifidog扫盲篇
何谓wifidog?wifidog即利用iptables规则结合认证服务器可以管理上网客户端的东东。
当然管理客户端一定是需要认证服务器吗?有个仿wifidog的nodogsplash地址如下
https://github.com/nodogsplash/nodogsplash
官网的wifidog代码比较少,复杂度也一般功能部分无非有以下几个:
1. 客户端列表的超时检测线程。
2. wifidog程序和控制程序wdctl通信线程(个人感觉设计不好, 像Squid直接发送信号来处理)。
3. wifidog和认证服务器心跳线程。
4. 内置http处理线程,http部分差用多线程+阻塞模式(效率不高)。官网wifidog各文件功能介绍
1. auth.c 负责和认证服务器登录、登出功能和客户读列表超时检测实现。
2. centralserver.c实现了和认证服器连接和参数的实现.
3. client_list.c 实现客户端管理的添加、删除、查找和拷贝。
4. conf.c 实现对配置文件的解析
5. debug.c 实现输出日子到stderr或者syslog
6. firewall.c封装了一些针对host和client的管理iptables规则方法。
7. fw_iptables.c封装了iptables使用方法并初始化wifidog默认规则。
8. gateway.c各个模块的初始化及信号管理。
9. http.c实现了http默认路径、”/auth”、”/wifidog”、”/about”、”/status”的回调。
10. httpd_thread.c适配了libhttpd http封装库。
11. ping_thread.c处理心跳。
12. pstring.c更佳容易使用随意变动char* 字符串。
13. 对malloc、read、strdup等常用调用做了更安全的封装。
14. simple_http.c封装了http通信协议库的调用。
具体细节就不多说了,太罗嗦了,自己看文档吧。
wifidog内置http服务 libhttpd 库manual手册地址:
http://www.hughes.com.au/products/libhttpd/libhttpd.pdf
Wifidog扫盲篇相关推荐
- iOS网络缓存扫盲篇--使用两行代码就能完成80%的缓存需求
原文地址:https://github.com/ChenYilong/ParseSourceCodeStudy/blob/master/02_Parse的网络缓存与离线存储/iOS网络缓存扫盲篇.md ...
- Linux扫盲篇:CentOS、Ubuntu、Gento
Linux扫盲篇:CentOS.Ubuntu.Gentoo Linux最早由Linus Benedict Torvalds在1991年开始编写.在这之前,Richard Stallman创建了Free ...
- Fiddler抓包使用教程-扫盲篇
Fiddler抓包使用教程-扫盲篇 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72823370 本文出自[赵彦军的博客] 1.什 ...
- devops基础扫盲篇_在2020年取得成功的8篇必读的DevOps文章
devops基础扫盲篇 我是一个狂热的读者,但是我经历了非常忙的时期,很难找到时间跟上我的阅读清单. 即使在我最忙的时候,我也尽量保持关注DevOps新闻,因为这是我关注的领域之一. 在这里,我总结了 ...
- 指纹识别技术综述(扫盲篇)(转载)
指纹识别技术综述(扫盲篇) 1.产品构成 对指纹识别技术,目前除了一部分真正的研发人员之外,大部分涉业者或者兴趣者都希望有个清晰的了解.在此,先从指纹识别产品的构成说起,也就是由产品构成再展开对技术构 ...
- HDTV入门扫盲篇HDTV入门
HDTV入门扫盲篇HDTV入门 1,什么是HDTV? 要解释HDTV,我们首先要了解DTV.DTV是一种数字电视技术,是目前传统模拟电视技术的接班人.所谓的数字电视,是指从演播室到发射.传输.接收过程 ...
- 电磁波波长越短能量越强_电磁波扫盲篇:频率,波长,速度,温度,能量的关系...
电磁波扫盲篇:频率,波长,速度,温度,能量的关系 发布日期:2015年03月11日 浏览次数:10次 1.波的波速=波长×频率,所以频率不同的 2.电磁波在空间是向各个方向传播的,所有这些电磁波仅在波 ...
- 《小白WEB安全入门》01. 扫盲篇
扫盲篇 基础知识 什么是WEB 什么是前端 什么是后端 什么是数据库 什么是协议 什么是WEB安全 什么是服务器 什么是IP地址.端口 什么是局域网.广域网.内网.外网 什么是URL 什么是MAC地址 ...
- ASP.NET MVC5+Layui——kk扫盲篇
大佬博客:目录篇 KK扫盲篇 先看了大佬的制作思路,要是适合自己而且可行,就执行: CRUD是指在做计算处理时的增加(Create).读取查询(Retrieve).更新(Update)和删除(Dele ...
最新文章
- Acwing 307. 连通图
- 密码机 密钥管理项目安装配置 从零开始
- python在统计中的应用_Python在简单数据统计中的应用--随笔记
- Html前端基础(这些基础标签你必须知道!)
- 从零实现Vue的组件库(零)- 基本结构以及构建工具
- jquery获取加载的html内容,jquery 获取ajax加载的html中部分内容
- 智能优化算法:黑寡妇算法 -附代码
- SylixOS armv8 原子操作
- CSS中单位rem的使用说明
- 好看的电脑桌面悬浮时钟工具
- 【冷门】十字链表法图解
- 使用python批量压缩图片文件
- 将国际标准时间和时间戳转换成年月日时分秒
- 2022电工(初级)操作证考试题及模拟考试
- macf键与功能键切换_功能切换(功能开关或功能标志)与功能分支
- struct timeval结构体 以及 gettimeofday()函数、struct timespec结构体
- WSL下的NeoVim安装与配置
- 国家知识产权局一行走访易保全调研区块链,提升相关专利审查工作质效
- 单片机8x8点阵让数字0从右到左依次显示循环
- Mac 下终端命令无法使用