hostapd阅读(openwrt)-4

  接下来,咱们来看看hostapd的源码目录之hostapd,今天我们先分析整体功能,然后从main.c开始注释

  hostapd下代码主要作用有:配置解析,环境初始化,控制接口建立,AP接口管理模块。

├── android.config
├── Android.mk
├── ChangeLog
├── config_file.c----------------------------------------->配置解析文件
├── config_file.h
├── ctrl_iface.c------------------------------------------>uninx域套接字接口
├── ctrl_iface.h
├── defconfig-------------------------------------------->默认配置文件,在编译时会将其拷贝为.config
├── eap_register.c
├── eap_register.h
├── eap_testing.txt
├── hapd_module_tests.c
├── hlr_auc_gw.c
├── hlr_auc_gw.milenage_db
├── hlr_auc_gw.txt
├── hostapd.8
├── hostapd.accept
├── hostapd_cli.1
├── hostapd_cli.c
├── hostapd.conf
├── hostapd.deny
├── hostapd.eap_user
├── hostapd.eap_user_sqlite
├── hostapd.radius_clients
├── hostapd.sim_db
├── hostapd.vlan
├── hostapd.wpa_psk
├── logwatch
│   ├── hostapd
│   ├── hostapd.conf
│   └── README
├── main.c----------------------------------------->hostapd主程序 
├── Makefile--------------------------------------->hostapd编译Makefile
├── nt_password_hash.c
├── README
├── README-WPS
├── wired.conf
└── wps-ap-nfc.py

struct sta_info * ap_get_sta(struct hostapd_data *hapd, const u8 *sta)
{
    struct sta_info *s;
  /*随机*/
    s = hapd->sta_hash[STA_HASH(sta)];
    while (s != NULL && os_memcmp(s->addr, sta, 6) != 0)
        s = s->hnext;
    return s;
}

未完待续

时间: 2024-08-27 05:55:36

hostapd阅读(openwrt)-4的相关文章

hostapd阅读(openwrt)-3

从官网下载相对而言比较干净的源码版本http://w1.fi/hostapd/,然后将其移植到openwrt下,方便在源码阅读时候进行调试编译,移植的过程总结如下心得. 1. openwrt编译与clean均会先读取buildroot根目录下的.config文件,以确认哪些软件包与选项需要编译与清除,即使你针对某个包进行编译与clean,例如: make package/network/services/hostapd/clean V=s 打印信息将会出现两次进入:make[2]: Enteri

Openwrt 初探

最近想研究一下Openwrt,于是开始搭建openwrt环境,虽然现在没有现成的板子,但是 可以先编译起来. 看了别人的帖子,都推荐使用svn从官网下载源码, svn co svn://svn.openwrt.org/openwrt/trunk/ 但是实际测试发现它的速度太慢了,为了得到官方的源码,从github上找到了它: https://github.com/openwrt-mirror/openwrt 将它下载下来之后,要安装一些必要的包来编译它,我使用的是ubuntu12.04. sud

编译树莓派2代B型OpenWrt固件实现无线路由器及nodogsplash认证功能

最终功能: 无线路由器的主要功能,网口WAN接入,USB无线网卡AP热点输出,连上wifi之后跳转到认证页面,点击认证方可上网,有效时间10分钟,认证成功之后自动访问指定网址. 文章结尾有编译好的刷机包下载 硬件准备: 1.Raspberry Pi 2 model B 2.USB无线网卡,我使用的是TL-WN722N 150Mbps 芯片是AR9271 3.操作系统:CentOS 7 4.SD卡8GB 开始之前最好配置好代理,因为编译过程中所有的依赖会联网自动下载,会有大部分时间耗在这里,如果速

hostapd wpa_supplicant madwifi详细分析(十三)——EAPOL(802.1X-2004/IEEE Std 802.1X-2010)

这篇文章主要介绍EAPOL,关于它的详细定义可以到802.1X-2004/IEEE Std 802.1X-2010两个文档里面查询.这两个文档核心内容大同小异,只是2010版定义得更细致,同时也更难以理解,建议先了解2004版,会更容易看懂.因为2010版引入来更多的名词,加入了更多的参考资料,对一致性的描述更加细致具体,让标准可以适用于更多的加密场合,补充2004 版中的一下缺陷. 两个标准的前5章的差异,我们可以不用太深究,他们主要包括802.1x的定义,名词解释,适用范围,引用文档,一致性

[EAP]将hostapd作为radius服务器搭建EAP认证环境

文章主要由以下几部分组成: 0.概念理解: WPA/WPA2,EAP,IEEE, 802.11i, WiFi联盟, 802.1x 1.编译hostapd 2.配置hostapd的conf文件 3.外接路由器设置 4.配置hostapd的user文件 5.运行命令 0.概念理解 (1)802.11i 是一个标准,这种安全标准为增强WLAN的数据加密和认证性能,定义了RSN(Robust Security Network)的概念,标准范畴分为媒介层(MAC)与物理层(PHY).该标准为整个802.1

基于OpenWRT,实现360 P1路由器上的朋友专享网络 功能

笔者分析了360 P1路由器上的朋友专享网络功能,发现其主要由如下子功能组成: 1. APP点击“立即开启”,则路由器会多出一个新的SSID:360朋友专享网络-8463.此SSID不加密:同时,原有的主SSID不变 2. STA接入此新SSID后 u  可以获得IP地址,且获得的IP地址与接入主SSID设备获取的IP地址在同一个网段: u 可以访问外网: u 不可以访问360路由器的Web, u 无法ping通360路由器的ip地址 u 无法ping通其他连入此路由器的其他客户端(包括连入36

openwrt固件升级方法

四种方法有四种方法可以把OpenWrt安装在一个设备上: 1.通过原始固件 通过你的浏览器打开原始固件的管理页面,然后通过使用"固件升级"选项安装OpenWrt固件.搞定. 注意: 一些时候原始固件的升级功能包含一些确定你没有刷入错误固件文件的校验功能,如果存在这个功能,他会阻止你通过这种方式安装OpenWrt. 2.通过Bootloader和网口 正是为了便于这方面,即更新固件, 绝大多的(不是所有)bootloader 里面内置了这种更新固件的功能. 有的内置 TFTP-clien

OpenWrt刷机后有线网口ping不通的问题

[路由器开发板参数] MTK双频:MT7620a + MT7612e 内存:256 MB 闪存:16 MB [问题] 路由器开发板刷机后,与PC无法ping通.PC与路由器开发板的LAN口相连,开发板和PC用ifconfig命令都可以查到IP. 开发板:192.168.1.1(刷机后缺省配置) PC:192.168.1.2(通过手工配置) [分析] 两端网口直连都无法ping通,先排查硬件问题,PC网口.开发板网口.网线均正常.再检查两端网口配置,PC网口配置无异常,开发板网口配置看起来也无异常

openwrt ubus简介以及libubus开发说明

简介 ubus是新openwrt引入的一个消息总线,主要作用是实现不同应用程序之间的信息交互. ubus启动后会在后台运行ubusd进程,该进程监听一个unix套接字用于与其他应用程序通信.其他应用程序可基于libubox提供的接口(或自己实现)与其通信. 使用ubus的方式主要有:1.向其注册消息或控制接口.2.向其调用其他应用程序的消息或控制接口.3.向其注册关心的事件. ubus命令使用说明 ubus命令用于控制调试相关ubus接口,主要命令说明如下: - list [<path>]