何谓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扫盲篇相关推荐

  1. iOS网络缓存扫盲篇--使用两行代码就能完成80%的缓存需求

    原文地址:https://github.com/ChenYilong/ParseSourceCodeStudy/blob/master/02_Parse的网络缓存与离线存储/iOS网络缓存扫盲篇.md ...

  2. Linux扫盲篇:CentOS、Ubuntu、Gento

    Linux扫盲篇:CentOS.Ubuntu.Gentoo Linux最早由Linus Benedict Torvalds在1991年开始编写.在这之前,Richard Stallman创建了Free ...

  3. Fiddler抓包使用教程-扫盲篇

    Fiddler抓包使用教程-扫盲篇 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72823370 本文出自[赵彦军的博客] 1.什 ...

  4. devops基础扫盲篇_在2020年取得成功的8篇必读的DevOps文章

    devops基础扫盲篇 我是一个狂热的读者,但是我经历了非常忙的时期,很难找到时间跟上我的阅读清单. 即使在我最忙的时候,我也尽量保持关注DevOps新闻,因为这是我关注的领域之一. 在这里,我总结了 ...

  5. 指纹识别技术综述(扫盲篇)(转载)

    指纹识别技术综述(扫盲篇) 1.产品构成 对指纹识别技术,目前除了一部分真正的研发人员之外,大部分涉业者或者兴趣者都希望有个清晰的了解.在此,先从指纹识别产品的构成说起,也就是由产品构成再展开对技术构 ...

  6. HDTV入门扫盲篇HDTV入门

    HDTV入门扫盲篇HDTV入门 1,什么是HDTV? 要解释HDTV,我们首先要了解DTV.DTV是一种数字电视技术,是目前传统模拟电视技术的接班人.所谓的数字电视,是指从演播室到发射.传输.接收过程 ...

  7. 电磁波波长越短能量越强_电磁波扫盲篇:频率,波长,速度,温度,能量的关系...

    电磁波扫盲篇:频率,波长,速度,温度,能量的关系 发布日期:2015年03月11日 浏览次数:10次 1.波的波速=波长×频率,所以频率不同的 2.电磁波在空间是向各个方向传播的,所有这些电磁波仅在波 ...

  8. 《小白WEB安全入门》01. 扫盲篇

    扫盲篇 基础知识 什么是WEB 什么是前端 什么是后端 什么是数据库 什么是协议 什么是WEB安全 什么是服务器 什么是IP地址.端口 什么是局域网.广域网.内网.外网 什么是URL 什么是MAC地址 ...

  9. ASP.NET MVC5+Layui——kk扫盲篇

    大佬博客:目录篇 KK扫盲篇 先看了大佬的制作思路,要是适合自己而且可行,就执行: CRUD是指在做计算处理时的增加(Create).读取查询(Retrieve).更新(Update)和删除(Dele ...

最新文章

  1. Acwing 307. 连通图
  2. 密码机 密钥管理项目安装配置 从零开始
  3. python在统计中的应用_Python在简单数据统计中的应用--随笔记
  4. Html前端基础(这些基础标签你必须知道!)
  5. 从零实现Vue的组件库(零)- 基本结构以及构建工具
  6. jquery获取加载的html内容,jquery 获取ajax加载的html中部分内容
  7. 智能优化算法:黑寡妇算法 -附代码
  8. SylixOS armv8 原子操作
  9. CSS中单位rem的使用说明
  10. 好看的电脑桌面悬浮时钟工具
  11. 【冷门】十字链表法图解
  12. 使用python批量压缩图片文件
  13. 将国际标准时间和时间戳转换成年月日时分秒
  14. 2022电工(初级)操作证考试题及模拟考试
  15. macf键与功能键切换_功能切换(功能开关或功能标志)与功能分支
  16. struct timeval结构体 以及 gettimeofday()函数、struct timespec结构体
  17. WSL下的NeoVim安装与配置
  18. 国家知识产权局一行走访易保全调研区块链,提升相关专利审查工作质效
  19. 单片机8x8点阵让数字0从右到左依次显示循环
  20. Mac 下终端命令无法使用

热门文章

  1. 1058. 选择题(20)-PAT乙级真题
  2. 低多边形,通过PS制作低多边形图形
  3. java中使用Calendar日期类获得下一个月有多少天
  4. 常见混沌系统—Chen模型
  5. 人工智能AI讲师NLP培训讲师叶梓:人工智能之最新NLP自然语言处理技术与实战-23
  6. 7-38 寻找大富翁 (25 分)
  7. 置换贴图,法线贴图,凹凸贴图的区别
  8. 登录界面---油管大佬
  9. Java实现Telegram机器人
  10. python图像处理:核磁共振图像(3D)的缩放