http://blog.csdn.net/weipeng1786/article/details/7329554
编译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来扫描和选择AP
ap_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/TKIP
network={
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
|