zoukankan      html  css  js  c++  java
  • Windows 怎么知道我已经连接到互联网而不是局域网? 原来当中大有文章!

    Windows 怎么知道我已经连接到互联网而不是局域网? 原来当中大有文章!

    转载

    原文章地址:点击

    2014-01-09

    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_MACHINESYSTEMCurrentControlSetServicesNlaSvcParametersInternet

    如果你想把这个功能停用,可以直接把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?

  • 相关阅读:
    快速幂模板
    部分有关素数的题
    POJ 3624 Charm Bracelet (01背包)
    51Nod 1085 背包问题 (01背包)
    POJ 1789 Truck History (Kruskal 最小生成树)
    HDU 1996 汉诺塔VI
    HDU 2511 汉诺塔X
    HDU 2175 汉诺塔IX (递推)
    HDU 2077 汉诺塔IV (递推)
    HDU 2064 汉诺塔III (递推)
  • 原文地址:https://www.cnblogs.com/liume/p/12501809.html
Copyright © 2011-2022 走看看