数学建模社区-数学中国

标题: 用HOSTS文件屏蔽网站 [打印本页]

作者: 韩冰    时间: 2005-1-23 13:36
标题: 用HOSTS文件屏蔽网站

作者:葛文娟 来自:中国电脑教育报

2 l- ~% |$ a# \1 B- F0 J2 H% V! O0 B

最初想到利用Hosts文件是基于学校跨网段访问网页时用IP地址访问带来的不便:学校教学网系统分成四个网段,包括三个学生机房网段和一个办公室教师用机网段,服务器没有使用DNS。办公室教师机有的开了PWS(个人Web服务器),教师在同一网段中输入Host Name(主机名)即可顺利访问网页,但在学生机房要访问教师Web页,必须使用IP地址。9 k4 h( t! N" [" B3 E

* R* c) T9 b! q' V) u- ^* _, ?, A- `' l4 I) `; l $ b+ O3 V3 M, W/ z. b, x# T

Hosts是Windows早期用来建立IP地址和Host name(主机名)映射关系的文件。这样在客户机上访问主机时,只要输入主机名即可。随着后来DNS概念的引入,Internet网上DNS服务器的建立,这个文件已经逐渐被人们谈忘。由于Hosts文件的执行优先级高于DNS域名解析,为了防止出现Hosts和DNS域名访问的混乱,在Windows 98中把Hosts改成了Hosts.sam,就是要取消该文件的域名解析功能。而本文所述恰恰是利用了Hosts文件的这一功能。( Z, p+ h7 m$ U5 d9 f

4 R9 y8 J+ j) ^! K$ m9 K( ~

Hosts.sam文件位于C:\Windows文件夹中,要使用它的功能,首先要改成Hosts文件,即把扩展名去掉。用记事本打开Hosts文件,首先看见的是微软对这个文件的说明。这个文件是根据TCP/IP for Windows的标准来工作的,规定要求每段只能包括一个映射关系,IP地址要放在每段的最前面,空格后再写上映射的Host name(主机名),如:. z$ D& {1 U; H' q3 h4 W

) B. a: b: E' A$ D

127.0.0.1 www.sina.com.cn % W+ _9 ?6 N5 j7 R& o( a: Y/ C

. I% R4 c% A8 t" k" [

#屏蔽新浪网站8 [- ~. h7 C; d

$ Y7 T" T, ^" d8 E7 y) |

192.168.0.250 www.stw.net 9 S; T" [9 h: V2 n

* M9 @0 e6 ?6 Q* l( T

#学校内部Web服务器主机名映射$ b7 f( F, i9 n9 `' a" `4 n

3 z& [8 @4 N$ L0 Q: F1 I5 ~: g5 v

按照上面的方法输入后,打开浏览器输入上述两个域名,却出现了问题:新浪网仍能正常访问,不过网页打开的速度变慢(没有被屏蔽),而学校内部网站却仍然不能正确访问。偶然在MS-DOS下Ping了一下这两个域名,却发现映射已经成立。奇怪,为什么在DOS命令行下能Ping通,在浏览器中却不能正确映射? 3 p* Y% G; \* p5 {+ [解释只有一个:就是Hosts设置是有效的,是IE浏览器让Hosts设置无效的。

* O) w7 C' V; ?# M% c: y- m( y. d9 J7 h% W- z

打开浏览器后,笔者对IE的“Internet选项”设置进行了研究,终于发现了问题的症结所在,并且找到了解决的方法。

8 S0 A2 y, }- S# d! x4 B

( x( `8 ~, \; j+ S

9 K6 B4 F7 B& w# A. ~+ E$ i7 t

3 U ~+ ?# A4 I) S) Z- o9 n! a. s& Y

我校客户机通过HTTP代理进行上网,因此在浏览器里如图1所示的设置。去掉“为LAN使用代理服务器”前面的“√”后,上面的映射在IE中就全部生效了,并且校园网跨网段的网页可以通过Http://www.stw.net访问了;但是新的问题又出现了,在浏览器中访问其他Internet网页时却显示无法接通,即此时可以访问内网,而无法访问外网。看来用这个方法还是行不通的。那么能不能不关掉代理服务器,又能使用上面的映射关系呢?带着这个问题笔者打开了“局域网(LAN)设置”的[高级]选项,打开“代理服务器设置”对话框(图2),把在Hosts文件中要屏蔽的网址加到“例外”所对应的文本框中,[确定]后退出,此时外网可以访问,屏蔽也产生了作用。

$ F) a" Q9 v. ~6 q0 H1 {% a' I, ~: M

2 g4 J2 p7 V6 j" Z

1 c- r8 `7 E5 i7 F& ~3 Y, J6 {

上述问题对于通过单机联入公网的用户来说是碰不到的,因为它不需要设置代理服务器;对于要求用代理连接公网又想屏蔽不健康网页的局域网用户来说,就需要这样做了。 9 a6 d7 E8 c# z4 a$ h8 V

: X# s* ], B; ^( z

7 P1 t8 E8 w5 E# x. z8 Y

0 ` U' f( w- K- q6 L. L, f' z6 ^1 J






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5