Chinaunix首页 | 论坛 | 博客
  • 博客访问: 535282
  • 博文数量: 28
  • 博客积分: 150
  • 博客等级: 入伍新兵
  • 技术积分: 429
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-25 12:07
个人简介

Cisco Certified Internetwork Expert(Routing and Switching) CCIE R&S 2101X, IBM Certified Advanced Technical Expert - Power Systems with AIX v2, Red Hat Certified Engineer RHCE 130-165-39X, Oracle Certified Master 10g

文章分类

全部博文(28)

文章存档

2018年(1)

2017年(2)

2016年(4)

2015年(8)

2014年(4)

2013年(2)

2011年(7)

我的朋友

分类: WINDOWS

2016-05-04 10:57:39

========phanx.com========
Author:   phanx
Updated: 2016-5-4
转载请保留作者信息
=========================

从Vista版本起,Windows会自动探测当前网络是否连接到Internet, 是通过一个叫做 Network Connectivity Status Indicator (NCSI) 的服务来实现的.
主要有以下两步:
1. NCSI 首先对 进行域名查询,得到响应地址后,访问 http:///ncsi.txt 这个文件. 这个文件是一个纯文本,只包含"Microsoft NCSI"这14个字符.
2. NCSI 还会对 dns.msftncsi.com 进行域名查询,如果返回结果是 131.107.255.255. 那么就认为internet连接正常,如果不是则认为异常.

知道了这个行为,那么我们可以在内网的DNS上模拟一个msftncsi.com域,添加两个A记录 www 和 dns, www指向一个HTTP Server的地址,然后在HTTP Server的根目录放上
ncsi.txt这个文件.   dns则解析到  131.107.255.255 这个地址.
注意 ncsi.txt 这个文件的内容只有Microsoft NCSI这14个字符,是没有换行符的,所以一定要去掉换行符,
在linux下面可以这样生成文件 

  1. echo "Microsoft NCSI" > ncsi.txt
  2. perl -pe 'chomp if eof' ncsi.txt > ncsi2
  3. mv -f ncsi2 ncsi.txt
然后,Windows就可以正常识别到连接到Internet了.

阅读(3912) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~