Windows 网络连接状态指示器 (NCSI)


Windows网络位置感知 (NLA) 服务检测网络的属性并确定如何管理与该网络的连接。 NLA 使用名为网络连接状态指示器 (NCSI) 的组件来确定计算机是否已成功连接到网络,以及网络是否具有 Intranet 或 Internet 连接。

NCSI 同时使用主动和被动探测器。 这些探测器由任意网络接口中的更改触发。 当按照"症状"部分所述将计算机连接到网络时,NCSI 将开始一个包含以下一个或多个内容的进程:

NCSI 活动探测器和网络状态警报

活动探测器过程包括以下步骤:

  • Windows 10或更高版本:
    1. NCSI 发送 DNS 请求以解析 www.msftconnecttest.com FQDN 的地址。
    2. 如果 NCSI 收到来自 DNS 服务器的有效响应,NCSI 将向 /connecttest.txt 发送纯 HTTP GET http://www.msftconnecttest.com 请求。
    3. 如果 NCSI 成功下载该文本文件,它将确保该文件包含 Microsoft 连接 Test。
    4. NCSI 发送另一个 DNS 请求来解析 dns.msftncsi.com FQDN 的地址。
      • 如果其中任何请求失败,网络警报将显示在任务栏 (如症状) 。 如果将鼠标悬停在图标上方,则会看到"无连接"或"受限的 Internet 访问" (,具体取决于哪些请求) 。
      • 如果所有这些请求都成功,任务栏将显示常见的网络图标。 如果将鼠标悬停在图标上方,则会看到"Internet 访问"等消息。
  • Windows 8.1或早期版本:
    1. NCSI 发送 DNS 请求以解析 www.msftncsi.com FQDN 的地址。
    2. 如果 NCSI 收到来自 DNS 服务器的有效响应,NCSI 将向 /ncsi.txt 发送纯 HTTP GET http://www.msftncsi.com 请求。
    3. 如果 NCSI 成功下载该文本文件,它将确保该文件包含 Microsoft NCSI。
    4. NCSI 发送另一个 DNS 请求来解析 dns.msftncsi.com FQDN 的地址。
      • 如果其中任何请求失败,网络警报将显示在任务栏 (如症状) 。 如果将鼠标悬停在图标上方,则会看到"无连接"或"受限的 Internet 访问" (,具体取决于哪些请求) 。
      • 如果所有这些请求都成功,任务栏将显示常见的网络图标。 如果将鼠标悬停在图标上方,则会看到"Internet 访问"等消息。

NCSI 和 NLA 服务将这些响应与其他信息组合在一起以构建网络连接的配置文件,或标识其现有配置文件。 网络连接配置文件提供配置防火墙Windows配置文件时Windows的信息:

  • 对于经过 Active Directory 身份验证的网络:防火墙域配置文件。
  • 对于用户已标记为"专用"的网络:防火墙专用配置文件。
  • 对于用户已标记为"公共"的网络:公共防火墙配置文件。

备注

可以使用组策略来限制活动探测器过程,并可以替换其他网站作为目标 (尽管此替换不是建议的解决方案) 。 有关更多信息,请参阅以下资源:

身份验证和自动登录页

如果网络需要凭据,Windows打开默认浏览器 (例如 Internet Explorer 或 Edge) 。 如果网络有登录页,该页面将显示在浏览器中。

引入此行为是为了提高Windows用户体验。 在早期版本的 Windows,当您连接到要求您进行身份验证的网络时,浏览器窗口不会自动打开。 您可能会看到一条消息,指出必须执行进一步操作才能完全连接到网络。 若要完成连接,必须单击该消息以打开浏览器窗口 (或手动打开浏览器窗口) 输入用户名和密码。

由于网络不允许在没有凭据的情况下访问 Internet,网络警报将显示在任务栏中。

NCSI 被动监视、MSN 门户页面和网络状态警报

除了本文介绍的活动探测器之外,NCSI 还监视计算机上其他应用程序的网络活动。 即使主动探测器进程失败,此被动监视过程也将继续。 NCSI 根据其他应用程序是否可以成功建立 TCP 连接来调整其网络状态确定。 如果由于活动探测器故障而出现网络警报,则被动探测器成功后,网络警报将消失。

备注

NCSI 被动监视过程不会将任何信息传输至计算机或从计算机传输,也不读取其他应用程序传输的任何信息。

在某些情况下,例如,当你连接到使用代理服务器连接到 Internet 的网络时,或者当网络限制阻止 NCSI 完成其活动探测器过程时,Windows 会在默认浏览器中打开 MSN 门户页面。 如果在计算机上分析网络跟踪,则会显示一个 HTTP 连接,后跟与 http://www.msftconnecttest.com/redirect MSN 门户的连接。 Windows打开此页面,以受益于被动探测器过程。 如果页面加载,NCSI 将得出计算机具有 Internet 访问权限的结论。 当不同的探测器失败然后成功时,将出现网络状态警报,然后消失。

备注

若要防止在计算机连接到具有代理服务器的网络时打开浏览器窗口,您必须配置网络防火墙以允许访问端口 80 上的以下 URL:

  • *.msftncsi.com
  • *.msftconnecttest.com

有关详细信息,请参阅KB 2778122、Using authenticated proxy servers together with Windows 8

解决方法

可以使用注册表或组策略对象或 GPO 中的注册表或组策略对象禁用 NCSI 主动或被动 (GPO) 。

注意

Microsoft 不建议禁用 NCSI 探测器。 多个操作系统组件和应用程序依赖于 NCSI。 例如,如果 NCSI 无法正常工作,Microsoft Outlook 可能无法连接到邮件服务器,或者 Windows 可能无法下载更新,即使计算机已连接到 Internet。

若要使用注册表禁用 NCSI 活动探测器,请配置以下注册表项之一。

重要:

请仔细遵循本部分中的步骤进行操作。 对注册表修改不当可能会导致严重问题。 修改之前,备份注册表以便在发生问题时进行还原

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\EnableActiveProbing

    • 键类型:DWORD
    • 值:Decimal 0 (False)
  • HKLM\Software\Policies\Microsoft\Windows\NetworkConnectivityStatusIndicator\NoActiveProbe

    • 键类型:DWORD

    • 值:Decimal 1 (True)

备注: 在默认注册表配置中,此注册表项不存在。 必须创建它。 若要使用注册表禁用 NCSI 被动探测器,请创建以下注册表项。

  • HKLM\Software\Policies\Microsoft\Windows\NetworkConnectivityStatusIndicator\DisablePassivePolling

    • 键类型:DWORD

    • 值:Decimal 1 (True)

      备注:在默认注册表配置中,此注册表项不存在。 必须创建它。 若要使用组策略禁用 NCSI 活动探测器,请配置以下 GPO:

  • 计算机配置通信管理通信设置

    • 值:已启用

若要使用组策略禁用 NCSI 被动探测器,请配置以下 GPO:

  • 计算机配置
    • 值:已启用

References:


文章作者: sfc9982
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 sfc9982 !
  目录