hosts文件
hosts文件
ARPANET(Internet的 前身)并没有对网络中各节点的地址使用DNS进行解析。由于当时对于这个用途并没有中心化的系统,每个网络节点都使用自有的网络节点地图,并指派相应的名 称方便用户记忆。当时并没有任何系统来保证网络的所有系统都用同样的名称表示,也没有方法来读取其它用户的hosts文件并自动复制。
ARPANET的规模较小,这样就允许在特定情况使用hosts文件来命名一些事先约定的名称。典型的网络节点都有一个地址,并可能有多个名称。但是当个人网络不断庞大之后,对hosts文件进行管理的难度也越来越大。
hosts文件在不同操作系统(甚至不同Windows版本)的位置都不大一样:
-
Windows NT/2000/XP/Vista/7(即微软NT系列操作系统):默认位置为
%SystemRoot%\system32\drivers\etc\
,但也可以改变。动态目录由注册表键\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath
决定。 -
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\
-
Symbian第1/2版手机:
C:\system\data\hosts
- Symbian第3版手机:
C:\private\10000882\hosts
,只能使用兼容AllFiles的文件浏览器访问,大部分都不行[1]。 - iPhone OS:
/etc
- iPad OS:
/private/etc
在Windows中,默认的hosts文件通常是空白的或包含了注释语句并使用了一条默认规则:
127.0.0.1 localhost ::1 localhost
hosts文件的其它用途
hosts文件也可以用于其它情况,例如可以将已知的广告服务器重定向到无广告的机器(通常是本地的IP地址:127.0.0.1)上来过滤广告。同时也可以通过不下载网络广告,从而减少带宽。使用hosts文件还可以减少对DNS服务器的访问来加快访问速度并减少带宽消耗。
hosts文件的另一个重要用途就是用于拦截一些恶意网站的请求,从而防止访问欺诈网站或感染一些病毒或恶意软件。但同时,这个文件也可能被病毒或恶意软件所利用来阻止用户更新杀毒软件或访问特定网站。
在中国,由于防火长城的DNS劫持,许多网民也使用hosts文件来强制将网站指定到正确的IP上。例如网络上有很多教授修改hosts文件来访问Twitter的文章,维基媒体基金会图片服务器的IP地址被ISP封锁,通过修改hosts文件以正常显示图片等。