Windows 怎么知道我已连线到网际网络? 原来当中大有文章!
原文 Windows 怎么知道我已连线到网际网络? 原来当中大有文章!
标题这个问题好像很简单, 但原来深入研究起来还真的不是”因为我能看到网页嘛”这样简单的答案.
![]()
研究这个课题是由于公司内部的防火墙自动把一些连线封琐起来,
检视之下发现好些连线尝试连接到以下一条连结:
http://www.msftncsi.com/ncsi.txt
看到MSFT, 很直觉觉得事情跟微软有关系, 但是NCSI又是什么呢?
如果你到www.msftncsi.com想看看关于它的资料,你会得到这样一个画面
![]()
而直接看ncsi.txt的内容, 就比较明显了
![]()
真的是微软造的! 到Google追查之下才发现这个小文件的用途
NCSI, 全名是Network Connectivity Status Indicator, 是微软用来测试设备有没有连上网际网络和报告状况用的
这是由Vista年代开始引入的, 而且也提供有KB
大家如果有外游的话, 很多时候在酒店虽然插上网线得到IP了
但还是需要输入酒店提供的密码才能上网, 这时Windows又会懂得提示你, 原来也是靠NCSI才做到的!
旧版本的Windows没有这个功能, 可能你就在烦恼为什么Skype打不通了!
![]()
NCSI执行时的整个过程是这样的, 我还会以Wireshark辅助以提供更可靠的情报:
电脑原先处于无网络状态
![]()
1. 电脑启动, 或网线接上了, 假设Windows经过DHCP得到IP Address
![]()
2. Windows尝试向DNS查询一条A纪录www.msftncsi.com
![]()
3. 成功的话再查询dns.msftncsi.com
固定是得到131.107.255.255这个结果的, 如果Windows发现得不到这个结果, 或者结果不相同
就会觉得电脑没有正确得到网络连接, 或会显示不能接入网络的讯息.
![]()
4.假如以上步骤成功的话,会向http://www.msftncsi.com/ncsi.txt发出GET指令
![]()
![]()
如果成功得HTTP 200 OK的回应, 显示电脑正确连接到网际网络, 所以Windows 显示有网际网络连线
![]()
如果反解释dns.msftncsi.com成功但HTTP GET这个步骤并没有得到200 OK的结果
显然是有某些原因封所了这个HTTP连线, 很多时候就是需要多键入一个使用者密码
所以Windows会弹出一个讯息提示你可能需要提供更多资料才能进入网际网络!
但如果这不是问题所在, Windows就可能会告诉你连接进了受限制的网络了.
![]()
了解了这些, 我还是建议可以看看KB的描述
http://technet.microsoft.com/en-us/library/cc766017(WS.10).aspx
问题来了, 如果公司有些电脑根本就不会接触网际网络, 或防火墙并没有开放80埠我们应该怎么办?
另外, 在KB中微软在分页中声明了, 当我们发出DNS查询及HTTP GET时,
微软会把我们的IP和查询时间记录到IIS Log上, 这也引起了资安方面的问题.
基于以上问题, 微软建议我们在某些情况下自设一台WEB服务器,
再来把流向www.msftncsi.com的东西以修改机码的方式指向它, ncsi.txt文档建议拿微软的
因为有很多网上回报说它是一个特别的文档(没有EOL结尾), 如果自制的话很可能会失败.
而机码的位置在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet
如果你想把这个功能停用, 可以直接把EnableActiveProbing从1改成0
注意任何改变机码的动作都可能对系统做成不能弥补的损害, 请备份后才修改!
![]()
参考连结:
http://technet.microsoft.com/en-us/library/cc766017(WS.10).aspx
http://blog.superuser.com/2011/05/16/windows-7-network-awareness/ Windows 7 Network Awareness: How Windows knows it has an internet connection
http://www.techrepublic.com/blog/data-center/what-do-microsoft-and-ncsi-have-in-common/ What do Microsoft and NCSI have in common?
Windows 怎么知道我已连线到网际网络? 原来当中大有文章!的更多相关文章
- ARCgis已知线裁剪已知面
经常遇到需要在ArcGIS中,根据已知线图层(要素)切分已知面图层(要素).经过研究,利用topology拓扑菜单中的construct features可以实现.具体如下 现有用线图层A.面图层B, ...
- C#在父窗口中调用子窗口的过程(无法访问已释放的对象)异常,不存在从对象类型System.Windows.Forms.DateTimePicker到已知的托管提供程序本机类型的映射。
一:C#在父窗口中调用子窗口的过程(无法访问已释放的对象)异常 其实,这个问题与C#的垃圾回收有关.垃圾回收器管 理所有的托管对象,所有需要托管数据的.NET语言(包括 C#)都受运行库的 垃圾回收器 ...
- [转]在 Windows 操作系统中的已知安全标识符(Sid security identifiers)
安全标识符 (SID) 是用于标识安全主体或安全组在 Windows 操作系统中的可变长度的唯一值.常用 Sid 的 Sid 标识普通用户的一组或通用组.跨所有操作系统,它们的值保持不变. 此信息可用 ...
- Win7程序运行出现Windows Based Scrip Host 已停止工作问题的解决方法
最近在使用类似于Teamviewer这样的程序时,突然运行不了,报错:Microsoft Windows Based Scrip Host 已停止工作的问题,从系统日志来看,好像是空指针问题,但是又无 ...
- Windows 怎么知道我已经连接到互联网而不是局域网? 原来当中大有文章!
Windows 怎么知道我已经连接到互联网而不是局域网? 原来当中大有文章! 转载 原文章地址:点击 2014-01-09 Windows 怎么知道我已经连接到互联网而不是局域网? 原来当中大有文章! ...
- Windows Server 2012 R2在桌面上显示计算机/网络图标
原文 Windows Server 2012 R2在桌面上显示计算机/网络图标 从Windows2012开始,微软取消了服务器桌面个性化选项,如何重新调出配置界面,可以使用微软命令调出.具体方法如下: ...
- ArcGIS 网络分析[1.2] 利用1.1的线shp创建网络数据集/并简单试验最佳路径
上篇已经创建好了线数据(shp文件格式)链接:点我 这篇将基于此shp线数据创建网络数据集. 在此说明:shp数据的网络数据集仅支持单一线数据,也就是说基于shp文件的网络数据集,只能有一个shp线文 ...
- Windows上的的神技能,你知道几个?(Windows技巧大全,已更新)
不用借助任何第三方软件,其实Windows也大有可为——比你目前了解得至少要多得多,强大技能快来get起来! 1.文件隐藏谁的电脑里没点小秘密?东藏西藏到最后自己都找不到了有木有?今天教大家个隐藏文件 ...
- Windows Azure 自动伸缩已内置
WindowsAzure平台提供的主要优点之一是能够在有需要时快速缩放云中的应用程序以响应波动.去年7月以前,您必须编写自定义脚本或使用其他工具(如Wasabi或MetricsHub)来启用自动 ...
随机推荐
- POJ 3181 Dollar Dayz 简单DP
这DP虽然简单 但是思考一下还是挺好的 题意是 1,2,3,4....k 用加法凑成N 每个数可取不限个数 令dp[i][j] 表示前i种数凑成j的方案数 然后dp[i][j] = dp[i - 1] ...
- uva:10700 - Camel trading(贪婪)
题目:10700 - Camel trading 题目大意:给出一些表达式,表达式由数字和加号乘号组成,数字范围[1,20].这些表达式可能缺少了括号,问这种表达式加上括号后能得到的最大值和最小值. ...
- Axuer 网页
http://www.webppd.com/axure/
- Docker部署JavaWeb项目实战(转)
摘要:本文主要讲了如何在Ubuntu14.04 64位系统下来创建一个运行Java web应用程序的Docker容器. 一.下载镜像.启动容器 1.下载镜像 先查看镜像 docker images 记 ...
- 【原创】leetCodeOj --- Majority Element 解题报告(脍炙人口的找n个元素数组中最少重复n/2次的元素)
题目地址: https://oj.leetcode.com/problems/majority-element/ 题目内容: Given an array of size n, find the ma ...
- SSH证书登录方式(无password验证登录)
经常在工作中须要在各个Linux机间进行跳转,每次password的输入成了麻烦,并且也不安全.在实际使用中,在windows下常使用secureCRT工具或teraterm工具进行SSH登录.以及实 ...
- 邮箱password复位图
blog宗旨:用图说话 辅助文字说明: 长处:用户系统完毕接口部分.界面留给业务自行设计. 缺点:邮箱发送邮件定制模板,没有完毕松耦合. 改进点:邮箱的准备发送邮件模板. 版权声明:本文博客原创文章, ...
- sql二进制数据权限
(3为权限组合值,结果为1=列表 2=新建 4=修改 8=删除) select 3 & 1 select 3 & 2 select 3 & 4 select 3 & 2 ...
- 手动安装英特尔® 凌动™ Android* x86 模拟器映像
android的模拟器实在是太慢了,慢的让人欲仙欲死,欲罢不能.猛然发现我的电脑是intel的CPU,我勒个去,换x86模拟器.然后悲剧了,伟大的gfw 我要装sdk,我要研究android开发,到底 ...
- Lua 服务器与客户端实例(转)
=============================================================== 服务器,main.lua ======================= ...