什么是wpa_spplicant
wpa_supplicant本是开源项目源码,被谷歌修改后加入android移动平台,它主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket(不管是wpa_supplicant与上层还是wpa_supplicant与驱动都采用socket通讯)与驱动交互上报数据给用户,而用户可以通过socket发送命令给wpa_supplicant调动驱动来对WiFi芯片操作。 简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支持。
Step by step:
1、运行wpa_supplicant程序;
/usr/***in/wpa_supplicant -Dnl80211 -iwlan0 -c /etc/wpa_supplicant.conf &
-d :增加调试信息
-Dwext :wext,驱动名称
-iwlan0 :wlan0,网络接口名称
/usr/***in/wpa_supplicant :wpa_supplicant可执行程序path
/etc/wpa_supplicant.conf :wpa_supplicant的配置文件path
======================================/
/etc/wpa_supplicant.conf这个文件是自己创建的,或者system自带的,内容如下:
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
======================================/
2、运行命令行控制工具
wpa_cli -iwlan0 -p/var/run/wpa_supplicant
注:-p/var/run/wpa_supplicant中的wpa_supplicant并不是可执行程序,而是个控制套接字。
3、连接WPA-PSK/WPA2-PSK加密的AP
>add_network (assume return 2) ===》返回一个控制ID号
>set_network ID号 ssid "your wifi name"
>set_network ID号 psk "your wifi password"
>enable_network ID号
4、动态自动获取IP地址
udhcpc -i wlan0 & ===》没有这一步的话,到第三步只是可以连接上wifi,但是不能上网,这个需要注意!
原作者:重返18