hosts文件学习

枫少@KillBoy
枫少@KillBoy
管理员
220
文章
0
粉丝
资源分享1008,248字数 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
评论  100  访客  100
    • 夜影无痕
      夜影无痕 0

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

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

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

        • Gentleman Jack
          Gentleman Jack 0

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

          • 水乡墨客
            水乡墨客 0

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

              • 深紫幻影
                深紫幻影 1

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

              • 焚雪
                焚雪 0

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

                • 星辰旅人
                  星辰旅人 0

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

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

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

                    • 小鹿音
                      小鹿音 0

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

                      • 幻影星尘
                        幻影星尘 1

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

                          • 牛力士
                            牛力士 0

                            @ 幻影星尘 其实用nano比vim友好多了,sudo nano /etc/hosts 就能直接改,新手试试

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

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

                            • 安静泡
                              安静泡 1

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

                              • 兔小萌
                                兔小萌 0

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

                                • Silver Lining
                                  Silver Lining 1

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

                                  • 狐火青
                                    狐火青 1

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

                                    • 迷雾法师
                                      迷雾法师 0

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

                                      • 小花园
                                        小花园 0

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

                                          • 妖傩夜行
                                            妖傩夜行 0

                                            @ 小花园 127.0.0.1和0.0.0.0都试过,后者确实屏蔽得更干净一些。

                                          • emo急救员
                                            emo急救员 1

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

                                            • DesolateStar
                                              DesolateStar 0

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

                                              • 风行云上
                                                风行云上 0

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

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

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

                                                  • Wanderfog
                                                    Wanderfog 1

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

                                                    • 量子领域
                                                      量子领域 1

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

                                                      • 刺猬小心
                                                        刺猬小心 0

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

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

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

                                                          • 永恒之诗
                                                            永恒之诗 1

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

                                                            • 银河汽水
                                                              银河汽水 0

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

                                                              • 千年怨
                                                                千年怨 1

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

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

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

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

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

                                                                      • 爱看书的猫
                                                                        爱看书的猫 1

                                                                        @ 地平线守护者 就是本地起个服务配个域名访问,不用改hosts也能用localhost

                                                                      • Ebon Sonata
                                                                        Ebon Sonata 1

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

                                                                        • 墨剑寒
                                                                          墨剑寒 0

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

                                                                            • 雪铃悠
                                                                              雪铃悠 0

                                                                              @ 墨剑寒 嗯,一般不用重启电脑,但最好刷新下DNS缓存。

                                                                              • 数据猎手
                                                                                数据猎手 1

                                                                                @ 墨剑寒 不用重启电脑,改完刷新DNS缓存就行,比如Windows下ipconfig /flushdns

                                                                              • 刺猬团
                                                                                刺猬团 0

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

                                                                                • 清晨咖啡
                                                                                  清晨咖啡 0

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

                                                                                  • 风尘
                                                                                    风尘 0

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

                                                                                    • 银盔将
                                                                                      银盔将 1

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

                                                                                      • Specterhaze
                                                                                        Specterhaze 1

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

                                                                                        • 葡萄美酒
                                                                                          葡萄美酒 0

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

                                                                                          • 狂想客
                                                                                            狂想客 0

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

                                                                                            • 龙吟刀
                                                                                              龙吟刀 0

                                                                                              hosts文件原来是个静态数据库啊,这下明白了

                                                                                                • 夜晚的萤火虫
                                                                                                  夜晚的萤火虫 0

                                                                                                  @ 龙吟刀 静态数据库这个说法挺形象的,不过它其实是纯文本映射表,没那么复杂

                                                                                                • 稳重的犀牛
                                                                                                  稳重的犀牛 0

                                                                                                  原来hosts文件还有虚拟域名这个用法,本地调试方便多了。

                                                                                                    • 红袖
                                                                                                      红袖 0

                                                                                                      @ 稳重的犀牛 虚拟域名配置确实很方便,本地测试不用改nginx配置了

                                                                                                    • 彩虹糖甜心
                                                                                                      彩虹糖甜心 0

                                                                                                      刚试了下屏蔽广告网站,浏览器瞬间清爽了。

                                                                                                      • Duskgazer
                                                                                                        Duskgazer 1

                                                                                                        修改hosts文件需要管理员权限这点挺烦的,每次都得输密码。

                                                                                                        • 怀旧小栈
                                                                                                          怀旧小栈 0

                                                                                                          有个疑问,如果hosts文件里配置的IP和DNS解析结果不一样,会优先用哪个?

                                                                                                            • Frosted Petals
                                                                                                              Frosted Petals 0

                                                                                                              @ 怀旧小栈 感觉hosts文件优先级讲得不够清楚,实际使用中遇到过冲突

                                                                                                            • 网络织梦
                                                                                                              网络织梦 0

                                                                                                              之前搞hosts把github给屏蔽了,找半天原因才发现😅

                                                                                                              • 马夫沈
                                                                                                                马夫沈 0

                                                                                                                对于经常访问的网站,写进hosts里真能提速吗?感觉现在DNS也不慢啊。

                                                                                                                • 隔壁老王的老王
                                                                                                                  隔壁老王的老王 1

                                                                                                                  文章把hosts文件的作用讲得挺清楚的,适合我这种新手看。

                                                                                                                  • 云鬓斜簪
                                                                                                                    云鬓斜簪 0

                                                                                                                    hosts文件改错了确实可能上不了网,但一般都能改回来,别慌。

                                                                                                                    • 笨蛋小分队
                                                                                                                      笨蛋小分队 0

                                                                                                                      虚拟域名那段就是在本地用个假域名访问自己的服务器,搞开发经常用。

                                                                                                                      • 红衣煞
                                                                                                                        红衣煞 0

                                                                                                                        总算有人讲清楚hosts为啥要这么改了,之前都是照抄教程。

                                                                                                                        • 宠物陪伴官
                                                                                                                          宠物陪伴官 0

                                                                                                                          虚拟域名调试时用,本地起个服务配个域名就能测,不用改代码。

                                                                                                                          • 幽冥使
                                                                                                                            幽冥使 1

                                                                                                                            文章里把屏蔽网站原理讲明白了,以前只知道改不知道为啥。

                                                                                                                            • 镜中星尘
                                                                                                                              镜中星尘 0

                                                                                                                              试过用hosts加速GitHub,结果IP一换就抓瞎,得手动更新。

                                                                                                                              • 夜雨轻声
                                                                                                                                夜雨轻声 0

                                                                                                                                这个文件权限问题确实烦,特别是Windows动不动就要管理员。

                                                                                                                                • 夜雨琴声
                                                                                                                                  夜雨琴声 0

                                                                                                                                  hosts文件改起来其实挺简单,就是别乱动系统默认的那些就行。

                                                                                                                                  • 书桌上的绿植
                                                                                                                                    书桌上的绿植 0

                                                                                                                                    有没有办法让hosts文件自动更新IP啊?手动改太麻烦了。

                                                                                                                                    • 火箭
                                                                                                                                      火箭 1

                                                                                                                                      之前改hosts把某个网站屏蔽了,结果连带它家的其他服务也挂了。

                                                                                                                                      • 矢量农民
                                                                                                                                        矢量农民 1

                                                                                                                                        文章讲得挺细,适合我这种新手照着操作。

                                                                                                                                        • 大锤
                                                                                                                                          大锤 0

                                                                                                                                          虚拟域名那个例子有点抽象,本地开发具体怎么配能细说不?

                                                                                                                                          • 白川诗穗
                                                                                                                                            白川诗穗 1

                                                                                                                                            hosts文件权限问题在linux下用sudo就搞定了,不算麻烦。

                                                                                                                                            • 干饭之王
                                                                                                                                              干饭之王 1

                                                                                                                                              这文章对新手确实友好,一步步跟着做没啥问题。

                                                                                                                                              • 玉带公子
                                                                                                                                                玉带公子 1

                                                                                                                                                用0.0.0.0屏蔽广告网站亲测有效,网页干净多了。

                                                                                                                                                • 幽兰
                                                                                                                                                  幽兰 0

                                                                                                                                                  所以hosts的优先级比DNS高对吧?那如果写错了就很麻烦。

                                                                                                                                                    • 跳舞的矿泉水
                                                                                                                                                      跳舞的矿泉水 0

                                                                                                                                                      @ 幽兰 hosts文件优先级确实比DNS高,这点要注意

                                                                                                                                                    • 细腻的艺术家
                                                                                                                                                      细腻的艺术家 0

                                                                                                                                                      以前搞爬虫经常改hosts绕过反爬,现在有些网站还会检测这个。

                                                                                                                                                      • 糖脂脂
                                                                                                                                                        糖脂脂 1

                                                                                                                                                        感觉内容挺基础的,适合完全不懂的人看。

                                                                                                                                                        • 潇洒小姐
                                                                                                                                                          潇洒小姐 0

                                                                                                                                                          要是能有个工具自动更新hosts里的IP就好了,手动维护太累。

                                                                                                                                                          • 核子游侠
                                                                                                                                                            核子游侠 0

                                                                                                                                                            hosts文件原来还能这么玩,学到了新思路。

                                                                                                                                                            • 欢跃小兔
                                                                                                                                                              欢跃小兔 0

                                                                                                                                                              文章里说hosts是静态的,那对于用动态IP的网站是不是就没啥用了?

                                                                                                                                                              • 镜里浮生
                                                                                                                                                                镜里浮生 0

                                                                                                                                                                之前改hosts加速GitHub,结果IP一换就404,手动维护真的累

                                                                                                                                                                • 元宇宙先锋
                                                                                                                                                                  元宇宙先锋 1

                                                                                                                                                                  屏蔽广告网站亲测有效,但有些依赖CDN的页面会加载异常,得自己权衡

                                                                                                                                                                  • 黎明之刃
                                                                                                                                                                    黎明之刃 1

                                                                                                                                                                    局域网开发全靠它了,不然天天记192.168.1.xxx烦死了

                                                                                                                                                                    • 月痕游侠
                                                                                                                                                                      月痕游侠 0

                                                                                                                                                                      虚拟域名那段是不是指本地起个web服务,然后配个fake.com指向127.0.0.1?这样就能用域名调试了

                                                                                                                                                                      • 云隐幻世
                                                                                                                                                                        云隐幻世 1

                                                                                                                                                                        Mac用户表示/private/etc/hosts也得sudo才能保存,和linux一样

                                                                                                                                                                        • 幺不倒台
                                                                                                                                                                          幺不倒台 1

                                                                                                                                                                          改错一行整个网络都抽风,建议改前先备份原文件😅

                                                                                                                                                                          • 灵光使徒
                                                                                                                                                                            灵光使徒 0

                                                                                                                                                                            这玩意对动态IP网站确实不太友好,IP一变就得手动更新,有点鸡肋

                                                                                                                                                                            • 星际快递
                                                                                                                                                                              星际快递 0

                                                                                                                                                                              改hosts前一定要备份!上次手滑改错直接上不了网😅

                                                                                                                                                                              • 虎超儿
                                                                                                                                                                                虎超儿 0

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

                                                                                                                                                                                • 长空鹰
                                                                                                                                                                                  长空鹰 0

                                                                                                                                                                                  想问下hosts文件修改后需要刷新DNS缓存吗?

                                                                                                                                                                                  • 小豹子豹子
                                                                                                                                                                                    小豹子豹子 0

                                                                                                                                                                                    用0.0.0.0屏蔽网站比127.0.0.1效果好,亲测有效

                                                                                                                                                                                    • 蚀魂者
                                                                                                                                                                                      蚀魂者 0

                                                                                                                                                                                      公司内网全靠这个记服务器地址,不然天天输IP太麻烦了

                                                                                                                                                                                      • 书涵
                                                                                                                                                                                        书涵 0

                                                                                                                                                                                        127.0.0.1那个例子举得挺直观,一下就懂了

                                                                                                                                                                                        • 樱花奶盖
                                                                                                                                                                                          樱花奶盖 0

                                                                                                                                                                                          对于动态IP网站确实不太友好,得经常手动维护

                                                                                                                                                                                          • 云朵曲奇
                                                                                                                                                                                            云朵曲奇 1

                                                                                                                                                                                            用hosts屏蔽广告网站确实好用,就是得定期维护

                                                                                                                                                                                            • 夏至星繁
                                                                                                                                                                                              夏至星繁 0

                                                                                                                                                                                              虚拟域名那个例子能再具体点吗?本地怎么配?

                                                                                                                                                                                              • 萧二十八
                                                                                                                                                                                                萧二十八 0

                                                                                                                                                                                                我之前改hosts把公司内网搞崩过,后来学乖了先备份

                                                                                                                                                                                                • 雾影咒
                                                                                                                                                                                                  雾影咒 0

                                                                                                                                                                                                  hosts改完要刷新DNS缓存才生效,具体命令是啥?

                                                                                                                                                                                                  • Lullmist
                                                                                                                                                                                                    Lullmist 1

                                                                                                                                                                                                    这文章把静态映射概念讲清楚了,之前一直没搞懂

                                                                                                                                                                                                    • 虹夏
                                                                                                                                                                                                      虹夏 0

                                                                                                                                                                                                      linux下用sudo vim就行,其实没那么复杂

                                                                                                                                                                                                      • 月亮小屋
                                                                                                                                                                                                        月亮小屋 1

                                                                                                                                                                                                        要是网站换了IP,hosts里的配置就失效了,这点挺麻烦

                                                                                                                                                                                                        • 社牛狂想
                                                                                                                                                                                                          社牛狂想 0

                                                                                                                                                                                                          新手建议先用虚拟机练手,别直接改系统文件😅

                                                                                                                                                                                                          • 小猫猫咪咪
                                                                                                                                                                                                            小猫猫咪咪 0

                                                                                                                                                                                                            这文章挺适合入门,但图片一直加载不出来

                                                                                                                                                                                                          匿名

                                                                                                                                                                                                          发表评论

                                                                                                                                                                                                          匿名网友

                                                                                                                                                                                                          拖动滑块以完成验证