电脑系统Hosts文件原理和应用分享

2025-05-23 02:50

本文主要是介绍电脑系统Hosts文件原理和应用分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应...

Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则http://www.chinasem.cn系统会再将网址提交DNS域名解析服务器进行IP地址的解析。Hosts 的请求级别比 DNS 高。

修改hosts文件

接下来关键问题就是如何修改hosts文件,hosts文件存放目录:

常用的各平台 hosts 文件位置

hosts文件在不同操作系统中的位置如下表所示:

Windows:%SystemRoot%\System32\drivers\etc\hosts

Android:/etc/hosts(指向/system/etc/hosts的符号链接)

IOS/etc/hosts(指向/private/etc/hosts的符号链接)

MAC OS X 10.0–10.1.5:通过NetInfo或niload设置

Mac OS X 10.2和更新版本:/etc/hosts(指向/private/etc/hosts的符号链接)

Unix、类Unix系统(例如Linux等):/etc/hosts

Windows Mobile、Windows Phone:注册表项HKEY_LOCAL_MACHINE\Comm\Tcpip\Hosts

Symbian OS 6.1–9.0:C:\system\data\hosts

Symbian OS 9.1+:C:\private\10000882\hosts

上面是比较常见的系统了,如果你用其他的系统,我相信你能查到它的位置…

编辑修改以上目录下的hosts文件。目前实现方式有许多形式,最直接的就是使用文件管理器将获取的hosts文件覆盖系统的hosts文件。

Hosts文件格式

127.0.0.1 localhost
127.0.0.1 www.baidu.com
192.168.1.1 test.com

域名解析流程

电脑系统Hosts文件原理和应用分享

域名解析流程

Hosts具体作用

1、虚拟域名

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

如:
127.0.0.1 www.jb51.com 之后在浏览器地址栏中输入对应的网站域名即可。

2、加快域名解析

对于要经常访问的网站,我们可以通过在Hosts中配置域名和IP的映射关系,提高域名解析速度,当我们输入域名计算机就能China编程很快解析出IP,而不用请求网络上的DNS服务器。

3、屏蔽网站(域名重定向)

有很多网站不经过用户同意就将各种各样的插件安装到你的计算机中,其中有些说不定就是木马或病毒。对于这些网站我们可以利用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

如:

127.0.0.1 www.hao123.com
127.0.0.1 www.baidu.com

这样,计算机解析域http://www.chinasem.cn名A和 B时,就解析到本机IP或错误的IP,达到了屏蔽网站A 和B的目的。

4、方便局域网用户

在很多单位的局域网中,会有服务器提供给用户使用。但由于局域网中一般很少架设DNS服务器,访问这些服务器时,要输入难记的IP地址。这对不少人来说相当麻烦。可以分别给这些服务器取个容易记住的名字,然后在Hosts中建立IP映射,这样以后访问的时候,只要输入这个服务器的名字就行了。

5、顺利连接系统

对于Lotus的服务器和一些数据库服务器,在访问时如果直接输入IP地址那是不能访问的,只能输入服务器名才能访问。那么我们配置好Hosts文件,这样输入服务器名就能顺利连接了。

5、强制域名解析指定IP

比如一些网站有很多的服务器ip,有些ip可能被和谐了,那么我们可以在hosts文件里添加我们想要javascript的ip跟域名。

如:

# Periscope Start
13.124.246.138	pscp.tv
13.124.203.13  	www.pscp.tv
52.39.74.21 	        channels.pscp.tv
54.200.114.148	proxs编程China编程ee.pscp.tv
54.192.73.58	        assets.pscp.tv
54.192.73.58    	prod-profile.pscp.tv
54.192.73.58            prod-thumbnail.pscp.tv
151.101.2.164  	prod-video-ap-northeast-1.pscp.tv
151.101.2.164  	prod-video-ap-southeast-1.pscp.tv
151.101.66.164	prod-video-ap-southeast-2.pscp.tv
151.101.66.164	prod-video-eu-central-1.pscp.tv
151.101.130.164	prod-video-us-east-1.pscp.tv
151.101.194.164	prod-video-sa-east-1.pscp.tv
151.101.194.164	prod-video-us-west-2.pscp.tv
151.101.78.164	prod-video-us-west-1.pscp.tv
151.101.78.164	prod-video-eu-west-1.pscp.tv
18.194.108.2    	prod-chatman-ancillary-eu-central-1.pscp.tv
34.233.63.45    	prod-chatman-ancillary-us-east-1.pscp.tv
35.160.28.174   	prod-chatman-ancillary-us-west-2.pscp.tv
# Periscope End

修改 hosts 后不生效怎么解决?

无论是手工修改 hosts 还是使用软件来修改,很多人都会遇到修改 hosts 后不生效的情况。其实,这一般是由于 DNS 缓存的原因导致的。

因为系统为了加快用户打开网站的速度,在首次访问网站成功之后,会把 DNS 解析的结果暂时性地保存在本地缓存 (称为 DNS 缓存) 里一小段时间,如果浏览器在“这段时间里”再次打开同一个网址,则会自动从 DNS 缓存里取出结果,而不会请求远程的 DNS 服务器,也不会查询 hosts 文件,从而节省时间提高打开速度。因此用户会遇到有时修改了 hosts 文件但并不生效的情况,一般这时候我们想办法清空 (刷新) 一下系统的 DNS 缓存即可。

怎样清空 DNS 缓存?

  • 在 Windows 下命令行执行:ipconfig /flushdns
  • 在 macOS 下执行命令:sudo killall -HUP mDNSResponder
  • 如果你使用 Chrome 浏览器,那么可以访问:chrome://net-internals/#dns,然后点击「Clear host cache」按钮来清空浏览器里的 DNS 缓存。

如果这样还不生效,那么只能再试试重启电脑了,一般都OK了。要这样还是不行,可能就是你的 hosts 写错了。

这篇关于电脑系统Hosts文件原理和应用分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1154735

相关文章

Redis中Stream详解及应用小结

《Redis中Stream详解及应用小结》RedisStreams是Redis5.0引入的新功能,提供了一种类似于传统消息队列的机制,但具有更高的灵活性和可扩展性,本文给大家介绍Redis中Strea... 目录1. Redis Stream 概述2. Redis Stream 的基本操作2.1. XADD

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实