编译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
|