wifi名称(essid)相同的多个无线网,我们电脑在连接的时候通常会选择一个信号最好的去连接,但是总有些情况下我们需要自己指定连接到某一台路由器的无线网上,这样就只能通过bssid(mac地址,唯一标志)来连接了,windows系统下有一些图形化界面的工具可以按bssid来切换,而mac下却没有这样的工具,博主只能查找各种文档,总结出一个可行的方案。
如何查询bssid
# 搜索所有wifi信息
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s
# 搜索名称为xxx的wifi信息
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s xxx
注意,执行命令后会需要需要机器密码确认。
注意,sudo一定要加,删掉sudo的话,查询出来的结果里面bssid全部都会是空的。
查询结果格式如下
SSID BSSID RSSI CHANNEL HT CC SECURITY (auth/unicast/group)
wifi-1 18:3f:5d:03:6a:92 -88 44 Y CN WPA(802.1x/AES/AES) RSN(802.1x/AES/AES)
wifi-1 18:6f:2d:03:1a:90 -87 21 Y CN WPA(802.1x/AES/AES) RSN(802.1x/AES/AES)
wifi-2 13:6f:2f:03:6a:91 -87 137 Y CN NONE
wifi-2 16:6f:3d:01:6a:93 -87 44 Y CN WPA(802.1x/AES/AES) RSN(802.1x/AES/AES)
wifi-2 11:6f:2d:03:4a:94 -87 66 Y CN RSN(PSK/AES/AES)
指定bssid连接wifi
# 无密码的话,就把"wifi密码"去掉即可
networksetup -setairportnetwork en0 "wifi名称" "wifi密码" -BSSID "指定的bssid"
如果执行命令后连不上的话,那就多试几次
其他
这种方式只是帮助你把wifi切换到指定的路由器,但是并不能保证他不会自动切走又切到别的bssid上,哎,还是比较无解的。
评论区