Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。
浏览器访问网站,要首先通过DNS服务器把要访问的网站域名解析成其指定的IP地址,之后,浏览器才能对此网站进行定位并且访问其数据。
操作系统规定,在进行DNS请求以前,先检查系自己的Hosts文件中是否有这个域名和IP的映射关系。如果有,则直接访问这个IP地址指定的网络位置,如果没有,再向已知的DNS服务器提出域名解析请求。也就是说Hosts的IP解析优先级比DNS要高。
hosts文件在不同操作系统的位置都不大一样,要想编辑hosts文件,首先需要找到Hosts文件,对于不同的操作系统,Hosts文件的存放位置不同,Windows系统下基本上很多人都知道了,MAC系统下面更改Hosts文件就有些困难了,下面是常见系统的hosts文件编辑方法。
Windows
打开资源管理器定位到C:\Windows\system32\drivers\etc\ 找到hosts文件,使用管理员权限打开记事本编辑文件并修改保存。
对于Windows7以上系统,会有管理员权限问题,必须要有Windows管理员的权限才能修改,这里介绍一下详细的修改方法:
1、右键点击hosts文件,选择复制,然后粘贴到桌面上。
2、右键点击桌面上的hosts文件,选择“用记事本打开该文件”,修改之后点击“文件”>“保存”完成修改。
3、将修改好的hosts文件,重新复制到 C:\Windows\System32\drivers\etc ,覆盖原来的hosts文件。替换时弹出对话框,点击“继续”进行替换。
以上就是hosts文件修改方法能避免系统的权限问题。
Mac OS X
在应用程序里面打开终端(terminal),输入 sudo vi /etc/hosts ,然后使用vi编辑器修改保存文件。
Linux
例如 Ubuntu,定位到/etc,取得hosts读写权限,然后修改保存。
Android
位置在/system/etc/。
在 Android 下,/etc 是 link 到 /system/etc 的,我们需要修改 /system/etc/hosts 来实现。但是这个文件是只读,不能通过 shell 直接修改。可以通过连接到 PC 上使用 adb 来修改。步骤如下:
1、获得root权限:adb root
2、设置/system为可读写:adb remount
3、将hosts文件复制到PC:adb pull /system/etc/hosts
4、修改PC机上文件
5、将PC机上文件复制到手机:adb push /system/etc/hosts
如果要查看是否修改成功,可以在PC上执行adb shell,运行cat /system/etc/hosts;或者在手机上运行cat /system/etc/hosts。