Chinaunix首页 | 论坛 | 博客
  • 博客访问: 647385
  • 博文数量: 175
  • 博客积分: 2457
  • 博客等级: 大尉
  • 技术积分: 1488
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-13 20:31
文章分类

全部博文(175)

文章存档

2012年(22)

2011年(153)

分类: LINUX

2011-11-24 20:35:36

http://wireless.kernel.org/en/users/Documentation/hostapd




Hostapd简介:

简单说,hostapd能够使得无线网卡切换为master模式,模拟AP(通常可以认为是路由器)功能,也就是我们说的软AP(Soft AP)

Hostapd的功能就是作为AP的认证服务器,负责控制管理stations(通常可以认为带无线网卡的PC)的接入和认证。

通过Hostapd可以将无线网卡切换为AP/Master模式,通过修改配置文件,可以建立一个开放式的(不加密)的,WEPWPAWPA2的无线网络。并且通过修改配置文件可以设置无线网卡的各种参数,包括频率,信号,beacon包时间间隔,是否发送beacon包,如果响应探针请求等等。还可以设置mac地址过滤条件等。具体可以参考它的。

下面就从官网上摘下的部分原因及翻译。翻译的不好请见谅。

 

hostapd is an IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator.

HostapdIEEE 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

  • 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
  • WPA and full IEEE 802.11i/RSN/WPA2
  • RSN: PMKSA caching, pre-authentication
  • IEEE 802.11r
  • IEEE 802.11w
  • RADIUS accounting
  • RADIUS authentication server with EAP
  • Wi-Fi Protected Setup (WPS)
  • Supported EAP methods (integrated EAP server and RADIUS authentication server)
  • EAP-TLS
  • EAP-PEAP/MSCHAPv2 (both PEAPv0 and PEAPv1)
  • EAP-PEAP/TLS (both PEAPv0 and PEAPv1)
  • EAP-PEAP/GTC (both PEAPv0 and PEAPv1)
  • EAP-PEAP/MD5-Challenge (both PEAPv0 and PEAPv1)
  • EAP-TTLS/EAP-MD5-Challenge
  • EAP-TTLS/EAP-GTC
  • EAP-TTLS/EAP-MSCHAPv2
  • EAP-TTLS/MSCHAPv2
  • EAP-TTLS/EAP-TLS
  • EAP-TTLS/MSCHAP
  • EAP-TTLS/PAP
  • EAP-TTLS/CHAP
  • EAP-SIM
  • EAP-AKA
  • EAP-AKA'
  • EAP-PAX
  • EAP-PSK
  • EAP-SAKE
  • EAP-FAST
  • EAP-IKEv2
  • EAP-GPSK

 

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一同使用

  • EAP-MD5-Challenge
  • EAP-MSCHAPv2
  • EAP-GTC
  • EAP-TNC (Trusted Network Connect; TNCS, IF-IMV, IF-T, IF-TNCCS)

 

支持的无线网卡/驱动

  • Linux mac80211 drivers
  • Host AP driver for Prism2/2.5/3
  • madwifi (Atheros ar521x)
  • BSD net80211 layer (e.g., Atheros driver) (FreeBSD 6-CURRENT)

 

如何确定一款无线网卡是否能被hostpad支持

ubuntu10.04为例

执行sudo aptitude install iw,安装无线配置工具iw

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

Supported interface modes:

* IBSS

* managed

* AP

* AP/VLAN

* WDS

* monitor

* mesh point


从网上搜的一个人的帖子 :

Linux Wifi共享上网脚本,类似win 7的Connectify工具

最近在Ubuntu找了很久,也找不到一个可以将无线网卡作AP的软件,就是类似win 7下的connectify工具,能将笔记本作为AP使用。试了网上很多方法都不行,有些是可以搜到热点,但我的Android手机连上去的时候获取不了ip地址。研究了几天,昨晚花了一晚时候,去写个脚本,成功的连上了。希望我这个脚本能帮到大家解决问题。

主要是用到iwconfig这个无线配置工具,然后用iptable设置NAT规则,使用dnsmasq去分配ip地址。

因為硬件不的同,設置也會有相應的修改。

本人的筆記本是:Acer 4743g

使用前,請激活網管理器的wifi功能以此加載模塊,然後再取消wifi功能。

  1. ifconfig wlan0 192.168.2.254 netmask 255.255.255.0  
  2. ifconfig wlan0 up  
  3. #设置为ad-hoc模式  
  4. iwconfig wlan0 mode ad-hoc  
  5. #设置essid,即搜索到的名字  
  6. iwconfig wlan0 essid Leon_in_GuangZhou  
  7. iwconfig wlan0 channel auto  
  8. #设置密码  
  9. iwconfig wlan0 key s:androidworkab  
  10. iwconfig wlan0 key restricted  
  11.   
  12. #删除旧的规则  
  13. iptables -N wireless-adhoc  
  14. iptables -F wireless-adhoc  
  15. iptables -t nat -F PREROUTING  
  16. iptables -t nat -F POSTROUTING  
  17. iptables -t nat -F  
  18. #建立新的规则  
  19. iptables -A wireless-adhoc -m state --state ESTABLISHED,RELATED -j ACCEPT  
  20. iptables -A wireless-adhoc -s 192.168.2.0/24 -j ACCEPT  
  21. iptables -A wireless-adhoc -p 47 -j ACCEPT  
  22. iptables -A wireless-adhoc -j DROP  
  23. iptables -A FORWARD -m state --state INVALID -j DROP  
  24. iptables -A FORWARD -j wireless-adhoc  
  25. iptables -t nat -I POSTROUTING -s 192.168.2.0/24 -j MASQUERADE  
  26. echo "1" > /proc/sys/net/ipv4/ip_forward  
  27. dnsmasq -i wlan0 --resolv-file=/etc/resolv.conf --conf-file=/etc/adhoc/dnsmasq.conf  



/etc/adhoc/dnsmasq.conf文件内容为

  1. dhcp-authoritative   
  2. dhcp-range=192.168.2.100,192.168.2.105,12h  
  3. dhcp-leasefile=/var/run/dnsmasq.leases  
  4. pid-file=/var/run/dnsmasq.pid  
  5. user=root  
  6. no-negcache  


完整脚本下载地址:


或者:


脚本要根据自己电脑情况修改

  1. #####################################  
  2. #要共享网络的设备,可以用ifconfig命令查看  
  3. ShareNet=eth0  
  4. Wmode=ad-hoc  
  5. Wchannel=auto  
  6. #显示共享wifi的名称  
  7. Wessid=Leon_in_GuangZhou  
  8. #这个是wifi设备的名称,可以用ifconfig查看  
  9. WInterface=wlan0  
  10. #密码  
  11. WPasskey=androidworkab  
  12. Wkey=restricted  
  13. Igateway=192.168.2.254  
  14. Inetmask=255.255.255.0  
  15. Inetwork=192.168.2.0  
  16. DhcpRangeMin=192.168.2.10  
  17. DhcpRangeMax=192.168.2.105  
  18. #####################################  



以下是脚本的使用方法:

#先加可执行的权限,XXX代表脚本的路径

chmod +x /XXX/XXX/adhoc

#运行脚本

sudo  /XXX/XXX/adhoc

#停止共享

sudo  /XXX/XXX/adhoc -s

#重启动共享

sudo  /XXX/XXX/adhoc -r


转载请注明出处:http://blog.csdn.net/feifei454498130/article/details/6642140




运行getprop命令可以查看到连接信息地址




注意:

如果运行脚本后,手机或电脑搜不到你的共享,运行重新启动共享命令

sudo  /XXX/XXX/adhoc -r

即可,多試几次就行了。

阅读(4485) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~