讨论Windows 7如何知道用户网络受限

大家在使用Vista,Win7,Win8等系统的时候有没有好奇,为什么右下方网络那边可以判断出当前用户是否连接公网,今天在上网的时候注意到了一个小细节,深究下去发现了好玩的内容:)

今天在济宁学院这边上网的时候,发现上网验证系统的URL后面又跟着一串BASE64加密的内容,解密后发现,其内容为“http://www.msftncsi.com/redirect”,很好奇这个地址是做什么用的,访问验证后发现,我的请求被重定向了微软的Bing,后来Google了一下这个地址,发现这个地址为微软的“网络感知”应用服务器地址,即右下方那个判断网络是否连接到互联网的小图标。
所以,其判断用户是否连接到公网的步骤为:
1)调用用户配置的DNS服务器解析 “dns.msftncsi.com” 这个域名,判断是否为“131.107.255.255”(地址不唯一),若不是,网络诊断的时候,就提示用户DNS错误。
2)系统会尝试访问“http://www.msftncsi.com/ncsi.txt”这个文档,其内容就一句话“Microsoft NCSI”,若不是,系统就判断用户外网不通。
既然知道了“网络感知”的原理,那部分熟悉网络的童鞋会意识到,这个功能会让Microsoft收集我们每次上网的IP地址,这样有可能造成信息泄露(如IP信息,浏览器信息等。)那我们如何屏蔽掉这个功能呢?这个需要修改注册表的以下键值:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNlaSvcParametersInternet
下找到“EnableActiveProbing”,并将其值改为“0” (数字零,不含引号。)