一.hostapd简介 hostapd是一个用户空间的守护程序,主要用在接入结点(AP)和认证服务器上。它实现了IEEE802.11接入结点管理,IEEE802.1X/WPA/WPA2/EAP认证以及RADIUS客户端、EAP服务器和RADIUS认证服务器的功能。当前版本支持 Linux(Host AP,madwifi,mac80211-based drivers)和FreeBSD(net80211)。 支持的WPA/IEEE 802.1i/EAP/IEEE 802.1X特性 1)WPA-PSK加密(“WPA-Personal”) 2)WPA with EAP(“WPA-Enterprise”) 3)CCMP,TKIP,WEP104,WEP40密钥管理 4)WPA and full IEEE 802.11i/RSN/WPA2 5)RSN:PMKSA缓存,预认证 6)IEEE 802.11r(加强漫游功能) 7)IEEE 802.11w 8)RADIUS统计 9)RADIUS authentication server with EAP 10)Wi-Fi Protected Setup(WPS) 二.hostapd基本结构 三.源代码阅读所需知识 如果想读懂hostapd源代码,需要具备以下基础知识: 1) c语言编程能力 2) 对802.11i标准有比较深入的了解 3) 对无线局域网相关基础知识有一定的了解 分享到
Hostapd简介:
简单说, hostapd 能够使得无线网卡切换为 master 模式,模拟 AP( 通常可以认为是路由器 ) 功能,也就是我们说的软 AP(Soft AP) 。
Hostapd 的功能就是作为 AP 的认证服务器,负责控制管理 stations( 通常可以认为带无线网卡的 PC) 的接入和认证。
通过 Hostapd 可以将无线网卡切换为 AP/Master 模式,通过修改配置文件,可以建立一个开放式的 ( 不加密 ) 的, WEP , WPA 或 WPA2 的无线网络。并且通过修改配置文件可以设置无线网卡的各种参数,包括频率,信号, beacon 包时间间隔,是否发送 beacon 包,如果响应探针请求等等。还可以设置 mac 地址过滤条件等。具体可以参考它的配置文件说明 。
下面就从官网上摘下的部分原因及翻译。翻译的不好请见谅。
hostapd is an IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator.
Hostapd 是 IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP/RADIUS 的认证器
hostapd is a user space daemon for access point and authentication servers. It implements IEEE 802.11 access point management, IEEE 802.1X/WPA/WPA2/EAP Authenticators, RADIUS client, EAP server, and RADIUS authentication server. The current version supports Linux (Host AP, madwifi, mac80211-based drivers) and FreeBSD (net80211).
Hostapd是一个访问点以及认证服务器的运行于用户空间的守护程序。它实现了IEEE 802.11接入带你(Access Point)的管理功能,是IEEE 802.1X/WPA/WPA2/EAP的认证器,是 RADIUS client, EAP server, and RADIUS认证服务器。当前版本的hostapd支持linux上Host AP,madwifi和基于mac80211协议栈的驱动程序,以及FreeBSD上net80211协议栈的驱动程序。
hostapd is designed to be a "daemon" program that runs in the background and acts as the backend component controlling authentication. hostapd supports separate frontend programs and an example text-based frontend, hostapd_cli, is included with hostapd.
Hostapd是一个后台守护进程,作为后台组件来控制和管理认证功能。Hostapd支持多个前台程序。hostapd_cli,就是一个跟hostapd一起的命令行前台程序。
支持特性
Supported WPA/IEEE 802.11i/EAP/IEEE 802.1X features
支持WPA/IEEE 802.11i/EAP/IEEE 802.1X
Following methods are also supported, but since they do not generate keying material, they cannot be used with WPA or IEEE 802.1X WEP keying.
同样支持下面的这些功能,但是这些不生成建钥资料,所以它们不能够WPA 或者 IEEE 802.1X WEP一同使用
支持的无线网卡/驱动
如何确定一款无线网卡是否能被hostpad支持
以 ubuntu10.04 为例
执行 sudo aptitude install iw ,安装无线配置工具 iw
执行 iw list ,如果在下面的结果中出现 AP 字样,那么就表示这款网卡支持 hostapd
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* WDS
* monitor
* mesh point
推荐网址
http://hostap.epitest.fi/hostapd/
http://wireless.kernel.org/en/users/Documentation/hostapd
https://help.ubuntu.com/community/WifiDocs/MasterMode
http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=hostapd/hostapd.conf