Wifidog
satellite13
这个作者很懒,什么都没留下…
展开
-
wifidog源码分析 - wifidog原理
wifidog是一个用于配合认证服务器实现无线网页认证功能的程序,常见的情景就是使用于公共场合的无线wifi接入点,首先移动设备会连接公共wifi接入点,之后会弹出网页要求输入用户名密码,认证过后才能够连入外网。其主页是http://dev.wifidog.org/ 实现原理 其实wifidog原理很简单,主要是通过管控iptables,配合认证服务器进行客户端的放行操作。wi转载 2016-05-11 19:56:30 · 566 阅读 · 0 评论 -
wifidog源码分析 - 用户连接过程
引言 之前的文章已经描述wifidog大概的一个工作流程,这里我们具体说说wifidog是怎么把一个新用户重定向到认证服务器中的,它又是怎么对一个已认证的用户实行放行操作的。我们已经知道wifidog在启动时会删除iptables中mangle、nat、filter表中的所有规则,并在这三个表中添加wifidog自己的规则,其规则简单来说就是将网关80端口重定向到指定端口(默认为2060),转载 2016-05-11 19:57:56 · 2783 阅读 · 0 评论 -
wifidog源码分析 - 客户端检测线程
引言 当wifidog启动时,会启动一个线程(thread_client_timeout_check)维护客户端列表,具体就是wifidog必须定时检测客户端列表中的每个客户端是否在线,而wifidog是通过两种方式进行检测客户端在线情况,一种是定时通过iptables获取客户端出入总流量更新客户端时间,通过最近更新时间进行判断(有新的出入流量则更新客户端时间,之后使用最新客户端时间与当前时转载 2016-05-11 19:58:45 · 507 阅读 · 0 评论 -
wifidog源码分析 - 认证服务器心跳检测线程
引言 但wifidog启动时,会自动启动认证服务器心跳检测线程,此线程默认每隔60s与认证服务器交互一次,会将路由器的信息(系统启动时长,内存使用情况和系统平均负载)告知认证服务器,并通过一个"ping"字符串作为信号,而当认证服务器接收到此数据包后,会返回一个"pong"给路由器,具体我们看看代码。 代码片段1.1 此段代码很简单,就是调用ping函数,然后等待60s转载 2016-05-11 19:59:42 · 749 阅读 · 0 评论 -
wifidog源码分析 - 初始化阶段
Wifidog是一个linux下开源的认证网关软件,它主要用于配合认证服务器实现无线路由器的认证放行功能。 wifidog是一个后台的服务程序,可以通过wdctrl命令对wifidog主程序进行控制。 本文解释wifidog在启动阶段所做的初始化主要工作(代码片段1.1) 初始化配置(先将配置结构体初始化为默认值,在读取配置文件修改配置结构体)初始化已连接客户端列表(如果是通过w转载 2016-05-11 19:55:11 · 923 阅读 · 0 评论