国内快速访问github

国内快速访问github目录 文章背景 GitHub 简介 国内无法直接进入 GitHub 的原因 访问网页的过程 前置知识 1 检查本地缓存是否有该域名对应的 IP 地址 2 浏览器向操作系统发起 DNS 解析请求 3 本地服务器向根服务器发送域名解析请求 4 浏览器再向该 IP 地址发起实际的 HTTP 请求 DNS 污染 修改 Hosts 文件 Hosts 文件的作用 Hosts 文件的位置 修改用户权限 查询 GitHub 域名对应的 ip 地址

目录

 

文章背景

GitHub简介

国内无法直接进入GitHub的原因

访问网页的过程

前置知识

1.检查本地缓存是否有该域名对应的IP地址

2.浏览器向操作系统发起DNS解析请求

3.本地服务器向根服务器发送域名解析请求

4.浏览器再向该IP地址发起实际的HTTP请求

DNS污染

修改Hosts文件

Hosts文件的作用

Hosts文件的位置

修改用户权限

查询GitHub域名对应的ip地址

将GitHub域名和ip地址的映射关系写入Hosts文件

刷新DNS本地缓存

进入GitHub


 

文章背景

文章目的:分享GitHub的进入方法

知其然应知其所以然,所以本文会尽可能简要地从原理层面解释如何进入GitHub

GitHub简介

GitHub是一个软件代码托管平台

上面有大量的开源项目,也可以上传自己的项目

GitHub上不仅有项目,还有很多技术分享的帖子

对程序员来说是一所藏经阁,所以我们有必要掌握进入GitHub的方法

不需要了解原理的直接看修改Hosts文件部分即可

国内无法直接进入GitHub的原因

网上找的解释:

随着互联网技术的飞速发展,GitHub成为了全球最大的开放式软件开发平台。许多国家的程序员和开发人员都在GitHub上发布和管理自己的项目。然而,近年来,GitHub被一些国家政府封锁,无法访问。这种情况发生的原因是什么?为什么国家要封GitHub呢?本文就此进行探讨。

首先,GitHub作为一个全球性的互联网平台,其对于国家信息安全的威胁依然存在。在GitHub上用户上传的开发源码往往较为敏感,包含一些国家涉密技术和政府机密。对此,许多国家的政府和安全机构认为,这些代码会给国家安全带来潜在威胁,因此需要通过屏蔽GitHub的方式来避免泄密事件的发生。

其次,GitHub的存在也可以被用于政治敏感的活动。GitHub可以被用来发布政治言论、代理服务器、工具和软件等,以绕过政府的审查制度。对于一些政府而言,这些活动会被视为破坏其国家安全和政治稳定的行为,因此需要采取措施进行限制。

此外,GitHub的大量使用也会带来更深层次的安全隐患。开发者在GitHub上协作时,可能会借由GitHub来进行数据传输,甚至是敏感数据,如果不加限制,GitHub甚至可能成为黑客攻击和企业内部安全漏洞的重要入口。

此外,一些国家的政府和企业也使用了GitHub的服务。如果国家限制了GitHub的使用,那么这些政府和企业将无法使用这项服务,可能会产生很大的困扰。

总之,国家封锁GitHub的原因主要集中在信息安全和政治稳定两个层面,虽然这种措施在短期内可以保护国家的安全,但在长期来看,也会对科技创新和IT产业发展产生不良影响。因此,国家在采取这种限制措施之前,需要进行充分的评估和权衡,尊重公民的知情权和自由选项,同时维护国家的长期发展。

虽然国家限制了对GitHub的访问,但是并没有完全禁止,而是采用了DNS污染的技术手段,因此依旧可以访问GitHub

访问网页的过程

我们先了解一下我们究竟是怎样访问一个网页的,比如,当我在浏览器地址栏中输入www.baidu.com并回车的时候,究竟发生了什么?

前置知识

1.www.baidu.com是一个域名

2.服务器有很多种,如Web服务器、DNS服务器、文件服务器、数据库服务器,可以把服务器理解成一台电脑,这台电脑会被安装相关服务的软件,并且会有相关的程序

比如我做了一个网站,如果有很多人访问我的网站,那么就会向我的网络发送很多请求,我的电脑会根据用户的请求运行对应的程序以回应用户,显然我的电脑的硬件配置是完全无法承受的,那么这时候我就会想买一台电脑,这台电脑不需要图形化界面,不需要花里胡哨的应用,他只需要可以满足用户的需求即可,我就可以把网站部署到这台电脑上,这台电脑就被称为服务器

3.我们要访问一个网站,就是要访问这个网站对应的服务器,就需要访问这个服务器对应的ip地址,但是ip地址很难被记住,比如192.168.1.1,因此就产生了域名,域名可以通过DNS服务器被解析为ip地址,从而我们可以访问对应的网站

4.DNS服务器就是域名解析服务器,负责把域名解析成一个ip地址

1.检查本地缓存是否有该域名对应的IP地址

输入www.baidu.com并回车后,浏览器会检查本地缓存中是否有该域名对应的IP地址,如果有,则直接使用该IP地址进行访问,跳过后续步骤,如果没有,就进入下一步

2.浏览器向操作系统发起DNS解析请求

如果本地缓存中没有该域名对应的ip地址,操作系统会查找本地配置的DNS服务器地址,然后将域名解析请求发送到该DNS服务器

3.本地服务器向根服务器发送域名解析请求

本地配置的DNS服务器并不具备解析公网域名ip的能力,因此会将域名解析请求发送给根服务器,根服务器负责解析顶级域名(即www.baidu.com中的com),再把请求传给其子服务器,子服务器负责解析二级域名、三级域名等,解析完成后把该域名对应的ip地址返回给浏览器,浏览器把ip地址返回给浏览器

4.浏览器再向该IP地址发起实际的HTTP请求

浏览器再向该IP地址发起实际的HTTP请求,获取网页内容并显示在浏览器中

DNS污染

上面简要的说明了网络请求的过程,下面解释为什么国内无法正常访问GitHub

在DNS服务器返回给操作系统ip地址的过程中,如果返回的ip地址被恶意修改,浏览器将无法正常访问该网站,这种情况就被称为DNS污染

我国通过一些技术手段实现了DNS污染,返回一个错误的ip地址,因此无法正常访问GitHub

修改Hosts文件

那么应该如何解决?第一种方法简单粗暴,就是使用VPN访问,由于数据是加密的,且使用了代理服务器,返回的数据包不会被篡改,自然也不会发生DNS污染。但是我国公民未经允许使用VPN时违法行为!因此我们采用第二种方法,即修改本地Hosts文件

Hosts文件的作用

我们在阐述访问www.baidu.com的过程中,第一步就是检查本地缓存是否有该域名对应的IP地址,而这个本地缓存就是Hosts文件(也可能是包含关系,了解不深)。Hosts文件中存储着大量的域名和ip地址的映射关系,因此我们只要把GitHub的域名和其正确的ip地址写入到该文件中,就可以正常访问GitHubc7da02267ab84972a109957d976e3b38.png

Hosts文件的位置

C:\Windows\System32\drivers\etc

etc文件夹中的hosts文件

修改用户权限

操作系统对一些比较重要的文件设定了权限,用户对hosts文件只有读取的权限,没有写入的权限,因此我们需要修改权限

右击hosts文件->属性->安全->编辑->在组或用户名栏中选中Users->完全控制

查询GitHub域名对应的ip地址

经过上面操作我们已经可以修改Hosts文件,下面我们查找GitHub的域名github.com对应的ip地址

可以使用IP/IPv6查询,服务器地址查询 - 站长工具

查询

33a53875481743c28cc40170103d2d9b.png

将GitHub域名和ip地址的映射关系写入Hosts文件

在hosts文件最后一行添加映射关系即可

91336f2c32ac453d80414d9fc5325449.png

刷新DNS本地缓存

windows+R打开运行窗口->输入cmd并回车打开命令行->输入ipconfig/flushdns并回车

60a489ee7bba48d6988c424e3ff99f51.png

进入GitHub

442615d313864209a3bdf96e6de44397.png

 

在满园弥漫的沉静光芒中,一个人更容易看到时间,并看到自己的身影。

                                                                                                                ——史铁生

 

知秋君
上一篇 2024-11-06 07:55
下一篇 2024-11-06 17:36

相关推荐