一、hosts是什么?
hosts是一个没有拓展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的ip地址建立一个关联数据库,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从hosts文件中寻找对应的ip地址,一旦找到,系统会立即打开对应的网页,如果没有找到,则系统会将网址提交DNS域名解析服务器进行ip地址的解析。
二、hosts工作机制
浏览器访问网站,要首先通过DNS服务器把要访问的网站域名解析成一个唯一的ip地址,之后,浏览器才会对此网站进行定位并且访问数据。
操作系统规定,在进行DNS请求之前,先检查自己的hosts文件中是否有这个域名和ip的映射关系,如果有,则直接访问这个ip地址指定的网站位置,如果没有,再向已知的DNS服务器提出域名解析请求,也就是说hosts的ip解析优先级比DNS要高。
三、hosts具体作用
1.加快域名解析:
对于要经常访问的网站,我们可以通过在Hosts中配置域名和IP的映射关系,提高域名解析速度。由于有了映射关系,当我们输入域名计算机就能很快解析出IP,而不用请求网络上的DNS服务器。
2.方便局域网用户
在很多单位的局域网中,会有服务器提供给用户使用,但由于局域网中一般很少架设DNS服务器,访问这些服务器时要输入难记的ip地址。这对不少人来说相当麻烦。可以分别给这些服务器取个容易记住的名字,然后再host中建立ip映射,这样以后访问的时候只要输入这个服务器的名字就可以了。
3.屏蔽网站(域名重定向)
有很多网站不经过用户同意就将各种各样的插件安装到你的计算机中,其中有些说不定就是木马或病毒,对于这些网站我们可以利用hosts把该网站的域名映射到错误的ip或本地计算机的ip,这样就不用访问了。在windows系统中,约定127.0.0.1为本地计算机的ip地址,0.0.0.0是错误的ip地址。
举例:
127.0.0.1 # 要屏蔽的网站 A
0.0.0.0 # 要屏蔽的网站 B
这样,计算机解析域名A和 B时,就解析到本机IP或错误的IP,达到了屏蔽网站A 和B的目的。
4.顺利连接系统
对于lotus的服务器和一些数据库服务器,在访问时如果直接输入ip地址是不能访问的,只能输入服务器哦才能访问,那么我们配置好hosts文件,这样输入服务器名就可以顺利连接了。
四、hosts文件的修改
方法1:
打开Finder,然后快捷键command+shift+g前往文件夹,输入
/etc/hosts
双击打开即可编辑,然后保存。
如果没有权限修改
需要设置etc文件夹的访问权限以及hosts文件的访问权限,步骤是:右键--显示简介--共享与权限--修改everyone 读与写。
方法2
在terminate中输入
$ sudo -i
临时获取管理员权限,输入密码
然后编辑hosts
$ vi /etc/hosts
$ i
然后退出编辑 ESC--:--wq
或者直接
$ sudo vi /etc/hosts
输入密码,修改内容,退出编辑。
方法1和方法2修改之后都需要刷新DNS记录,使用命令:
windows: ipconfig /flushdns
mac: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; say DNS cache flushed
五、hosts相关dns缓存
查看本机已经缓存了的那些dns缓存信息
$ ipconfig /displaydns
清空本机上的dns缓存
$ ipconfig /flushdns