我的电脑如何知道它已连接到互联网?

时间:2016-01-27 22:25:29

标签: windows networking

很抱歉提出这么平凡的问题,但我突然很好奇。如果我打开Windows机器上的网络连接对话框,它会显示我的计算机连接到路由器然后连接到地球仪(标记为Internet)的可爱小图片。什么是Windows尝试连接,以便它决定计算机是否具有Internet连接?我假设“互联网”没有IP4地址,那么它到底在哪里?它只是在微软的家庭办公室发回ping地址吗?如果该地址消失,我的窗口的机器会突然决定它不再有通往互联网的路线吗?那些“靠近”该地址的Windows机箱是否会错误地报告他们无法上网时可以上网。

在此变得过于愚蠢之前我会停下来。但严重的是,Windows框使用什么标准来确定它是否具有Internet连接?我假设Linux和iOS系统具有相同的功能。他们使用相同的标准吗?

3 个答案:

答案 0 :(得分:3)

用于“互联网”的常规IP地址为8.8.8.8 - 或Google.com。

如果您可以对其进行ping操作并从中获取网页,那么您很有可能至少可以访问某些的互联网。

但对于特定的Windows - Network Connectivity Status Indicator - 它使用不同的域名:dns.msftncsi.com

它将(除非被GPO禁用):

  • 解析名称,并验证其是否具有“正确”的IP(131.107.255.255 fd3e:4f5a:5b81::1
  • 执行HTTP访问此地址并检查它是否获得结果。 NCSI

据推测,如果检索到不同的响应,那么它可以判断它是否具有Wi-Fi登录或类似。

答案 1 :(得分:0)

你的直觉似乎是正确的。我不在Windows机器上,但您可以通过触发netstat然后连接来找到。

答案 2 :(得分:0)

如果我正在编程,我会发出Ping,TCP和HTTP请求。某些设备通过代理连接,如防火墙,强制门户等。唯一可以确定的方法是发送内容并收到回复。

例如,我的Android设备可以检测强制网络门户。它可能通过尝试在某处进行HTTP连接来实现。