Windows 如何检测它是否已连接到 Internet?

尝试消除问题的工具

如果您曾经遇到过提示已连接、Windows 中不需要互联网访问或浏览器内身份验证,那么您一定对它感到好奇。我们的计算机如何知道互联网何时可用以及何时消失?

Windows 如何准确知道计算机何时连接到 Internet?

本文通过讲解Windows中Internet连接监控的全过程来回答问题。 快速总结 隐藏 1 网络连接状态指示灯 2 NCSI 的工作原理 3 你的隐私呢? 3.1 如何从注册表编辑器禁用 NCSI 3.2 如何从组策略编辑器禁用 NCSI

网络连接状态指示灯

网络连接状态指示灯 (NCSI) 是一种控制任务栏中 Internet 连接显示以及其他各种功能的机制。 NCSI 是 网络意识 该程序最初是在 Windows Vista 中引入的,此后一直在每个版本的 Windows 中执行。

这种机制被认为是一种智能通知系统,让用户了解他们当前的互联网状态。如果 NCSI 无法执行其功能,则表明没有 Internet 可用,即使计算机能够通过浏览器访问 Internet 并 ping 其他 IP 地址。

NCSI 的工作原理

NCSI 通过两个关键步骤来检查计算机所连接的互联网状态。这两个任务是独立执行的。

  1. NCSI 执行 DNS 查找 www.msftconnecttest.com ,然后发送一个 HTTP Get 请求到 http://www.msftncsi.com/ncsi.txt 并下载文本文件。这是一个包含 Microsoft 连接测试的纯文本文件。
  2. NCSI 还执行 DNS 查找 dns.msftncsi.com 并检查对应的 IP 地址是否为 131.107.255.255 .

从第 1 步开始,如果收到包含完全匹配项的文本文件,Windows 将确定计算机已连接到 Internet。但是,如果文本文件未下载或已被重定向,NCSI 将继续执行第二步。

一旦 NCSI 解决了 dns.msftncsi.com ,然后检查页面是否可访问。如果该页面可访问,则网络图标 通知托盘 显示它可以访问互联网。

但是,如果页面无法访问,则会提示可能需要额外的身份验证。但如果 DNS 解析完全失败,或返回到不同的 IP 地址,网络图标将显示无 Internet 访问。

如果您在背后工作,可能会发生类似的情况 防火墙并阻止所有入站和出站流量 ,并且只允许某些流量通过。这意味着 NCSI 将无法与 www.msftncsi.comwww.msftconnecttest.com .这将反过来提示 Windows 显示您的计算机上没有可用的互联网。

对此的解决方法是允许上述 URL 的入站和出站通信通过防火墙。

你的隐私呢?

根据 Microsoft 在 NCSI 上提供的文档,他们的服务器存储了访问时间以及在向其发出 DNS 查找请求时的 IP 地址。 www.msftncsi.com .尽管他们声称这些信息是保密的,但有些人仍然对此感到不舒服。

解决方法是禁用 Windows 上的 NCSI 功能。可以通过更改系统注册表以及组策略编辑器来实现。

如何从注册表编辑器禁用 NCSI

  1. 通过键入打开注册表编辑器 注册表编辑器 在运行。
  2. 从左窗格中,导航到以下内容:
    HKEY_Local_Machine -> System -> CurrentControlSet -> Services -> NlaSvc -> Parameters -> Internet
  3. 现在双击 启用主动探测 在右侧窗格中,并设置 价值数据0 .

    点击 好的 并重新启动计算机

如何从组策略编辑器禁用 NCSI

通过组策略编辑器也可以实现相同的功能。

  1. 通过输入启动编辑器 gpedit.msc 在运行。
  2. 从左窗格中,导航到以下内容:
    计算机配置 -> 管理模板 -> 系统 -> Internet 通信管理 -> Internet 通信设置
  3. 在右侧窗格中,双击 关闭 Windows 网络连接状态指示器活动测试 然后选择 启用 .点击 好的 .
  4. 现在通过键入打开命令提示符 指令 在运行。
  5. 进入 gp更新/强制 强制执行对集团政策所做的更改。

请注意,更改此参数将阻止您的操作系统与 NCSI 服务器通信,因此不会再提示浏览器是否需要额外的身份验证。

相反,该 通知托盘 现在将显示没有互联网访问,即使有。

有些人在禁用 NCSI 后遇到了 Office 365、Skype、OneDrive 和 Outlook 等应用程序的问题。但是,在我们的案例中,所有应用程序都正常运行。

我们希望您觉得这些信息很有价值。