哈喽小伙伴们 ,今天给大家科普一个小知识。在日常生活中我们或多或少的都会接触到S5协议方面的一些说法,有的小伙伴还不是很了解,今天就给大家详细的介绍一下关于S5协议的相关内容。
SOCKS5是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,让通讯更加安全。SOCKS5服务器通过将前端发来的请求转发给真正的目标服务器,模拟了一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/IP协议进行通讯,前端将原本要发送给真正服务器的请求发送给SOCKS5服务器,然后SOCKS5服务器将请求转发给真正的服务器。SOCKS5服务器在将通讯请求发送给真正服务器的过程中,对于请求数据包本身不加任何改变。SOCKS5服务器接收到真正服务器的响应后,也原样转发给前端。由于SOCKS作用在会话层上,因此它是一个提供会话层到会话层间安全服务的方案,不受高层应用程序变更的影响。
(资料图片)
SOCKS5代理,是采用SOCKS协议的代理服务器,是一种通用的代理服务器,默认端口是1080。SOCKS5代理工作在会话层,不要求应用程序遵循特定的操作系统平台,SOCKS5代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。
原理介绍
Socks5是一个代理协议,位于传输层(TCP/UDP等)与应用层之间。
Socks软件包组成为如下结构:
Socks库:安装于客户端。为Socket库的替代品,所有使用Socks的程序都必须将Socket库函数调用更改为Socks库函数调用。需要注意的是,Socks库函数仍然需要调用Socket库函数,Socks仅仅是在其上做了安全验证。
Sockd守护程序:安装于服务器,接收并处理来自客户端的CONNECT,BIND及请UDP associate求。以CONNECT请求为例,其工作流程为:
1.客户端向代理服务器发出请求信息,用以协商版本和认证方法
2.代理服务器应答,将选择的方法发送给客户端
3.客户和代理服务器进入由选定认证方法所决定的子协商过程
4.子协商过程结束后,客户端发送请求信息,其中明了目标服务器的IP地址和端口
5.代理服务器验证客户端身份,验证通过后会与目标服务器连接
6.代理服务器向客户端返回连接信息
7.若连接完成,则代理服务器开始作为中转站中转数据
Socks5协议同时支持TCP及UDP代理,它主要工作与会话层,因此与上层的协议无关。但是,它无法做到全局代理。
TG:
@moneygun666
标签: