/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 { }
块中的其他配置是有效的。