nhi*_*kle 135 windows-7 wireless-networking
在 Windows 7 中,如果没有 Internet 访问,通知区域网络图标将显示错误指示符
, 一旦成功连接到互联网,错误图标就会消失
. 有时,如果 WiFi 连接需要浏览器内的身份验证步骤,例如在酒店或大学的许多访客网络上,则会出现以下弹出气泡,说明如下:

Windows 如何知道它是否具有成功的 Internet 连接?
大概它正在检查一些在线 Microsoft 服务以查看它是否有成功的连接、是否被重定向到其他页面,或者根本没有得到任何响应,但我没有看到任何地方记录了此过程或所使用的服务. 任何人都可以解释这是如何工作的吗?我更喜欢参考事实的答案,而不仅仅是猜测,但如果你有一个很好的猜测,那就去做吧。
这个问题是本周的超级用户问题。
阅读 2011 年 5 月 16 日的博客条目以了解更多详细信息或提交您自己的本周问题。
Tob*_*tat 92
经过一番挖掘(Windows 中与网络和 Internet 相关的服务的数量惊人),我想我找到了它。Windows Vista 和 7 具有多种网络感知功能,其中之一是网络连接状态指示器,它执行连接测试,而网络系统托盘图标会使用这些功能。互联网连接测试很简单:
该机制还会检查托管文档的域是否解析为预期的 IP 地址。因此,如果此测试成功但无法检索文档,它也可能假设正确的 Internet 访问。
当您尚未在热点上进行身份验证时,它报告“无 Internet 访问”的原因在于热点的工作方式。它会阻止除 80 和 443(分别用于 HTTP 和 HTTPS)之外的所有端口,这些端口会被重定向到 Hotspot 的身份验证服务器,并且可能会以一种或另一种方式与 DNS 请求混淆。因此,NCSI 既无法解析其测试文件所在的域,即使它也无法访问实际文件,因为 HTTP 流量被重定向到身份验证服务器。
来源:http : //technet.microsoft.com/en-us/library/cc766017%28WS.10%29.aspx
Jef*_*ood 71
以下是连接状态确定过程的详细信息:
以下列表描述了 NCSI 如何与网站通信以确定网络是否具有 Internet 连接:
请求 DNS 名称解析
dns.msftncsi.com
http://www.msftncsi.com/ncsi.txt返回 200 OK 和文本的HTTP 请求Microsoft NCSI
这可以通过注册表设置禁用。如果你设置
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
NlaSvc\Parameters\Internet\EnableActiveProbing
Run Code Online (Sandbox Code Playgroud)
到0,Windows 将不再探测 Internet 连接。
Apple 在 iOS 中做了一些非常相似的事情来检测互联网连接和可能的酒店“登录”wifi 页面等。
正如杰夫所说,要检测 Internet 连接,Windows 将执行以下操作:
- 对服务器的 DNS 请求
- 已知内容的 HTTP 请求
除了杰夫的回答,我怀疑:
3 . 如果 HTTP 请求被重定向到 Microsoft 外部(或未返回预期内容),请在屏幕截图中显示消息。
对于需要额外登录信息的连接,更有可能通过 Jeff 提到的 DNS 解析步骤确定,发生以下三种情况:
我假设请求:
是一种快速测试互联网连接是否畅通的快速方法。之后,运行 dns 请求以确定连接的完整状态。