wpa_supplicant.conf 中有多个相同的 SSID

wpa_supplicant.conf 中有多个相同的 SSID

/etc/wpa_supplicant.conf 中有两个网络设置。它们都有相同的 ssid,但 id_str 和 psk 不同。

连接到 AP 后,如何查看我正在使用哪种网络配置?

ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
#Disable wifi direct
p2p_disabled=1

network={
    ssid="SameSSID"
    psk="12345678"
    id_str="CorrectPSK"
}

network={
    ssid="SameSSID"
    psk="00000000"
    id_str="WrongPSK"
}

答案1

在用户空间中,wpa_supplicant可以通过 进行控制wpa_cli
可以通过以下命令确认当前信息。

$ wpa_cli -p /var/run/wpa_supplicant status

status信息可用于查看当前连接的AP的各种信息。
我相信你可以对这些信息做出判断。

下面是一个使用示例。测试时使用的AP信息如下所示。

ssid: test_ap
password: 12345678

下面是使用该命令的示例。
也许psk会根据您的密码而改变。

root@test:~# wpa_cli -p /var/wpa status
Selected interface 'wlan0'
bssid=12:34:56:78:90:a1
ssid=test_ap
id=0
passphrase=12345678
psk=?????????????????????????????
mode=station
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=WPA2-PSK
wpa_state=COMPLETED
address=11:22:33:44:55:66
signal_level=-22
root@test:~#

答案2

如果你想知道自己连接的是哪个网络,也可以使用BSSID来识别。它通常是接入点的 MAC 地址(符号:xx:xx:xx:xx:xx:xx)。这取决于系统如何找到 BSSID。ifconfig通常在 BSD 和其他 Unix 系统上显示此信息。

您还可以使用该bssid参数进一步限制接入点选择,这样就不会那么混乱。

例子:

network={
    ssid="My network"
    bssid=00:11:22:33:44:55
    ...
}

1个BSSID(1个接入点)

如果您忘记了哪种配置是正确的(这意味着您只有一个网络/AP),请注释掉一个配置块(使用#)并查看 wpa 请求者是否仍然连接。

第一次尝试如下所示:

ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
#Disable wifi direct
p2p_disabled=1

network={
    ssid="SameSSID"
    psk="12345678"
    id_str="CorrectPSK"
}

#network={
#    ssid="SameSSID"
#    psk="00000000"
#    id_str="WrongPSK"
#}

然后重新启动 wpa_supplicant 并查看是否与接入点关联。如果没有,则另一个network { }块中的其他配置是有效的。

相关内容