542 字
3 分钟
Windows WiFi屏蔽指定BSSID的方法

Windows WiFi 屏蔽指定 BSSID 的方法#

有时候周围有多个同名 WiFi(比如邻居的路由器和你家的碰巧重名),Windows 会自动选择信号强的那台连接,但你想连的可能是另一台。Windows 原生不支持 BSSID 黑名单,但可以通过其他方式绕过。

问题现象#

  • 两个 WiFi 名称相同(SSID 相同)
  • BSSID 不同(不同路由器的 MAC 地址)
  • Windows 总是自动连到不想连的那台

解决方案#

方法一:强制指定连接(推荐)#

使用 NirSoft 的免费工具 WifiInfoView 强制连接到指定的 BSSID:

Terminal window
WifiInfoView.exe /ConnectAP "WiFi名称" "目标MAC地址"

示例:

Terminal window
WifiInfoView.exe /ConnectAP "MyHomeWiFi" "AA:BB:CC:DD:EE:FF"
获取MAC地址

在命令行运行 netsh wlan show networks mode=bssid 查看所有可用网络的 BSSID。

方法二:降低漫游主动性#

如果两台信号一强一弱,可以降低网卡的”漫游欲望”:

  1. 右键开始菜单 → 设备管理器
  2. 展开 网络适配器 → 找到无线网卡
  3. 右键 → 属性高级 选项卡
  4. 找到 Roaming Aggressiveness(漫游主动性)
  5. 设置为 Lowest(最低)

原理:信号没断之前不轻易切换到其他 AP。

方法三:从路由器端解决(治本)#

如果你有路由器管理权限:

情况1:双频合一

  • 关闭”双频合一”功能
  • 给 5G 频段加后缀(如 _5G

情况2:Mesh组网

  • 调整路由器位置
  • 降低不想连的那台发射功率

查看当前连接的BSSID#

Terminal window
netsh wlan show interfaces

输出示例:

名称 : WiFi
描述 : Intel(R) Wireless-AC 9560
物理地址 : aa:bb:cc:dd:ee:ff
状态 : 已连接
SSID : MyHomeWiFi
BSSID : 11:22:33:44:55:66 <-- 这个就是当前连接的AP

创建快捷方式#

创建一个 .bat 文件放在桌面,双击即可强制连接:

ConnectToGoodAP.bat
@echo off
cd /d "C:\Tools\WifiInfoView"
WifiInfoView.exe /ConnectAP "MyHomeWiFi" "11:22:33:44:55:66"
echo 已尝试连接到指定AP
pause

总结#

方法适用场景难度
WifiInfoView必须连特定AP简单
降低漫游防止乱跳简单
改路由器有管理权限时中等

Windows 的 WiFi 管理机制确实不够灵活,上述方法是目前最好的 workaround。

参考链接#

Windows WiFi屏蔽指定BSSID的方法
https://im.awsl.app/posts/system-ops/055-windows-wifi-bssid/
作者
uu
发布于
2025-01-18
许可协议
CC0 1.0