这篇博客介绍了网络代理的基本概念,通过具体的网络请求流程解释了代理如何隐藏用户的访问记录,并详细描述了在使用代理时,计算机上发生的流量劫持和加密解密过程,最后提供了实战准备的建议,包括设置可用的代理服务器和域名解析服务,以便有效伪装代理请求。
什么是网络代理?
首先我们简单聊一下一个正常的网络请求?
比如我要上百度,也就是打开百度的主页。我们在浏览器的 网址栏输入www.baidu.com,然后回车,浏览器上显示 了百度的主页。
实际上这个过程是这样的
我们首先找DNS服务器问百度的ip地址是什么,然后再访问百度的IP地址。中间网关是指我们在内网,通过
内网的网关访问外网的DNS和百度。
在上面这个过程中。不仅百度知道我们在访问它,实际上网关,DNS服务器都知道我们在访问百度。而代理实际上是指利用一个服务器来代替我们访问百度,同时保证我们能正常与百度的服务器通信。
也就是这样
这样只有我们的代理服务器知道我们在访问百度,我们的网关会认为我在访问2.2.2.2,而我使用ip地址访问
代理服务器,也没有DNS服务。
当然这会让我们的流量比较特别,我们访问百度的流量都是访问2.2.2.2,但是2.2.2.2上什么都没有。
所以我们给代理服务器一个伪装域名。这样看起来我们就是在访问一个好像有用的网页一样。结构大概是这个样子:
当然这个过程中我们需要做一点小加密,使得我们的代理服务器只会为我们做代理,而不是任意人与他建立连接他都转发请求。
至此代理网络请求的流程大概就是这样的?
在我们电脑上发生了什么?
在我们使用代理来隐藏我们的网络请求后,我们在浏览器上面输入的依然是www.baidu.com,而不是www.dl.com。
要实现这一步,需要在我们电脑上装一个流量劫持的软件
在我们发个网关(我要www.baidu.com)之前,流量劫持软件首先获取了我的请求,然后对我们的做了一个包装。首先将我们的请求做一个加密,然后将加密后的数据构造一个发往www.dl.com的请求。
这样我们电脑拿到的网络请求就是发往www.dl.com的请求。通过这个请求我们将与我们的代理服务器建立一个连接。服务器将解密我们发往百度的请求,然后将百度的返回结果加密后返回给我们,我们的劫持将劫持代理服务器的返回结果,解密,转发给浏览器。
实战
首先在实战之前,我们需要准备两个东西。
1,一个我们随时能连上器且能随时连上百度的服务器(作为代理服务器,如果不能随时链上我们可能随时上不了百度)
2, 一个呢够解析到我们代理服务器的域名,用于伪装我们的代理请求。
而对于中间的加密解密,流量劫持操作我们可以使用第三方的协议构建,比如vmess,xray,tragon等
域名服务可以使用duckdns.org上免费的二级域名