解决Windows有网络连接但是显示“无Internet”的问题 | 您所在的位置:网站首页 › win10internet无网络 › 解决Windows有网络连接但是显示“无Internet”的问题 |
引子
最近电脑莫名其妙地出现了可以正常上网,但是任务栏上的网络图标显示“无Internet”的问题。如果不使用微软账户的话,这个问题其实没什么影响,但是如果使用微软账户,这个问题会导致所有与微软账户相关的软件无法登录,比如Microsoft 365和Outlook邮箱。 在网上找了很多帖子都没有解决,最终通过相关帖子的学习提供一种解决该问题的思路,如果有用,请不要吝惜你的点赞😁如果你有更好的解决方案,欢迎评论分享 思路要想知道这个问题的原因,首先我想到的是需要了解Windows网络感知的原理。通过查找相关资料,发现Windows系统中的网络感知功能是通过获取特定服务器的请求来实现的,具体可以参考[1],其中介绍了Windows 7中的网络感知功能实现方式,在Windows 10中,实现方式类似,但是服务器地址变了。进入注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet路径可以查看具体服务器地址。 根据[1],下面简要介绍一下在我的机器上,网络感知的基本过程: 向 dns.msftncsi.com 发送 DNS 查找请求。此 DNS 地址应解析为 131.107.255.255。请求 http://www.msftconnecttest.com/connecttest.txt,如果网络正常,则此文件是纯文本文件,仅包含文本 Microsoft Connect Test。如果上面过程1不正常,则提示“无法访问Internet”,如果1正常2不正常,则提示需要进行身份验证。 尝试 检查dns解析大致了解原理后开始尝试问题的解决办法,我的思路首先是检查 dns.msftncsi.com是否被正确的解析了,通过Ping检查: ping dns.msftncsi.com结果返回: 正在 Ping dns.msftncsi.com [131.107.255.255] 具有 32 字节的数据: 请求超时。说明正确的解析了 dns.msftncsi.com,ping不通的原因是 dns.msftncsi.com不会响应Ping请求[2]。 检查网页请求在确认上一步没有问题之后,点击http://www.msftconnecttest.com/connecttest.txt查看是否能名获取正确的文本内容,测试发现文本内容也可以正确获取。到这一步就可以排除网络和连接的问题了。 最终方法在排除网络的原因之后,我猜测可能是驱动的原因,在禁用网络适配器并重新启用后,网络就可以正常连接了。 总结这个问题的解决其实带有一定的偶然性,但是在解决问题的过程中学习了Windows的网络感知原理,特此记录分享。 |
CopyRight 2018-2019 实验室设备网 版权所有 |