微软 Windows 系统检测网络连通性(用于显示感叹号)竟然是通过访问一个特殊网址来实现的
一次我走到了弱网环境中,意外地发现浏览器打开了 http://www.msftconnecttest.com/redirect 网址,随后右下角的网络图标出现了一枚“感叹号”。
吹水的推断
从直观看来,这个网址的连通性和网络图标上的“感叹号”有着直接的联系。那么到底有没有联系呢?于是去知乎上看看,发现了专业造轮子拉黑抢前排的轮子哥的回复。
vczh 专业造轮子,拉黑抢前排。http://gaclib.net
这个网站是windows用来测试你有没有连上网的(
编辑于 2017-05-15
而轮子哥是谁呢?Microsoft Office 团队的开发人员,所以对微软产品的一些技术性描述还是有些可信的(虽然吹水占了多数)。轮子哥不要怪我啊(逃
不过,吹水归吹水,还是需要更多地了解下这个网址。
官方的依据
这个网址用于检测网络连接状态,并以图标形式展示给用户。而这个图标称之为“网络连接状态图标”(Connection Status Icon,NCSI)。
自 Windows 8 开始,不同版本的 Windows 操作系统有不同的检测网络连接状态的 url,但都是通过 url 来检测的。
- Windows 10.0.15063 (1703) 至 10.0.07134 (1803)
- Windows 10.0.14393 (1607)
- Windows 8/8.1 至 10.0.15063 (1511)
而 Windows XP/Vista/7 的检测方式有些不同,但都是通过 Network Location Awareness (NLA) 方式来检测的。
关于 Windows XP/Vista/7 的检测方式,可以阅读:Network Location Awareness (NLA) and how it relates to Windows Firewall Profiles - Networking Blog。
局限性
- 如果计算机上有多张网络适配器可以工作,但只有一个探测到连通状态,那么图标上依然会有一个感叹号,即探测为“网络受限”。
参考资料
- 开机总是有一个弹窗 http://www.msftconnecttest.com/redirect ? - 知乎
- The Network Connection Status Icon - Networking Blog
- Network Location Awareness (NLA) and how it relates to Windows Firewall Profiles - Networking Blog
- The Windows Network Connection Status Icon (NCSI) - markwilson.it
- What must be unblocked for network icon to not say “no internet connection?” - Windows 10 - Spiceworks
- NLM_CONNECTIVITY enumeration (Windows)
- msftconnecttest.com - Microsoft Community
- http://www.msftconnecttest.com/redirect
- Appendix K: Network Connectivity Status Indicator and Resulting Internet Communication in Windows Vista - Microsoft Docs
微软 Windows 系统检测网络连通性(用于显示感叹号)竟然是通过访问一个特殊网址来实现的的更多相关文章
- win8以上windows系统eclipse环境下图片显示乱码问题解决
相信升级了win10系统的诸多安卓开发者在用eclipse时会发现一个很不爽的地方,就是原本win7环境下能正常打开的图片文件现在成了一页乱码,我曾多次碰到这个问题,在网上也很难找到行之有效的具体解决 ...
- 给电脑插上无线网卡,变成路由器----Windows系统承载网络的使用
1. 以管理员身份运行命令提示符(PowerShell) 2. 启用并设定虚拟wifi网卡 netsh wlan set hostednetwork mode=allow ssid=wifi名称 ke ...
- VC6.0 C++ 如何调用微软windows系统SDK 语音API
下载3个语音API安装包 http://www.microsoft.com/en-us/download/details.aspx?id=10121 需要安装微软语音API安装包:SpeechSDK5 ...
- windows系统 SVN出现 can't open file‘\XXX\txn-current-lock’ 拒绝访问 问题处理
问题描述: 在新建的svn目录下,提交文件出现 如图错误提示.
- RedHat6.5如何被windows系统远程桌面连接
一.redhat 6.5远程桌面配置 服务器端: 1.设置允许其它人查看您的远程桌面 在“系统”-“首选项”-“远程桌面”-在“允许其它人查看您的远程桌面”前打勾:在“允许其它用户控制您的桌面”打勾 ...
- 【转】通过VIOS实现AIX系统的网络虚拟化
在上一篇博文中,我们已经在一个新创建的LPAR中通过File-backed device以及VMLibrary的方式成功安装了一个AIX系统,接下来我们讨论如何通过VIOS的协助来完成新装AIX系统的 ...
- 手把手教你玩转 Gitea|在 Windows 系统上安装 Gitea
Gitea 支持在 Windows 系统上安装和使用.Gitea 本身作为一个单体应用程序,即点即用,如需长期驻留作为后台服务并开机运行就要依靠 Windows 服务工具 sc.exe. 通过本文,你 ...
- 在Windows系统上搭建aria2下载器
Aria2是一个命令行下运行.多协议.多来源下载工具(HTTP/HTTPS.FTP.BitTorrent.Metalink),并且支持迅雷离线以及百度云等常用网盘的多线程下载(甚至可以超过专用客户端的 ...
- windows 系统下git 的使用
前言: 最新版本的git for windows也是有界面的,不再是以前的纯命令行操作,但是我习惯了乌龟,所以感觉还是直接用乌龟比较方便点~~ 前提,已安装以下: git for windows,未安 ...
随机推荐
- Java循环跳转语句之 break
生活中,我们经常会因为某些原因中断既定的任务安排.如在参加 10000 米长跑时,才跑了 500 米就由于体力不支,需要退出比赛.在 Java 中,我们可以使用 break 语句退出指定的循环,直接执 ...
- python一个元素全为数的列表做差分
woc = [7, 5, 7, 3, 5, 1, 2] diff = [ wo[i]-wo[i+1] for i in range(len(wo)-1) ]
- js从一个select选择数据添加到另一个select(包括移除)
一.实现效果 二.要求 1.选中左侧的菜单,点击“>>”,该菜单(1项或多项选中的)将添加到右侧菜单 2.选中右侧菜单,点击“<<”,则移除选中的菜单 3.点击“>> ...
- 【Python】模块学习之使用paramiko连接Linux,远程执行命令,上传下载、文件
本文主要介绍paramiko远程执行linux命令,及在服务器上进行文件的上传.下载 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. ...
- 值得推荐的10本PHP书籍(转)
值得推荐的10本PHP书籍(转) 一.总结 一句话总结: 二.值得推荐的10本PHP书籍 本篇文章的目的是想较全面地推荐10本PHP书籍,暂不讨论Linux/NGINX/Mysql等其他丛书. 前言 ...
- LR----实现WebService测试
测试WebService时,需要导入WSDL:同SoapUI WSDL:http://ws.webxml.com.cn/webservices/DomesticAirline.asmx?wsdl 场景 ...
- 微信小程序------轮播图
swiper 微信小程序实现轮播图,和网站,APP的效果差不多,代码少,效率高. 先来看看效果图: 主要用swiper + swiper-item来实现 <view class='swiper' ...
- MFC sendmessage实现进程间通信
用sendmessage实现进程间通信. 1.WM_COPYDATA实现进程间通信 实现方式是发送WM_COPYDATA消息. 发送程序: LRESULT copyDataResult; //copy ...
- tinyxml解析xml
基于tinyxml做的简单的xml解析. 1.创建xml bool CreateXmlFile(string& szFileName) {//创建xml文件,szFilePath为文件保存的路 ...
- Java类的finalize()方法
Java的Object类提供了一个finalize()方法,签名如下: protected void finalize() throws Throwable { } 该方法在JVM进行垃圾回收时之行, ...