wpa_supplicant学习
来源:互联网 发布:租用 网络 视频会议 编辑:程序博客网 时间:2024/05/17 22:03
http://blog.csdn.net/weipeng1786/article/details/7329554
本来以为这个东西只有在Atheros的平台上用的,突然发现Ralink的平台也可以用,甚至还看到还有老美把这个东西往android上移植。看来是个好东西,学习一下。
官方的模块框图
关于wpa_supplicant的介绍很多,在这时就不介绍了,接下来我们谈移植:
编译openssl-0.9.8e
由于编译wpa_supplicant需要用到openssl的库,所以先编译openssl
将wpa_supplicant中的补丁拷贝到openssl中
#cp wpa_supplicant-0.6.10/patches/openssl-0.9.8e-tls-extensions.patch openssl-0.9.8e/
#cd openssl-0.9.8e
#vim Makefile
CC= mipsel-linux-gcc
AR= mipsel-linux-ar $(ARFLAGS) r
EX_LIBS= -ldl
RANLIB= mipsel-linux-ranlib
#make
#make install
在/usr/local/ssl目录下安装了ssl库
编译wpa_supplicant-0.6.10:
1)
下载地址:http://hostap.epitest.fi/wpa_supplicant/
解压文件
Cd wpa_supplicant
2)
Cp defconfig .config
编辑 .config
CC= mipsel-linux-gcc -L /usr/local/ssl/lib/
CFLAGS += -I/usr/local/ssl/include/
LIBS += -L/usr/local/ssl/lib/
接下来 直接make
一共生成了三个文件:wpa_supplicant,wpa_cli,wpa_passphrase
一个/etc/wpa_supplicant/wpa_supplicant.conf的例子
# 请不要修改下面这一行内容,否则将不能正常工作ctrl_interface=/var/run/wpa_supplicant# 确保只有root用户能读取WPA的配置ctrl_interface_group=0# 使用wpa_supplicant来扫描和选择APap_scan=1# 简单的情形:WPA-PSk密码验证方式,PSK是ASCII密码短语,所有合法的加密方式都允许连接network={ ssid="simple" psk="very secret passphrase" # 优先级越高,就能越早匹配到。 priority=5}# 与前面的设置相同,但要求对特定的SSID进行扫描(针对那些拒绝广播SSID的AP)network={ ssid="second ssid" scan_ssid=1 psk="very secret passphrase" priority=2}# 仅使用WPA-PSK方式。允许使用任何合法的加密方式的组合network={ ssid="example" proto=WPA key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP WEP104 WEP40 psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb priority=2}# 明文连接方式(不使用WPA和IEEE802.1X)network={ ssid="plaintext-test" key_mgmt=NONE}# 共享WEP密钥连接方式(不使用WPA和IEEE802.1X)network={ ssid="static-wep-test" key_mgmt=NONE # 引号包含的密钥是ASCII密钥 wep_key0="abcde" # 没有引号包含的密钥是十六进制密钥 wep_key1=0102030405 wep_key2="1234567890123" wep_tx_keyidx=0 priority=5}# 共享WEP密钥连接方式(无WPA和IEEE802.1X),使用共享密钥IEEE802.11验证方式network={ ssid="static-wep-test2" key_mgmt=NONE wep_key0="abcde" wep_key1=0102030405 wep_key2="1234567890123" wep_tx_keyidx=0 priority=5 auth_alg=SHARED}# 在IBSS/ad-hoc网络中使用WPA-None/TKIPnetwork={ ssid="test adhoc" mode=1 proto=WPA key_mgmt=WPA-NONE pairwise=NONE group=TKIP psk="secret passphrase"}
接下来创建目录 mkdir -p /var/run/wpa_supplicant
还有,如果是访问,WPA的网络时,系统,需要使用,随机数。可能用到/dev/urandom这个文件,
mknod /dev/urandom c 1 9
wpa_supplicant -B -i eth0 -c /my.conf
先说一下,选项的含意,-B 是后台运行。比 & 专业。
-i 是网络接口,如:eth0 eth1
-c 是配置文件
- wpa_supplicant学习
- wpa_supplicant学习
- wpa_supplicant学习
- wpa_supplicant学习
- wpa_supplicant学习
- wpa_supplicant学习
- wpa_supplicant学习
- Wpa_supplicant的应用学习
- wpa_supplicant 嵌入式学习(一)
- wpa_supplicant
- WPA_supplicant
- wpa_supplicant
- wpa_supplicant
- wpa_supplicant
- wpa_supplicant
- wpa_supplicant
- WPA_SUPPLICANT架构学习之接口介绍
- 学习 wpa_supplicant 4.2.2这一部分
- 2012-05-30
- MFC 一些函数功能
- GSM/GPRS模块学习
- poj 2302 Traditional BINGO
- java中的运算符&&和&、|和||区别
- wpa_supplicant学习
- 策划,程序,美术,运营,市场,你到底有多重要?
- 云渲染
- 代码开启sql2005远程连接功能
- 3、SystemV 消息队列
- gdb 64 solaris 10 sparc
- xmlHttp用法
- 离开机房后的深思
- 10个HTML5动画,让你忘掉Flash是啥