wpa_supplicant
是一个连接、配置WIFI
的工具,它主要包含wpa_supplicant
与wpa_cli
两个程序。通常情况下,可以通过wpa_cli
来进行WIFI
的配置与连接,如果有特殊的需要,可以编写应用程序直接调用wpa_supplicant
的接口直接开发。
启动wpa_supplicant
应用
1
| $ wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B
|
/etc/wpa_supplicant.conf
文件里,添加下面代码:
1
| ctrl_interface=/var/run/wpa_supplicant update_config=1
|
启动wpa_cli
应用
1 2 3
| $ wpa_cli -i wlan0 scan $ wpa_cli -i wlan0 scan_result $ wpa_cli -i wlan0 add_network
|
如果要连接加密方式是[WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][ESS]
(wpa
加密),wifi
名称是name
,wifi
密码是:psk
。
1 2 3
| $ wpa_cli -i wlan0 set_network 0 ssid '"name"' $ wpa_cli -i wlan0 set_network 0 psk '"psk"' $ wpa_cli -i wlan0 enable_network 0
|
如果要连接加密方式是[WEP][ESS]
(wep
加密),wifi
名称是name
,wifi
密码是psk
。
1 2 3 4
| $ wpa_cli -i wlan0 set_network 0 ssid '"name"' $ wpa_cli -i wlan0 set_network 0 key_mgmt NONE $ wpa_cli -i wlan0 set_network 0 wep_key0 '"psk"' $ wpa_cli -i wlan0 enable_network 0
|
如果要连接加密方式是[ESS]
(无加密),wifi
名称是name
。
1 2 3
| $ wpa_cli -i wlan0 set_network 0 ssid '"name"' $ wpa_cli -i wlan0 set_network 0 key_mgmt NONE $ wpa_cli -i wlan0 enable_network 0
|
分配ip/netmask/gateway/dns
1
| $ udhcpc -i wlan0 -s /etc/udhcpc.script -q
|
执行完毕,就可以连接网络了。
保存连接
1
| $ wpa_cli -i wlan0 save_config
|
断开连接
1
| $ wpa_cli -i wlan0 disable_network 0
|
连接已有的连接
1 2 3
| $ wpa_cli -i wlan0 list_network $ wpa_cli -i wlan0 select_network 0 $ wpa_cli -i wlan0 enable_network 0
|
断开wifi
1 2 3
| $ ifconfig wlan0 down $ killall udhcpc $ killall wpa_supplicant
|
wpa_wifi_tool
是基于wpa_supplicant
及wpa_cli
的一个用于快速设置wifi
的工具,方便调试时连接wifi
使用。使用方法:1、运行wpa_wifi_tool
;2、输入help
进行命令查看;3、s
进行SSID
扫描;4、c[n]
进行wifi
连接,连接时若为新的SSID
则需输入密码,若为已保存的SSID
则可以使用保存过的密码或者重新输入密码;5、e
退出工具。