hosts文件学习

2021年3月10日15:07:15 评论 1,969

写在前面

之前配置hosts文件的时候,只知道那么做就可以了,但并不知道其中的原因。今天我就来研究一下。

一、什么是hosts文件

hosts文件是一个没有扩展名的系统文件,可以用记事本等工具打开。它的作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再去本地的dns缓存、自己家的路由器、上级的网络运营商(像联通,电信,移动)DNS域名解析服务器中寻找对应的IP地址,进行IP地址的解析。
需要注意的一点是,hosts文件配置的映射是静态的,如果网络上的计算机更改了需要及时手动更新hosts文件中的IP地址,否则将不能访问。

二、hosts文件的作用

2.1.加快域名解析

当我们要访问某一个域名的时候,就需要先解析出IP才能访问,而电脑会首先自动从hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页。对于我们要经常访问的网站,可以通过在hosts中配置域名和IP的静态映射关系,这样当输入域名的时候,我们的电脑就能很快解析出IP,而不用请求网络上的DNS服务器。

2.2.屏蔽某些网站

现在有很多网站不经过用户同意就将各种各样的插件安装到计算机中,有些说不定就是木马或病毒,删来删去还很麻烦。反正只要是你不想要访问一些网站,这时候对于这些网站可以利用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的目的。

2.3.方便局域网用户

在很多单位中,都会有自己的局域网,而且还会有不同的服务器提供给公司的成员使用。但由于局域网中一般很少架设 DNS 服务器,因此在访问这些服务器时,就需要输入难记的 IP 地址,这对我们来说相当麻烦。因此,我们可以分别给这些服务器取个容易记住的名字,然后在hosts文件中建立 IP 映射关系,这样在以后访问的时候,只要输入这个服务器的名字就可以了。

2.4.创建虚拟域名

很多时候,网站建设者需要把”软环境“搭建好,再进行上传调试。但类似于邮件服务,则需要使用域名来辅助调试,这时就可以在hosts文件中将本地 IP 地址与一个”虚拟域名“做地址指向,就可以达到要求的效果。如:

10.1.1.1 网站域名 

之后在浏览器地址栏中输入对应的网站域名即可。

三、修改hosts文件的方法

由于hosts文件是一个系统文件,因此需要管理员权限才能对其进行修改。

第一种方法:先将权限修改成管理员权限,然后在对其进行修改。

第二种方法:先将hosts文件复制到桌面,这时修改不需要管理员权限了,因此可以对其进行修改。等修改完之后,在将其拖回原目录,替换原文件。

在Windows系统中,hosts文件位于C:/Windows/System32/drivers/etc
在Linux系统中,hosts文件位于/etc下,使用编辑器打开的命令是:vim /etc/hosts。打开后,可以使用vim编辑器添加需要的内容,不过需要root权限,这里就不赘述了。

hosts文件修改示例:

13.250.177.223 github.com 

如上所示,我们在本地的hosts文件中,将Github的 IP 地址与Github的域名建立了映射关系,也就起到了“加快域名解析”的作用,因为这里不需要再去请求 DNS 域名解析服务器了。此外,如果我们想要对其进行注释的话,直接在前面加#符号就可以,例如:

#13.250.177.223 github.com 

3.1.注意

hosts文件必须要在原目录下才有效,所以不要乱移动。
示例:

1.这时是在原目录下
image.png

2.我们在其中写入了这条
在这里插入图片描述

3.这时输入该域名,可以正常访问
在这里插入图片描述

4.这时我将其拖到桌面
hosts文件学习
image.png

5.这时输入该域名,变得不可访问了
image.png

https://www.freebuf.com/sectool/265269.html

高性能云服务器2折起

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: