公共 Wi-Fi 与隐私
Mac 上不显示 Wi-Fi 登录页面
公共网络通常会拦截所有流量,直到你在登录页面上完成登录。macOS 会发现并打开这类页面,但有时不会,这时就得手动打开。
症状
- Mac 已加入网络,但没有弹出登录窗口。
- 网页无法加载,或显示安全警告。
- 连接起初正常,过一段时间后中断。
可能的原因
- Mac 自动加入了网络。Mac 自动加入已知网络时,可能会错过登录窗口。
- VPN 或自定 DNS。VPN 或其他 DNS 服务器可能导致网络无法将你引导到它的登录页面。
- 会话已过期。Apple 指出,会话结束后,网络可能会显示错误的页面,或在 Safari 浏览器中显示安全警告。
- 网络配置。Apple 要求网络运营方以标准方式公布登录页面,但并非所有网络都这样做。
如何检查
按住 Option 键并点按 Wi-Fi 图标,确认连接的是正确的网络。
显示 Wi-Fi 服务的 DNS 服务器。自定服务器会显示在这里。
networksetup -getdnsservers Wi-Fi输出
There aren't any DNS Servers set on Wi-Fi.表示 Mac 使用的是网络提供的 DNS。查看服务顺序的最上方是否有 VPN。
networksetup -listnetworkserviceorder
如何修复
登录完成前,先关闭 VPN。
在浏览器中打开一个使用 http(而非 https)的页面,例如 http://captive.apple.com。
如果网络仍然没有跳转,请暂时移除自定 DNS。
sudo networksetup -setdnsservers Wi-Fi empty需要管理员密码。
在登录页面上登录。
如果使用自定 DNS,登录后请重新设置 DNS 服务器。
如果页面仍未出现,请忽略此网络,然后从 Wi-Fi 菜单重新加入。
使用 Kilobat
用 Kilobat 的诊断检查是否有登录页面。
kilobat diagnose --json输出 网络要求登录时,
measurements.captivePortal为true。Kilobat 的 Wi-Fi菜单会显示“需要登录”,“健康”标签页会显示“打开网络登录页面”。
如果用 Kilobat 设置过 DNS,登录时请切换回网络提供的 DNS。
kilobat dns automatic更改 DNS 需要管理员密码。
常见问题
为什么出现的是证书警告,而不是登录页面?
网络拦截了 https 页面并显示自己的页面。请改为打开 http 页面。
在公共 Wi-Fi 上应该使用 VPN 吗?
VPN 可以保护你的流量,但请在登录完成后再打开它。
参考资料
- Apple Developer 新闻:How to modernize your captive network(2020年6月22日)
- Apple 支持:如果 Mac 无法通过 Wi-Fi 连接到互联网
- networksetup(8),macOS 27.2 自带的 man 手册页
参考资料核查于 2026年10月29日。man 手册页为 macOS 自带版本;在“终端”中用 man <name> 打开。