SOCKS5 是一种代理协议,充当前端机器和服务器机器之间的中介。 它使用TCP/IP协议进行通信,使内网的前端机器可以访问Internet网络中的服务器,使通信更加安全。 SOCKS5 服务器通过将请求从前端转发到真正的目标服务器来模拟前端的行为。 这里,前端与SOCKS5的通信也是通过TCP/IP协议进行的。 前端将原本发给真实服务器的请求发送给SOCKS5服务器,然后SOCKS5服务器将请求转发给真实服务器。 在向真实服务器发送通信请求的过程中,SOCKS5服务器本身并没有对请求包做任何改动。 SOCKS5服务器收到真实服务器的响应后,也照原样转发到前端。 由于 SOCKS 作用于会话层,它是一种从会话层到会话层提供安全服务的解决方案,不受高层应用程序变化的影响。
SOCKS5 代理是使用 SOCKS 协议的代理服务器。 它是一个通用代理服务器。 默认端口是 1080。SOCKS5 代理在会话层工作,不需要应用程序遵循特定的操作系统平台。 SOCKS5 代理只传输数据包,并不关心应用程序协议(例如 FTP、HTTP 和 NNTP 请求)。TG:@Sp_server
原理介绍
Socks5 是一种代理协议,位于传输层(TCP/UDP 等)和应用层之间。
Socks 包由以下结构组成:
Socks 库:安装在客户端上。 作为 Socket 库的替代方案,所有使用 Socks 的程序都必须将 Socket 库函数调用更改为 Socks 库函数调用。 需要注意的是,Socks库函数仍然需要调用Socket库函数,Socks只对其进行安全验证。
Sockd Daemon:安装在服务器上,接收并处理来自客户端的 CONNECT、BIND 和 UDP 关联请求。 以 CONNECT 请求为例,其工作流程为:
1.客户端向代理服务器发送请求信息,协商版本和认证方式
2.代理服务器响应并将选择的方法发送给客户端
3. 客户端和代理服务器进入一个由选择的认证方式决定的子协商过程
4、子协商过程结束后,客户端发送请求消息,指定目标服务器的IP地址和端口
5.代理服务器验证客户端身份,验证通过后连接目标服务器
6.代理服务器向客户端返回连接信息
7.如果连接完成,代理服务器开始作为中继站传输数据
Socks5 协议支持 TCP 和 UDP 代理。 它主要与会话层一起工作,因此与上层协议无关。 但是,它不能进行全局代理。