修改host实现访问github

国内有时访问github会失败,这是为什么呢?

CDN(Content Delivery Network),即内容分发网络,也称为内容传送网络。它主要依靠部署在各地的边缘服务器,平衡中心服务器的负荷,就近提供用户所需内容,提高响应速度和命中率。我们访问的就是github的CDN。
DNS(Domain Name System), 即域名系统,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。主要是做域名解析,域名最终指向的是IP地址。我们输入github.com的时候,会经过DNS解析,得到一个ip地址,电脑再使用这个ip地址来访问github。
DNS污染:就是域名系统被入侵或者认为的修改某些记录,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址。如果访问的DNS服务器被污染了,那么我们访问的网址ip可能就不对,导致访问失败。

解决方案:修改host文件

Windows:C:\Windows\System32\drivers\etc\hosts
Mac/Linux: /etc/hosts
优先级是host文件 > DNS服务器。host文件是本地文件,优先级最高,如果它中有指定的域名,那么就可以使用host文件中指定的IP地址;而DNS服务器则是远程服务,优先级次之,如果host文件中没有指定的域名,那么就会使用DNS服务器来查找相应的IP地址。我们的目的就是在hosts中告诉电脑,如果访问域名为github.com,那么他的ip就按xxx.xxx.xxx.xxx来算。

方法一

通过网站查询。https://tool.chinaz.com/dns, 输入github.com。得到ip地址,以

1
20.205.243.166  github.com

的方式加入到hosts文件末尾。

方法二

用ping命令查询得到其ip地址。

但是这个ip地址是会变化的,有没有更快捷的方法?

UsbEAm Hosts Editor

该工具可以快速测速,一键加入hosts地址,只要点点点的方式就可以执行上述组合操作。
下载博客地址:https://www.dogfight360.com/blog/475/
上个软件的截图
软件截图