胆囊息肉

注册

 

发新话题 回复该主题

socks5能翻到外面吗理解socks5 [复制链接]

1#
儿童白癜风好治吗 https://m-mip.39.net/pf/mipso_4549560.html

1.前言

本位将由浅入深带大家详细了解socks5协议。文章首先会对socks协议进行简单介绍,接着会介绍socks5协议的使用场景,然后介绍它的工作工程。

2.协议介绍

2.1什么是socks协议

啥是socks协议呢?这里贴一段维基百科对它的定义

SOCKSisanInternetprotocolthatexchangesnetworkpacketsbetweenaclientandserverthroughaproxyserver

大概的意思是:socks是一种互联网协议,它通过一个代理服务器在客户端和服务端之间交换网络数据。简单来说,它就是一种代理协议,扮演一个中间人的角色,在客户端和目标主机之间转发数据。

socks协议位于OSI模型中的第五层,即会话层(SessionLayer)。

2.2socks协议有什么用

对于广大的中国网友来说,一提到代理,肯定会想到翻到外面,而socks5作为一种代理协议,肯定也能用来翻到外面嘛。不过遗憾的是,虽然它是代理协议,然而并不能用于翻到外面。因为它的数据都是明文传输,会被墙轻易阻断。

socks协议历史悠久,它面世时中国的互联网尚未成型,更别说墙,因此它并不是为翻到外面而设计的协议。互联网早期,企业内部网络为了保证安全性,都是置于防火墙之后,这样带来的副作用就是访问内部资源会变得很麻烦,socks协议就是为了解决这个问题而诞生的。

socks相当于在防火墙撕了一道口子,让合法的用户可以通过这个口子连接到内部,从而访问内部的一些资源和进行管理。

2.3什么是socks5协议

socks5顾名思义就是socks协议的第五个版本,作为socks4的一个延伸,在socks4的基础上新增UDP转发和认证功能。唯一遗憾的是socks5并不兼容socks4协议。socks5由IETF在年正式发布,经过这么多年的发展,互联网上基本上都以socks5为主,socks4已经退出了历史的舞台。

实际上,你并不需要回头去看socks4协议,因为socks5协议完全可以取代socks4,因此读者对此不必感觉有心理压力。

2.4工作过程

在开始介绍socks5协议工作工程之前,先来了解一下浏览器不设置代理情况下的请求过程。假设读者通过浏览器访问本博(假设读者使用的是HTTP协议),流程如下/p>

1.建立TCP连接

浏览器向本博所在服务器建立TCP连接,经过3次握手后成功双方建立一条连接,用于数据传输

2.发起HTTP请求

TCP连接建立成功后,浏览器通过建立的连接发送HTTP请求

GET/

Hostwiyi.org

3.服务器响应浏览器一段HTML内容,浏览器收到后对页面进行渲染

上面是正常的请求过程,如果读者给浏览器设置了一个socks5代理,情况会复杂一些。在这里我们假设socks5代理位于读者本地,端口为,它的工作流程如下/p>

1.浏览器和socks5代理建立TCP连接

和上面不同的时,浏览器和服务器之间多了一个中间人,即socks5,因此浏览器需要跟socks5服务器建立一条连接。

2.socks5协商阶段

在浏览器正式向socks5服务器发起请求之前,双方需要协商,包括协议版本,支持的认证方式等,双方需要协商成功才能进行下一步。协商的细节将会在下一小节详细描述。

3.socks5请求阶段

协商成功后,浏览器向socks5代理发起一个请求。请求的内容包括,它要访问的服务器域名或ip,端口等信息。

4.socks5relay阶段

scoks5收到浏览器请求后,解析请求内容,然后向目标服务器建立TCP连接。

5.数据传输阶段

经过上面步骤,我们成功建立了浏览器–socks5,socks5–目标服务器之间的连接。这个阶段浏览器开始把数据传输给scoks5代理,socks5代理把数据转发到目标服务器。

上面的步骤虽然变多,但本质不变,非常容易理解,简单整理为下图

分享 转发
TOP
发新话题 回复该主题