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 ...
最新文章
- webpack 安装使用(1)
- response code 404 500
- mysql实现类似oracle的序列,mysql 创建[序列],功能类似于oracle的序列
- io.js 1.0.x发布
- 致我们最最最最最最最最最最最最最优秀的班主任——王老师
- 膜拜大牛!Android开发最佳实践手册全网独一份,终获offer
- java中,将string 转化成long
- 亚信安全“双引擎”AI技术 亮相2017华为全联接大会
- SpringSocial简介
- 前端开发_HTML5_布局-div+css布局
- 解构网约车界“拼多多”:花小猪背后的商业逻辑和价值空间
- 选择任意你熟悉的编程语言开发一个C/S、B/S、B/A/S或基于移动设备的民航售票系统,实现基本功能
- 天翼云主攻“5G+云+AI”,新生态革命的冲锋
- 网页图标/images/favicon.ico type=image/x-icon /
- 如何将项目使用docker分块部署
- 软考高级 真题 2010年下半年 信息系统项目管理师 案例分析
- 宣传活动任务后台管理之促销活动业务分析...
- 笔记本win10系统插入耳机没声音
- Nodejs处理CSS、JS、HTML
- 电流互感器、电压互感器、变压器
热门文章
- 设计出python_《设》字意思读音、组词解释及笔画数 - 新华字典 - 911查询
- Java 基础学习之字符串的简单操作和适配器设计模式
- window10 多桌面切换快捷键 win+tab
- GUTI,Globally Unique Temporary UE Identity,全球唯一临时UE标识。
- 服务器安全文件,文件服务器安全防护系统-虹安 - 数据防泄密,文档加密,源代码防泄密,数据防泄漏,DLP数据防泄密整体解决方案提供商...
- 带你了解ICCV、ECCV、CVPR三大国际会议
- 天使的微笑——《天使爱美丽》
- SLAM14讲学习笔记(一) 李群李代数基础
- 在vue3中使用markdown编辑器
- dns配置异常怎么修复_dns配置异常不能上网如何修复