socks 5代理服务器 | 青训营笔记

425 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第1篇笔记

socks5协议介绍

Socks5是一个代理协议,位于传输层(TCP/UDP等)与应用层之间。SOCKS5 服务器通过将前端发来的请求转发给真正的目标服务器, 模拟了一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/IP协议进行通讯,前端将原本要发送给真正服务器的请求发送给SOCKS5服务器,然后SOCKS5服务器将请求转发给真正的服务器

socks5作用:

如果某些企业内网为了保证安全性,可能配置了很严格的防火墙策略,socks 5协议相当于在防火墙内部开了一个口子,让授权的用户可以通过单个端口访问内部的所有资源。

工作原理:

image.png

如果配置代理服务器的话,首先游览器要先和socks5代理服务器建立连接,代理服务器再和真正访问的服务器建立连接

分为四个阶段:

  • 协商握手阶段
  • 认证阶段
  • 请求阶段
  • relay阶段

第一阶段,客户端向socks服务器发送报文请求,包括协议版本号、支持的鉴权认证方式,socks服务器会选择自己支持的认证方式, 然后返回一个报文给客户端,建议客户端使用什么认证方式,返回0X00表示不需要认证,否则进入认证流程。

第二个阶段,认证阶段

第三个阶段:请求阶段,游览器会向socks代理服务器发送请求,包括协议的版本号,请求的类型, 一般是connect请求,socks代理服务器会和正式访问的服务器建立tcp连接,返回响应给游览器

第四个阶段:游览器正常发送请求,代理服务器转发到正式服务器,获得响应再转发给游览器

以上是对于课程,自己做的一些笔记,这篇博客很详细 cloud.tencent.com/developer/a…