公共 Wi-Fi 与隐私

Mac 上不显示 Wi-Fi 登录页面

公共网络通常会拦截所有流量,直到你在登录页面上完成登录。macOS 会发现并打开这类页面,但有时不会,这时就得手动打开。

适用于:所有当前 macOS 版本。macOS 11 Big Sur 及更高版本还会读取网络所公布的登录页面地址。核查日期:2026年10月29日

症状

  • Mac 已加入网络,但没有弹出登录窗口。
  • 网页无法加载,或显示安全警告。
  • 连接起初正常,过一段时间后中断。

可能的原因

  • Mac 自动加入了网络。Mac 自动加入已知网络时,可能会错过登录窗口。
  • VPN 或自定 DNS。VPN 或其他 DNS 服务器可能导致网络无法将你引导到它的登录页面。
  • 会话已过期。Apple 指出,会话结束后,网络可能会显示错误的页面,或在 Safari 浏览器中显示安全警告。
  • 网络配置。Apple 要求网络运营方以标准方式公布登录页面,但并非所有网络都这样做。

如何检查

  1. 按住 Option 键并点按 Wi-Fi 图标,确认连接的是正确的网络。

  2. 显示 Wi-Fi 服务的 DNS 服务器。自定服务器会显示在这里。

    networksetup -getdnsservers Wi-Fi

    输出 There aren't any DNS Servers set on Wi-Fi. 表示 Mac 使用的是网络提供的 DNS。

  3. 查看服务顺序的最上方是否有 VPN。

    networksetup -listnetworkserviceorder

如何修复

  1. 登录完成前,先关闭 VPN。

  2. 在浏览器中打开一个使用 http(而非 https)的页面,例如 http://captive.apple.com。

  3. 如果网络仍然没有跳转,请暂时移除自定 DNS。

    sudo networksetup -setdnsservers Wi-Fi empty

    需要管理员密码。

  4. 在登录页面上登录。

  5. 如果使用自定 DNS,登录后请重新设置 DNS 服务器。

  6. 如果页面仍未出现,请忽略此网络,然后从 Wi-Fi 菜单重新加入。

使用 Kilobat

  1. 用 Kilobat 的诊断检查是否有登录页面。

    kilobat diagnose --json

    输出 网络要求登录时,measurements.captivePortal 为 true。

  2. Kilobat 的 Wi-Fi菜单会显示“需要登录”,“健康”标签页会显示“打开网络登录页面”。

  3. 如果用 Kilobat 设置过 DNS,登录时请切换回网络提供的 DNS。

    kilobat dns automatic
  4. 更改 DNS 需要管理员密码。

常见问题

为什么出现的是证书警告,而不是登录页面?

网络拦截了 https 页面并显示自己的页面。请改为打开 http 页面。

在公共 Wi-Fi 上应该使用 VPN 吗?

VPN 可以保护你的流量,但请在登录完成后再打开它。

参考资料

参考资料核查于 2026年10月29日。man 手册页为 macOS 自带版本;在“终端”中用 man <name> 打开。