Hosts知识百科
Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。 需要注意的是,Hosts文件配置的映射是静态的,如果网络上的计算机更改了请及时更新IP地址,否则将不能访问。
历史:
在引入DNS(Domain Name System,域名系统)之前,网络中的主机是将容易记忆的域名映射到IP地址并将它保存在一个共享的静态文件hosts中,再由hosts文件来实现网络中域名的管理。最初Internet非常小,仅使用这个集中管理的文件就可以通过FTP为连入Internet的站点和主机提供域名的发布和下载。每个Internet站点将定期地更新其主机文件的副本,并且发布主机文件的更新版本来反映网络的变化。
但是,当Internet上的计算机迅速增加时,通过一个中心授权机构为所有Internet主机管理一个主机文件的工作将无法进行。文件会随着时间的推移而增大,这样按当前和更新的形式维持文件以及将文件分配至所有站点将变得非常困难,甚至无法完成,于是便产生了DNS服务器。
工作原理:
浏览器访问网站,要首先通过DNS服务器把要访问的网站域名解析成其指定的IP地址,之后,浏览器才能对此网站进行定位并且访问其数据。
操作系统规定,在进行DNS请求以前,先检查系自己的Hosts文件中是否有这个域名和IP的映射关系。如果有,则直接访问这个IP地址指定的网络位置,如果没有,再向已知的DNS服务器提出域名解析请求。也就是说Hosts的IP解析优先级比DNS要高。
存储位置:
hosts文件在不同操作系统(甚至不同Windows版本)的位置都不大一样,
以下为hosts文件在不同系统中所处的目录
Windows XP/2000/Vista/7/8/8.1/10:C:\windows\system32\drivers\etc\
(XP系统无法使用bat批处理命令直接替换hosts,需手动替换后重新插拔网线或重启方使hosts生效)
(可更改\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath项修改host位置)
Windows 95/98/Me:%WinDir%\ (其实就是C:\WINDOWS)
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/
Symbian第1/2版手机:C:\system\data\
Symbian第3版手机:C:\private\10000882\(能使用兼容AllFiles的文件浏览器访问。)
iPhone OS:/etc/(需要越狱)
iPad OS:/private/etc
webOS:/etc
AD hosts数据:https://raw.githubusercontent.com/vokins/yhosts/master/hosts