Hostapd

一,简介
     hostapd 是一个用户态用于AP和认证服务器的守护进程。它实现了IEEE 802.11相关的接入管理,IEEE 802.1X/WPA/WPA2/EAP 认证, RADIUS客户端,EAP服务器和RADIUS 认证服务器。Linux下支持的驱动有:Host AP,madwifi,基于mac80211的驱动——参考官方文档。
     简单说,hostapd能够使得无线网卡切换为master模式,模拟AP(通常可以认为是路由器)功能,也就是我们说的软AP(Soft AP)。 Hostapd的功能就是作为AP的认证服务器,负责控制管理stations(通常可以认为带无线网卡的PC)的接入和认证。通过Hostapd可以将无线网卡切换为AP/Master模式,通过修改配置文件,可以建立一个开放式的(不加密)的,WEP,WPA或WPA2的无线网络。并且通过修改配置文件可以设置无线网卡的各种参数,包括频率,信号,beacon包时间间隔,是否发送beacon包,如果响应探针请求等等。还可以设置mac地址过滤条件等。具体可以参考它的配置文件说明——参考《Linux下软AP功能之Hostapd介绍》。
二,支持特性
(1)WPA/IEEE 802.11i/EAP/IEEE 802.1X
        *WPA-PSK ("WPA-Personal")
        *WPA with EAP (with integrated EAP server or an external RADIUS backend authentication server) ("WPA-Enterprise")
        *key management for CCMP, TKIP, WEP104, WEP40
         ...更多详细见官方文档
(2)支持的无线网卡/驱动
        *Linux mac80211 drivers
        *Host AP driver for Prism2/2.5/3 
        *madwifi (Atheros ar521x)
        *BSD net80211 layer (e.g., Atheros driver) (FreeBSD 6-CURRENT)
(3)如何确定一款无线网卡是否能被hostpad支持  ?
          首先,安装iw工具:sudo apt-get install iw——基于ubuntu12.04系统

          然后,执行iw list。结果如下截图。如果在下面的结果中出现AP字样,那么就表示这款网卡支持hostapd。

Hostapd_第1张图片


三,基本配置与说明(/etc/hostapd.conf)
     (1)一般设置
ssid=MySsid--别人所看到的我们这个无线接入点的名称,自己可以任意写;
hw_mode=g--指定802.11协议,包括 a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g;
channel=10--设定无线频道数量;
interface=wlan0--接入点设备名称,注意不要包含ap后缀,即如果该设备称为wlan0ap,填写wlan0即可;
bridge=br0--指定所处网桥,对于一个同时接入公网、提供内部网和无线接入的路由器来说,设定网桥很有必要;
driver=nl80211--设定无线驱动,这里是nl80211;
ignore_broadcast_ssid=0
macaddr_acl=0--可选,指定MAC地址过滤规则,0表示除非在禁止列表否则允许,1表示除非在允许列表否则禁止,2表示使用外部RADIUS服务器
accept_mac_file=/etc/hostapd.accept--指定允许MAC列表文件所在
deny_mac_file=/etc/hostapd.deny--指定禁止MAC列表文件所在
    (2)认证方法
auth_algs=1--auth_algs指定采用哪种认证算法,采用位域(bit fields)方式来制定,其中第一位表示开放系统认证(Open System Authentication, OSA),第二位表示共享密钥认证(Shared Key Authentication, SKA)。这里设置alth_algs的值为1,表示只采用OSA;如果为3则两种认证方式都支持。不采取认证可在前面加#将其注释掉。
    (3)加密方式
          1)wep加密
#wep_default_key=0
#wep_key0=1234567890
#wep_key1="vwxyz"
#wep_key2=0102030405060708090a0b0c0d
#wep_key3=".2.4.6.8.0.23"
#wep_key_len_broadcast=13
#wep_key_len_unicast=13
#wep_rekey_period=300

          2)wpa加密
wpa=2--指定WPA类型,这是一个位域值(bit fields),第一位表示启用WPA,第二位表示启用WPA2。
wpa_passphrase=12345678--WPA/WPA2加密需要指定密钥,这个选项就是配置WPA/WPA2的密钥。注意wpa_passphrase要求8~63个字符。另外还可以通过配置wpa_psk来制定密钥,不过要设置一个256位的16进制密钥;
wpa_key_mgmt=WPA-PSK
#wpa_pairwise=TKIP或者CCMP--如果启用了WPA,需要指定wpa_pairwise;rsn_pairwise=TKIP或者CCMP--如果启用了WPA2,需要指定rsn_pairwise,或者采用wpa_pairwise的设定。都可以设定成TKIP、CCMP或者两者都有。


四,参考文献与网站介绍
《Linux下软AP功能之Hostapd介绍》:http://blog.csdn.net/hinyunsin/article/details/6029663
《hostapd基本配置》:http://www.cnblogs.com/zhuwenger/archive/2011/03/11/1980294.html

官方网站: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







你可能感兴趣的:(Hostapd)