怎么修改hosts文件?几种修改方法让你简单方便快捷,hosts 是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。
那么,hosts的具体作用是什么呢?概括起来,hosts的作用如下:加快域名解析、方便局域网用户、屏蔽网站、顺利连接系统。
我们知道,有些河蟹软件需要屏蔽掉他们的联网验证,其原理就是修改hosts文件。此外,还可以通过修改hosts来屏蔽掉一些视频网站的广告。
以下AFT给大家介绍几个修改修改hosts文件的方法,让你简单方便快捷的管理自己的hosts文件。
1、利用批处理进行修改(文章底部提供工具下载)
@ECHO OFF mode con cols=58 lines=20 TITLE Hosts修改 color 2F %Windir%\System32\FLTMC.exe >nul 2>&1 || ( ECHO CreateObject^("Shell.Application"^).ShellExecute "%~f0", "%PAR1st%", "", "runas", 1 > "%TEMP%\AdminRun.vbs" ECHO CreateObject^("Scripting.filesystemobject"^).DeleteFile ^(WScript.ScriptFullName^) >> "%TEMP%\AdminRun.vbs" %Windir%\System32\CSCRIPT.exe //Nologo "%TEMP%\AdminRun.vbs" Exit /b ) :Menu Cls @ echo. @ echo. 菜 单 选 项 @ echo. @ echo. 打开Hosts文件 → 请输入1 @ echo. @ echo. 访问亿破姐网站 → 请输入2 @ echo. @ echo. 退出 → 请输入3 @ echo. set /p xj= 输入数字,然后按回车: if /i "%xj%"=="1" Goto Open if /i "%xj%"=="2" Goto Visit if /i "%xj%"=="3" Goto Exit @ echo. echo 选择无效,请重新输入 ping -n 2 127.1>nul goto menu :Open @ echo. ECHO hosts文件已经打开,您现在可以进行编辑,修改完成后别忘了保存! notepad "%SystemRoot%\system32\drivers\etc\hosts" goto menu :Visit mshta vbscript:createobject("wscript.shell").run("""iexplore""https://www.umxmt.com/",0)(window.close) echo 已转到AFT欢迎光临! goto menu :Exit exit
复制以上批处理命令另存为Hosts.txt的记事本,然后把txt后缀改为cmd,Hosts.cmd 后运行按照提示操作修改即可,如下图:
2、直接找到C盘目录下的Hosts文件进行修改
Windows 系统 Hosts 文件路径:C:\Windows\System32\drivers\etc\hosts
Mac 系统 hosts 文件路径:/etc/hosts
Linux 系统的 hosts 文件一般也是在:/etc/hosts
Android 系统的 hosts 文件路径:/system/etc/hosts (需要Root权限修改)
hosts 属于系统文件,因此需要管理员权限才能对内容进行修改,直接以记事本打开填写相应的内容即可
3、修改 hosts 后不生效怎么解决?
无论是手工修改 hosts 还是使用软件来修改,很多人都会遇到修改 hosts 后不生效的情况。其实,这一般是由于 DNS 缓存的原因导致的。
因为系统为了加快用户打开网站的速度,在首次访问网站成功之后,会把 DNS 解析的结果暂时性地保存在本地缓存 (称为 DNS 缓存) 里一小段时间,如果浏览器在“这段时间里”再次打开同一个网址,则会自动从 DNS 缓存里取出结果,而不会请求远程的 DNS 服务器,也不会查询 hosts 文件,从而节省时间提高打开速度。因此用户会遇到有时修改了 hosts 文件但并不生效的情况,一般这时候我们想办法清空 (刷新) 一下系统的 DNS 缓存即可。
4、怎样清空 DNS 缓存?
在 Windows 下命令行执行:ipconfig /flushdns
在 macOS 下执行命令:sudo killall -HUP mDNSResponder
如果你使用 Chrome 浏览器,那么可以访问:chrome://net-internals/#dns,然后点击「Clear host cache」按钮来清空浏览器里的 DNS 缓存。
如果这样还不生效,那么只能再试试重启电脑了,一般都OK了。要这样还是不行,可能就是你的 hosts 写错了。