我第一次琢磨host文件,那是好几年前的事儿了。那时候刚接手一个新项目,本地开发环境总是有点不对劲,老是访问不到一些内部的测试域名。那时候我真是个小白,看着旁边同事们噼里啪地敲键盘,我一个人坐在那儿干着急,急得满头汗。
本站为89游戏官网游戏攻略分站,89游戏每日更新热门游戏,下载请前往主站地址:www.gm89.icu
后来一个老大哥看我实在搞不定,就随口提了一句:“你是不是没改host文件?” 我当时一愣,host文件?这是个啥玩意儿?听着就感觉是个很“底层”的东西,我第一反应就是:改这玩意儿,安全吗?会不会把我的电脑搞崩了?心里七上八下的,有点犯怵。
但没办法,项目进度催得紧,硬着头皮也得上!我就开始网上搜,想弄明白这host文件到底是个啥东西。
我记得当时搜了好久,才搞明白它大概藏在哪儿。不同系统它位置还不一样。
- 我当时用的是Windows系统,它藏得挺深的,一般在
C:\Windows\System32\drivers\etc这个路径下。 - 后来工作换了Mac电脑,它就相对好找点,在
/etc/hosts。 - Linux系统也差不多,跟Mac在一个地方。
找到它之后,我发现它就是个纯文本文件,用系统自带的记事本都能打开,心里稍微安定了一点点,没那么害怕了。
打开一看,里面密密麻麻的都是IP地址和域名,一行一行排列着。我当时就明白了,这玩意儿,就是个本地的“电话本”!你输入一个域名,比如 ,电脑会先从这个“电话本”里找对应的IP地址,找到了就直接用它。如果本地的“电话本”里没找到,它才会跑出去问外面的大“电话本”(也就是我们常说的DNS服务器)。这一下,整个概念就清晰多了,感觉自己一下就摸到点门道了。
明白了原理,我就开始颤颤巍巍地动手了。当时的需求是,要让一个测试域名 指向我本地的开发服务器 127.0.0.1。我的本地开发项目跑在 127.0.0.1 上,但是项目要求必须用域名访问。
我小心翼翼地在文件末尾加了一行:
127.0.0.1 *
加完之后,心里还是直打鼓,生怕哪里搞错了。然后我点击保存,对了,保存的时候它会提示权限不够,需要用管理员身份打开记事本或者其他编辑器才能保存。这个小坑也让我多折腾了一会儿,才搞明白怎么回事。
保存完文件,我立马打开浏览器,输入 。奇迹发生了!我的本地项目页面哗一下就加载出来了!那种感觉,就像是打通了任督二脉,一下子就通了!我当时那个兴奋劲儿,别提了,心里一块大石头总算落了地。
从那以后,我对host文件那是刮目相看。它不光解决了我的燃眉之急,我慢慢发现它还有好多其他牛掰的作用,在平时工作和生活里都特别实用:
- 本地开发测试:这个不用说了,我就是靠它才搞定本地环境的。开发的时候可以把各种测试域名都指向本地,不用联网也能跑起来。
- 屏蔽广告或恶意网站:这个功能也特别好用。你可以把那些烦人的广告域名,或者一些可疑的、可能有病毒的网站域名,全都指向
0.0.0.0或者127.0.0.1。这样一来,你的电脑在访问这些域名的时候,就会被导向一个无效的地址,这些网站自然就打不开了,直接从源头给它掐死。我当时还试着屏蔽过一些特别烦人的弹窗广告,效果真是立竿见影,世界都清净了。 - 临时访问被限制的网站:有时候遇到一些局域网限制,或者其他原因导致无法访问的网站。如果能找到网站真实的IP地址,通过host文件也能“曲线救国”一下,直接把域名指向那个IP。这个得看具体情况,不能乱来,而且不一定每次都管用。
- 测试网站迁移或改版:如果你的网站要换服务器了,或者要大改版上线前,你可以在host文件里把域名指向新服务器的IP地址,这样就能在不对外公布的情况下,提前测试新版本。等测试没问题了,再正式切换DNS,这样能有效避免上线后的各种幺蛾子。
说回最开始那个问题:修改host文件到底安全吗?
我的经验告诉我,如果是你自己主动去改,并且清清楚楚自己在改什么东西,那基本上是安全的。它就是一个纯文本文件,操作系统会优先读取它来做域名解析,仅此而已,并不会对你的系统造成什么本质上的伤害。
但是,不安全的地方主要在于:
- 恶意软件的利用:有些坏蛋软件,比如病毒或者木马,会悄悄地修改你的host文件,把一些常用的网站,比如银行网站、购物网站、社交网站,指向假的钓鱼网站。这样你访问正常的域名,结果却进了骗子的陷阱,个人信息和财产就危险了。定期检查一下host文件,确保里面没有莫名其妙的条目,这是个非常好的习惯。
- 自己的误操作:如果你对host文件的作用一知半解,或者根本不了解,随便乱删乱改,可能会导致一些网站打不开,或者电脑出现一些网络问题。不过大不了就是把改动的还原回去,或者重新安装一下系统(当然这是最极端的情况了),并不会造成硬件上的损坏。
所以你看,host文件这东西,就像一把双刃剑。用好了,它是你网络管理的得力助手;用不或者被坏人利用了,那就有麻烦了。
从一个对它一无所知,甚至有点害怕碰它的菜鸟,到后来能熟练运用它解决问题,甚至帮助别人调试网络,这个过程让我对网络的理解又深了一层。很多时候,我们觉得“不安全”的东西,往往只是因为我们不了解它。一旦你搞清楚了它的原理和机制,那些“神秘感”和“恐惧感”也就烟消云散了。别怕折腾,很多知识就是这么一点点试出来的,搞出来的。