HOSTS文件在微软的windows操作系统中相当重要,本文开头首先列出以下几个知识点来认识:
HOSTS文件路径:C:\Winnt\System32\Drivers\Etc 或 C:\Windows\System32\Drivers\Etc;
HOST文件打开方式:在以上目录中找到HOSTS文件直接右键打开放打开方式中选“记事本”确定即可打开;
正常的HOSTS文件用记事本打开后显示:
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
127.0.0.1 localhost
用记事本打开hosts文件,首先看见了微软对这个文件的说明。这个文件是根据 TCP/IPforWindows 的标准来工作的,它的作用是包含IP地址和Host name(主机名)的映射关系,是一个映射IP地址和Hostname(主机名)的规定,规定要求每段只能包括一个映射关系,IP地址要放在每段的最前面,空格后再写上映射的Host name(主机名)。对于这段的映射说明用“#”分割后用文字说明。
Hosts在Windows中是如何工作?
我们知道在网络上访问网站,要首先通过DNS服务器把网络域名 www.ieeye.com 解析成 221.204.251.12 的IP地址后,我们的计算机才能访问。要是对于每个域名请求我们都要等待域名服务器解析后返回IP信息,这样访问网络的效率就会降低,而Hosts文件就能提高解析效率。根据Windows系统规定,在进行DNS请求以前,Windows系统会先检查自己的Hosts文件中是否有这个地址映射关系,如果有则调用这个IP地址映射,如果没有再向已知的DNS 服务器提出域名解析。所以,现在总结出一个结论:Hosts的请求级别要比DNS高,有关DNS的解释见http://www.ieeye.com/post/070125-domain_dns.html
现在我们知道了他的工作原理,即可罗列出来几个作用:
1、加快域名解析:对于要经常访问的网站,我们可以通过在Hosts中配置域名和IP的映射关系,这样当我们输入域名计算机就能很快解析出IP,而不用请求网络上的DNS服务器。
2、方便局域网用户:在很多单位的局域网中,会有服务器提供给用户使用。但由于局域网中一般很少架设DNS服务器,访问这些服务要输入难记的IP地址,对不少人来说相当麻烦。现在可以分别给这些服务器取个容易记住的名字,然后在Hosts中建立IP映射,这样以后访问的时候我们输入这个服务器的名字就行了。
3、禁止某台机器访问某站点,或将目标站点直接转向到其他站点,办法很简单:
比如现在我们要屏蔽或转向 www.ieeye.com 到Google网站,那么打开hosts文件在里面填写:59.151.21.100 www.ieeye.com
填写的时候,一行一个转向或屏蔽站点,先写IP地址,后写域名(写完IP地址后按一下 tab 键再写域名),试试怎么样?是不是打开ieeye.com就到了google.cn上了? 注意:如果多次使用的话,为了及时生效,有时需要你清空 cookis 和临时文件,办法:工具--IE选项--internet临时文件项中删除cookis和临时文件确定即可,再次刚才的。很好玩的,伙计你也来试试?
其实屏蔽某台机器访问某站点的方法很多,本文只是通过修改host文件来阻止某台机器访问某站点。从而深刻理解DNS和host之间的关联和工作原理。
附注:有网友在打开hosts文件时出现“拒绝访问”的警示框,有可能是病毒或恶意程序纂改了注册表东西导致的,而杀毒软件一般又查不出来,这时你手工修复一下:打开记事本,写入:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Unknown]
"AlwaysShowExt"=""
"QueryClassStore"=""
[HKEY_CLASSES_ROOT\Unknown\shell]
@="openas"
[HKEY_CLASSES_ROOT\Unknown\shell\openas]
[HKEY_CLASSES_ROOT\Unknown\shell\openas\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,25,00,53,\
00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,\
79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,65,00,6c,00,6c,\
00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,4f,00,70,00,65,00,6e,00,41,00,\
73,00,5f,00,52,00,75,00,6e,00,44,00,4c,00,4c,00,20,00,25,00,31,00,00,00
保存后文件后缀命名为“*.reg”双击打开导入注册表!即可解决右键 打开方式 拒绝访问的 困扰。