很抱歉提出这么平凡的问题,但我突然很好奇。如果我打开Windows机器上的网络连接对话框,它会显示我的计算机连接到路由器然后连接到地球仪(标记为Internet)的可爱小图片。什么是Windows尝试连接,以便它决定计算机是否具有Internet连接?我假设“互联网”没有IP4地址,那么它到底在哪里?它只是在微软的家庭办公室发回ping地址吗?如果该地址消失,我的窗口的机器会突然决定它不再有通往互联网的路线吗?那些“靠近”该地址的Windows机箱是否会错误地报告他们无法上网时可以上网。
在此变得过于愚蠢之前我会停下来。但严重的是,Windows框使用什么标准来确定它是否具有Internet连接?我假设Linux和iOS系统具有相同的功能。他们使用相同的标准吗?
答案 0 :(得分:3)
用于“互联网”的常规IP地址为8.8.8.8
- 或Google.com。
如果您可以对其进行ping操作并从中获取网页,那么您很有可能至少可以访问某些的互联网。
但对于特定的Windows - Network Connectivity Status Indicator - 它使用不同的域名:dns.msftncsi.com
它将(除非被GPO禁用):
131.107.255.255
fd3e:4f5a:5b81::1
)据推测,如果检索到不同的响应,那么它可以判断它是否具有Wi-Fi登录或类似。
答案 1 :(得分:0)
你的直觉似乎是正确的。我不在Windows机器上,但您可以通过触发netstat
然后连接来找到。
答案 2 :(得分:0)
如果我正在编程,我会发出Ping,TCP和HTTP请求。某些设备通过代理连接,如防火墙,强制门户等。唯一可以确定的方法是发送内容并收到回复。
例如,我的Android设备可以检测强制网络门户。它可能通过尝试在某处进行HTTP连接来实现。