关于hosts文件

来源:互联网 发布:public static json 编辑:程序博客网 时间:2024/05/17 16:13

概念:

       Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。

位置:

      windows系统默认位置为%SystemRoot%\system32\drivers\etc\,但也可以改变。动态目录由注册表键\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath决定。其中,%Systemroot%指系统安装路径。例如,Windows XP/Windows 7/Windows 8 安装在C:\WINDOWS,那么Hosts文件就在C:\WINDOWS\system32\drivers\etc中。Hosts文件具有系统属性,系统默认是不显示此文件的。

       Linux及其他类Unix操作系统:/etc

       Android:/system/etc/hosts

工作机制

       浏览器访问网站,要首先通过DNS服务器把要访问的网站域名解析成一个唯一的IP地址,之后,浏览器才能对此网站进行定位并且访问其数据。
操作系统规定,在进行DNS请求以前,先检查系自己的Hosts文件中是否有这个域名和IP的映射关系。如果有,则直接访问这个IP地址指定的网络位置,如果没有,再向已知的DNS服务器提出域名解析请求。也就是说Hosts的IP解析优先级比DNS要高。

具体作用
1、加快域名解析
对于要经常访问的网站,我们可以通过在Hosts中配置域名和IP的映射关系,提高域名解析速度。由于有了映射关系,当我们输入域名计算机就能很快解析出IP,而不用请求网络上的DNS服务器。
2、方便局域网用户
在很多单位的局域网中,会有服务器提供给用户使用。但由于局域网中一般很少架设DNS服务器,访问这些服务器时,要输入难记的IP地址。这对不少人来说相当麻烦。可以分别给这些服务器取个容易记住的名字,然后在Hosts中建立IP映射,这样以后访问的时候,只要输入这个服务器的名字就行了。
3、屏蔽网站(域名重定向)
有很多网站不经过用户同意就将各种各样的插件安装到你的计算机中,其中有些说不定就是木马或病毒。对于这些网站我们可以利用Hosts把该网站的域名映射到错误的IP或本地计算机的IP,这样就不用访问了。在WINDOWS系统中,约定 127.0.0.1 为本地计算机的IP地址, 0.0.0.0是错误的IP地址。
如果,我们在Hosts中,写入以下内容:
127.0.0.1 # 要屏蔽的网站 A
0.0.0.0 # 要屏蔽的网站 B
这样,计算机解析域名A和 B时,就解析到本机IP或错误的IP,达到了屏蔽网站A 和B的目的。
4、顺利连接系统
对于Lotus的服务器和一些数据库服务器,在访问时如果直接输入IP地址那是不能访问的,只能输入服务器名才能访问。那么我们配置好Hosts文件,这样输入服务器名就能顺利连接了。

应用实例
一键登录局域网指定服务器
单位的“高工”在公司的局域网中建了个CS对战服务器,于是我们这些一人吃饱全家皆饱的单身汉便又有了在下班时间消遣的好去处。不过有一点美中不足,局域网中没有再架设DNS服务器,所以我们每次只能输入IP地址进行登录,尽管只是数量不算多的一串数字,但毕竟数字枯燥啊!
在这种情况下,我们可以通过修改Hosts文件来达到一键登录局域网CS服务器的目的:打开Hosts文件,同样在新开启的空白行中输入“221.555.78.122 CSer”(假定221.555.78.122是CS服务器在局域网中的IP地址),这样我们以后只要输入“CSer”就可以直接登录局域网CS服务器了。
虚拟域名
很多时候,网站建设者需要把”软环境“搭建好,再进行上传调试。但类似于邮件服务,则需要使用域名来辅助调试,这时就可以将本地 IP 地址与一个”虚拟域名“做地址指向,就可以达到要求的效果,且无需花费。如:
  127.0.0.1 网站域名
  之后在浏览器地址栏中输入对应的网站域名即可。

通过修改hosts文件来访问google
       现在访问Google服务越来越困难,使用Google搜索的用户也大量下降,对于不想使用付费VPN的用户来说,修改hosts文件来访问Google仍然是一个免费简单的可行方案     
       通常Google的服务器有很多个,一般都会有访问加速功能,就是说对于不同国家会解析出访问速度最快的网址,因此通常中国访问的IP被封后,其他国家访问的IP还能用,因此只要使用一个Ping工具找出这个服务域名对应的多个ip地址,然后在Hosts文件里添加即可。
        补充说明:Ping工具实际是一个站长工具,主要用于测试一个网站在不同国家或地区的访问速度,很多网站都提供,一些cdn测试网站也有,百度或Google一下“ping检测”或“ping tools”就能找到很多。
检测可用IP地址

  现在,我们找到了一堆IP地址,到底那个是可用的IP地址呢,这里又分为两种情况:

1、HTTP的服务和网址

  对于HTTP方式的网址,通常只是封了其80端口,检测方法一般是,“开始”-“运行”-“cmd”,然后输入 ping 目标IP地址,如果不返回“请求超时”的错误信息,通常就是可用的IP地址。

2、HTTPS的服务和网址

  对于HTTPS方式的网址,不能用ping来检测,而要用telnet来检测,通过这个命令连接目标IP的443端口,能连接上的即为可用ip,具体方法是,“开始”-“运行”-“cmd”,然后输入 telnet 目标IP地址 443,如果没有返回“连接失败”提示,而是出现一个黑屏,则是可用IP地址,将其添加到hosts文件即可。

补充说明:对于Windows7/Windows 8用户来说,需要现在“控制面板”-“程序”-“打开或关闭Windows功能”里选择打开“Telnet客户端”才能用Telnet。

添加Hosts文件

  找到可用IP后,就可以添加这个IP到Hosts文件里了,先关闭“电脑管家”、“360安全卫士”这类工具,然后编辑C:\Windows\System32\drivers\etc\hosts文件,在文件结尾添加一行“可用IP地址 目标域名”即可。

       对于Linux系统,修改方法和Windows类似,只是文件位置不一样,Linux系统下Hosts文件的位置是 /etc/hosts ,使用vi编辑这个文件,将附加的内容添加在其后面即可。



0 0
原创粉丝点击