这是我参与「第五届青训营 」伴学笔记创作活动的第6天
SOCKS5 代理
(1). 目标分析
本节课采用Golang书写SOCKS5代理服务。
SOCKS5 是一个代理协议,它在使用 TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。
SOCKS5 协议对于处在内部网络中的机器、且需要透过网络中某些可以联通外部 Internet 的机器访问
外部时发挥作用。
SOCKS5 的服务器通过将前端发来的请求转发给真正的目标服务器,它模拟了一个前端的行为。前端和SOCKS5之间也是通过TCP/IP协议进行通讯,前端将原本要发送给真正服务器的请求发送给SOCKS5服务器,然后SOCKS5服务器将请求转发给真正的服务器。
SOCKS5服务器在将通讯请求发送给真正服务器的过程中,对于请求数据包本身不进行任何改变。SOCKS5服务器接收到真正服务器的响应后,也原样转发给前端。
SOCKS5 协议是一种代理协议,对于各种基于 TCP/IP的应用层协议都能够适应,几乎是万能的。它虽然不能理解自己转发的数据的内部结构,但是它能够忠实地转发通讯包,完成协议本来要完成的功能。与SOCKS5协议不同,HTTP代理是通过HTTP协议进行的,HTTP代理服务器软件了解通讯包的内部结构,在转发过程中还要对通讯进行某种程序的修改和转换。和HTTP代理协议不同,SOCKS5实际上是一个运输层的代理协议,在计算机网络上介绍的较少。
未完成。。。