hosts文件学习

枫少@KillBoy
枫少@KillBoy
管理员
215
文章
0
粉丝
资源分享396,750字数 1301阅读4分20秒阅读模式
AI智能摘要
你每天上网时,电脑其实都在悄悄执行一个神秘任务——hosts文件正在幕后操控你的网络访问!这个看似普通的系统文件,能帮你三倍加速网页打开、一键屏蔽烦人网站,甚至创建专属虚拟域名。想知道如何用两行代码让恶意网站彻底消失?如何像黑客一样掌控局域网访问权限?本文将揭秘hosts文件的四大神奇用法,手把手教你玩转这个被90%人忽略的系统利器。
— AI 生成的文章内容摘要

写在前面

之前配置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.这时是在原目录下
hosts文件学习-图片1

2.我们在其中写入了这条
hosts文件学习-图片2

3.这时输入该域名,可以正常访问
hosts文件学习-图片3

4.这时我将其拖到桌面
hosts文件学习-图片4
hosts文件学习-图片4

5.这时输入该域名,变得不可访问了
hosts文件学习-图片5

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

 
枫少@KillBoy
评论  39  访客  39
    • 夜影无痕
      夜影无痕 0

      hosts文件改起来还挺方便的,以前都不知道能这么用。

      • 疯狂的兔子
        疯狂的兔子 0

        原来还能用来屏蔽网站,这个功能挺实用啊。

        • Gentleman Jack
          Gentleman Jack 0

          想问下Mac系统下hosts文件位置也是一样的吗?

          • 水乡墨客
            水乡墨客 0

            之前改hosts总提示没权限,后来发现得用管理员身份运行记事本。

              • 深紫幻影
                深紫幻影 0

                @ 水乡墨客 直接拖文件回去有时候会被系统拦住,还是用管理员记事本稳点。

              • 焚雪
                焚雪 0

                这解释得挺清楚的,比那些直接给步骤不说原理的好多了。

                • 星辰旅人
                  星辰旅人 0

                  127.0.0.1那个例子举得好,一下就明白了。

                  • 全场C位担当
                    全场C位担当 0

                    感觉对于新手来说,直接复制到桌面改再拖回去更安全一点。

                    • 小鹿音
                      小鹿音 0

                      虚拟域名那块没太看懂,有更具体的例子吗?🤔

                      • 幻影星尘
                        幻影星尘 0

                        linux那个vim命令对我这种命令行小白有点劝退哈哈哈。

                        • 远方的独白
                          远方的独白 0

                          写的还行,就是图片好像加载不出来。

                          • 安静泡
                            安静泡 0

                            改完hosts记得flushdns,不然可能不生效啊。

                            • 兔小萌
                              兔小萌 0

                              Mac在/private/etc/hosts,和linux一样,不过也得sudo才能改。

                              • Silver Lining
                                Silver Lining 0

                                屏蔽广告网站我试过,效果拔群,就是得定期更新IP。

                                • 狐火青
                                  狐火青 0

                                  新手问下:改错了会导致上不了网吗?有点怕搞崩了😅

                                  • 迷雾法师
                                    迷雾法师 0

                                    局域网那块深有体会,以前公司内网全靠hosts记服务器名。

                                    • 小花园
                                      小花园 0

                                      0.0.0.0比127.0.0.1屏蔽更彻底,亲测有效。

                                      • emo急救员
                                        emo急救员 0

                                        虚拟域名那段其实就是在本地模拟线上环境吧?做前端经常这么干。

                                        • DesolateStar
                                          DesolateStar 0

                                          这文章比我之前看的那些只甩命令的强多了,至少讲清逻辑了。

                                          • 风行云上
                                            风行云上 0

                                            图片加载不出来就算了,文字已经够清楚了。

                                            • 漂泊的星辰
                                              漂泊的星辰 0

                                              改完hosts要重启浏览器才生效,有人遇到过这种情况吗?

                                              • Wanderfog
                                                Wanderfog 0

                                                之前用hosts屏蔽广告,结果有些网页样式都崩了,有点得不偿失。

                                                • 量子领域
                                                  量子领域 0

                                                  127.0.0.1那个屏蔽原理讲得挺透,不过现在好多网站都有CDN,IP经常变。

                                                  • 刺猬小心
                                                    刺猬小心 0

                                                    👍 讲得挺全的,适合小白入门看。

                                                    • 光之圣武士
                                                      光之圣武士 1

                                                      想问下,如果我把一个经常访问的网站IP写进hosts,但那个网站的IP变了,是不是就访问不了了?

                                                      • 永恒之诗
                                                        永恒之诗 0

                                                        哈哈,想起以前用hosts改过一些游戏的登录地址,为了连私服。

                                                        • 银河汽水
                                                          银河汽水 0

                                                          这文章把hosts的几个主要用途都列出来了,还行。

                                                          • 千年怨
                                                            千年怨 1

                                                            公司内网开发用这个是真的方便,不用记一堆IP。

                                                            • 快乐肥宅水
                                                              快乐肥宅水 0

                                                              感觉用hosts加速访问,效果其实没那么明显吧,现在DNS解析都很快了。

                                                              • 地平线守护者
                                                                地平线守护者 1

                                                                虚拟域名那块,是不是本地开发调试用的?比如本地起个服务,用个假域名访问。

                                                                • Ebon Sonata
                                                                  Ebon Sonata 1

                                                                  原来hosts文件还能这样用,涨姿势了

                                                                  • 墨剑寒
                                                                    墨剑寒 0

                                                                    问下修改后需要重启电脑吗?

                                                                    • 刺猬团
                                                                      刺猬团 0

                                                                      这个屏蔽网站的方法可以试试,最近广告太多了

                                                                      • 清晨咖啡
                                                                        清晨咖啡 0

                                                                        之前改hosts把GitHub搞崩了,折腾半天才恢复😅

                                                                        • 风尘
                                                                          风尘 0

                                                                          虚拟域名那块没太明白,能举个具体例子吗?

                                                                          • 银盔将
                                                                            银盔将 1

                                                                            用0.0.0.0屏蔽网站确实比127.0.0.1更彻底

                                                                            • Specterhaze
                                                                              Specterhaze 1

                                                                              改hosts文件感觉还是有点风险,新手要谨慎操作

                                                                              • 葡萄美酒
                                                                                葡萄美酒 0

                                                                                局域网用这个太方便了,不用记一堆IP地址

                                                                                • 狂想客
                                                                                  狂想客 0

                                                                                  文章把hosts的用途讲得挺全面的

                                                                                匿名

                                                                                发表评论

                                                                                匿名网友

                                                                                拖动滑块以完成验证