# wpa_supplicant wpa_supplicant 是一个跨平台的 supplicant,支持 WPA、WPA2 和 WPA3 ( IEEE 802.11i )。它适用于台式机、笔记本电脑和嵌入式系统。常用于嵌入式Linux中连接无线网络。 wpa_supplicant 包其中包括主程序 wpa_supplicant , 密码配置工具 wpa_passphrase ,和一个文本的前端交互工具 wpa_cli。
使用 wpa_supplicant 连接到AP wpa_supplicant 工具运行是需要一个配置文件,文件中包含所连无线网的名称和密码。一般配置文件位于 /etc 目录、命名为 wpa_supplicant.conf 默认的配置文件如下ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1
network={
key_mgmt=NONE
}配置说明# wpa 的控制接口,必须要有
ctrl_interface=/var/run/wpa_supplicant
# wpa 控制接口的用户组,0 表示root用户可以读取WPA的配置
ctrl_interface_group=0
# 让 wpa_cli 程序可以更改配置文件
update_config=1
# 使用wpa_supplicant 来扫描选择AP
ap_scan=1
network={
ssid="Root" #无线网名称
psk="123456789" #无线网密码 如果没有密码的热点,psk=...,替换为 key_mgmt=NONE
}连接AP一般连接 Wi-Fi 的命令为: $> wpa_supplicant -B -i <interface> -c /etc/wpa_supplicant.confwpa_supplicant 连接 AP 最常用的参数说明: 查看连接状态$> iw dev wlan0 link
获取IP地址$> udhcpc –i wlan0 &
wpa_cliwpa_cli 工具是一个命令行工具,他可以被用作配置wpa_supplicant 。wpa_cli 运行时必须要连接(依赖)wpa_supplicant。 wpa_cli 扫描和连接 AP编辑配置 wpa_supplicant 的配置文件 $> vi /etc/wpa_supplicant.conf配置文件的内容 ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1
network={
key_mgmt=NONE
} 运行 wpa_supplicant $> wpa_supplicant -B -i <interface> -c /etc/wpa_supplicant.conf运行 wpa_cli $> wpa_cli
wpa_cli v2.9
Copyright (c) 2004-2019, Jouni Malinen <j@w1.fi> and contributors
This software may be distributed under the terms of the BSD license.
See README for more details.
Selected interface 'p2p-dev-wlan0'
Interactive mode
> 搜索AP使用 scan 和 scan_results 命令查看扫描到的 AP > scan # 搜索热点
OK
OK
> scan_results #获取搜索结果
bssid / frequency / signal level / flags / ssid
e4:d3:32:3a:06:2c 2462 -19 [WPA-PSK-CCMP][WPA2-PSK-CCMP][WPS][ESS] Root
fc:d7:33:67:d7:44 2412 -57 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] TP-LINK
0a:69:6c:2f:8b:14 2432 -57 [WPA-PSK-CCMP][WPA2-PSK-CCMP][ESS] lierda-test
12:69:6c:2f:8b:00 2412 -66 [ESS] lierda-acc
> 添加和连接 AP> add_network #添加一个AP
0
> set_network 0 ssid "MYSSID" # AP名称
> set_network 0 psk "passphrase" # AP密码
> enable_network 0
wpa_passphrasewpa_passphrase工具用于生成 wpa_supplicant 用于连接 AP 所需的的最小配置。 $> wpa_passphrase Root 123456789
network={
ssid="Root"
#psk="123456789"
psk=d37afbe3fb5722459d7eb04bf9d4c0d0323d1f36690a84f4559821f627de60f1
}将 wpa_passphrase 输出重定向到wpa_supplicant 配置文件 $> wpa_passphrase Root 123456789 >> /etc/wpa_supplicant.conf
|