再谈HOST文件
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://caihong.blog.51cto.com/277306/59809 |
前几天弄了一个关于禁止打开某个网站的文章后,觉得这个HOST文件真的挺有意思的。并且也总是想把自己对它新的理解写下来(也许大家都明白了)
以下是HOST文件的内容: # 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 我在这个文件里加了几个 IP ----域名
的地址对以后,就会发现,不管你后面的域名写的是什么,只要你写的IP 地址确实存在,那么你敲入这个域名以后就会出现那个IP地址对应的网站的内容。 也就是说,只要在HOST文件里有的关于某些域名的解释,就不会把我们在IE地址栏里写入的域名去送到DNS服务器解析。 所以,在这里我们可以禁止一些网站地址。但是,利用这个文件,也有可能让我们中毒吧,呵呵、、、我是自己这么猜想的。就是编写了一个可以改变机器HOST文件文件的病毒,然后在这个文件里,添加一些我们平时用的很多的网站的名字和一个病毒网站的IP地址。
那样我们上去的时候,觉得自己应该可以去什么什么地方。但是我们却去了一个有毒的网站。 呵呵,是不是 太天真了?~~~
我又想了想,反正我们要禁止的那个网站对应的IP地址都是0.0.0.0的嘛,那我们都把他们放在一行中不就可以了吗? 我自己一实验过了,这个是可以的。就是可以把一些想禁止的网站放在一起,然后的IP地址一写一个:0.0.0.0就可以了。 当你在命令提示符的窗口中进行PING这些网站的时候,你们会发现,他们后面对应的IP地址都是0.0.0.0,这样的结果也就是说了,我们文件的设置结果已经生效了~~
再者的话,你要是在这个文件中同时设置俩个条目,并且他们的IP地址是不一样的,但是域名却是一样的。那么就会按第一个出现的那个为标准。
比如: 我们知道,我们进行通信的时候实际用到的东西实际是:IP地址。
那么我们把我们随便编写的一个域名地址和一个正确的IP地址对写进这个文件,是不是也可以访问到这个正确的IP地址实际对应的哪个网站呢? 我也实验过,结果是不可以的。会出现以下的情况 (我写进去的条目是:202.108.9.33 www.1631.com)
-------------------错误------------------------
你所请求的URL无法获取,当尝试读以下地址时www.baidu.com.
发生了下列错误:
ACCESS DENIED
当前的存取控制设定禁止你的请求接受,如果你觉得这是错误的,请与你的ISP联系.
GENERATED FI, 18,JAN,2008,,4:56:37 GMT,BY www.163.COM(CACHE /2.0)
--------------------------------------------------------------------------------------------------------
那要是这样的话,我们在进行访问一个网站的时候,这个域名的查询工作还是得送到DNS服务器进行查询的吗?要是根本就没有注册过的一个域名,那么就会出现这样的情况。
-------------------错误------------------------
你所请求的URL无法获取,当尝试读以下地址时www.baidu.com.
发生了下列错误:
ACCESS DENIED
当前的存取控制设定禁止你的请求接受,如果你觉得这是错误的,请与你的ISP联系.
GENERATED FI, 18,JAN,2008,,4:56:37 GMT,BY www.163.COM(CACHE /2.0)
--------------------------------------------------------------------------------------------------------
所以,这个实现的成功与否,与对方的WEB服务器的设置有关系.因为一个可以实现,而一个却不可以实现啊.并且上述的错误都是www.163.com生成的.所以就应该是服务器的设置问题了.
当我把163的IP和一个我自己写的域名对应条目加进去的时候(上面的那个),显示的错误信息是那样的:拒绝访问.
那我就换一个带163.com的吧,我就写了一个www.blog.163.com
结果显示的是这样的错误信息:
---------------------------错误-------------------------------
当你尝试连接以下地址:www.blog.163.com的时候,发生了以下错误:
无法将你输入的主机名称:www.blog.163.com转换成IP地址.
DNS服务器返回以下信息:
NAME ERRO:THE DOMIAN NAME DO NOT EXIT
这就表示,
缓存服务器无法解析你输入的URL中的主机名称,请检查名称是否正确.
GENERATED BY NTESWEB.163.COM(SQUID/2.5.STABLE 10)
-----------------------------------------------------------------
从这个返回的错误信息,又了解到一点:你的HOST文件里有域名和IP的对应条目,但是这个请求还是要发送到DNS服务器的.
但是为什么用163的网址对应百度的IP 的时候,就不会出现这样的错误呢?
问题的关键,还是在公司里的WEB服务器的设置上面,是吗?
如果是的话,希望高手可以再讲的清晰一些~
还需要再进一步的学习啊~~
希望高手可以指点下迷津~~ 本文出自 “不动的流星” 博客,请务必保留此出处http://caihong.blog.51cto.com/277306/59809 本文出自 51CTO.COM技术博客 |


aliceandwendy
博客统计信息
热门文章
最新评论
友情链接

