何谓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. webpack 安装使用(1)
  2. response code 404 500
  3. mysql实现类似oracle的序列,mysql 创建[序列],功能类似于oracle的序列
  4. io.js 1.0.x发布
  5. 致我们最最最最最最最最最最最最最优秀的班主任——王老师
  6. 膜拜大牛!Android开发最佳实践手册全网独一份,终获offer
  7. java中,将string 转化成long
  8. 亚信安全“双引擎”AI技术 亮相2017华为全联接大会
  9. SpringSocial简介
  10. 前端开发_HTML5_布局-div+css布局
  11. 解构网约车界“拼多多”:花小猪背后的商业逻辑和价值空间
  12. 选择任意你熟悉的编程语言开发一个C/S、B/S、B/A/S或基于移动设备的民航售票系统,实现基本功能
  13. 天翼云主攻“5G+云+AI”,新生态革命的冲锋
  14. 网页图标/images/favicon.ico type=image/x-icon /
  15. 如何将项目使用docker分块部署
  16. 软考高级 真题 2010年下半年 信息系统项目管理师 案例分析
  17. 宣传活动任务后台管理之促销活动业务分析...
  18. 笔记本win10系统插入耳机没声音
  19. Nodejs处理CSS、JS、HTML
  20. 电流互感器、电压互感器、变压器

热门文章

  1. 设计出python_《设》字意思读音、组词解释及笔画数 - 新华字典 - 911查询
  2. Java 基础学习之字符串的简单操作和适配器设计模式
  3. window10 多桌面切换快捷键 win+tab
  4. GUTI,Globally Unique Temporary UE Identity,全球唯一临时UE标识。
  5. 服务器安全文件,文件服务器安全防护系统-虹安 - 数据防泄密,文档加密,源代码防泄密,数据防泄漏,DLP数据防泄密整体解决方案提供商...
  6. 带你了解ICCV、ECCV、CVPR三大国际会议
  7. 天使的微笑——《天使爱美丽》
  8. SLAM14讲学习笔记(一) 李群李代数基础
  9. 在vue3中使用markdown编辑器
  10. dns配置异常怎么修复_dns配置异常不能上网如何修复