巧用hosts文件

上一篇 / 下一篇  2017-01-05 11:33:03 / 个人分类:其他

测试互联网web平台时,如果测试机器与外网相通,测试环境部署的URL又与实际生产环境的URL一致,那么如何确保浏览器打开的URL是访问我们所需的环境(测试环境或生产环境)?答案:修改hosts文件,详情请看下文......


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


--存储位置

hosts文件在不同操作系统(甚至不同Windows版本)的位置都不大一样:

Windows NT/2000/XP/Vista/7/8(即微软NT系列操作系统):默认位置为%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中

 

你也可以用windows自带的查找功能搜索找到hosts文件。

该文件其实是一个纯文本的文件,用普通的文本编辑软件如记事本等都能打开和编辑。

 

以下为hosts文件在不同系统中所处的目录

Windows Vista/7/8/8.1/10: %windir%\system32\drivers\etc\

Windows XP/Millennium:%windir%\

Windows 95/98/Me:%WinDir%\

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

Mac OS 9及更早的系统:System Folder: Preferences或System folder(文件格式可能与Windows和Linux所对应的文件不同)

Mac OS X:/private/etc(使用BSD风格的hosts文件)

OS/2及eComStation:"bootdrive":\mptn\etc\

Android:/system/etc/hosts

Symbian第1/2版手机:C:\system\data\hosts

Symbian第3版手机:C:\private\10000882\hosts,只能使用兼容AllFiles的文件浏览器访问,大部分都不行。

iPhone OS:/etc

iPad OS:/private/etc

webOS:/etc

 

--工作机制

浏览器访问网站,要首先通过DNS服务器把要访问的网站域名解析成一个唯一的IP地址,之后,浏览器才能对此网站进行定位并且访问其数据。

操作系统规定,在进行DNS请求以前,先检查系自己的Hosts文件中是否有这个域名和IP的映射关系。如果有,则直接访问这个IP地址指定的网络位置,如果没有,再向已知的DNS服务器提出域名解析请求。也就是说Hosts的IP解析优先级比DNS要高。


--具体作用

来看一下Hosts文件的工作方式以及它在具体使用中起哪些作用。

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文件,这样输入服务器名就能顺利连接了。


--文件修改

1、正确修改hosts文件:

一般打开hosts文件里面都会有个示例,按照其格式修改即可

比如以下内容:

即代表打开abc .cn这个网址将解析到127.0.0.1,ip地址与网址间至少有一空格,当然建议通过按[Tab]键来编辑,即美观又不容易编写失误;这也就是通过解析到本地回还地址屏蔽一些不友好的网站或ip了,当然在前面加一个#号即可暂时将这一行让它失效。

2、hosts文件的位置:

xp,2000,WIN7等系统在 C:\windows\system32\drivers\etc 文件夹中

Windows 9x/Me系统在C:\Windows文件夹,

3、hosts文件的系统属性:

hosts文件默认具有隐藏属性,系统默认设置情况下是看不到的,当然进到这个文件除了直接输入路经也是无法看到了。解决办法:打开我的电脑->点击工具->文件夹选项->查看->取消勾选隐藏受保护的系统文件->确定即可。

修改后无法保存:

在Hosts文件上面点右键->属性->把只读属性去掉->确定,即可保存。

在修改HOSTS文件时候,还常常遇到修改保存后无效的情况,这里要提醒大家注意的一点:很多人是写在最后行,写完最后一行后在没有回车的情况下,这一行是不生效的。一定要记得回车。

建议大家遵循这样的习惯:“ip地址+Tab+域名+换行” 添加记录

 


TAG:

 

评分:0

我来说两句

Open Toolbar