SOCK5代理服务器透明穿透技术

本文详细介绍了SOCK5代理服务器的工作原理,重点解析了TCP和UDP客户端如何穿越代理的协议处理过程,包括协议协商、认证、请求和应答等步骤。通过分析,展示了TCP和UDP客户端在使用SOCK5代理时的不同处理机制,并强调了TCP连接的重要性以及UDP本地端口选定的注意事项。
摘要由CSDN通过智能技术生成
 
SOCK5代理服务器透明穿透技术
一、目标(Target)
在尽量不改变现有代码的情况下,透明穿越socks 5代理。
二、技术分析(Technology Analyse)
2.1 sock 5 代理分析
由于目前socks规范中,socks4不支持UDP,只有socks5才支持,而目前视频应用中,码流传输采用的是UDP,所以如果客户端只支持SOCK4代理,则视频应用将受到限制。从市场分析来看,大部分代理都实现了sock5代理协议,所以我们在实现上假设已经实现SOCK5.
       SOCK5协议规定了代理通信的逻辑,为了保证数据不会在第一级丢失,该协议必须首先通过TCP方式进行通信。然后进行协议协商,如果验证通过则可以进行通过。否则拒绝。
关于sock5的协商过程参考RFC1928.
下面简要分析一下TCP和UDP客户如何穿越代理的协议处理过程。
2.1.1 基于TCP协议的客户端处理过程(Procedure for TCP-based clients)
       当一个基于TCP协议的客户端希望与目标建立连接,它必须先建立一个与SOCKS服务器上SOCKS端口的TCP连接。通常这个TCP端口是1080( 用户可以自定义)。当连接建立后,客户端进入协议的“握手(negotiation)”过程:认证方式的选择,根据选中的方式进行认证,然后发送转发的要求。SOCKS服务器检查这个要求,根据结果,或建立合适的连接,或拒绝。
当客户端连到服务器后,然后就发送请求来协商版本和认证方法:
+----+----------+----------+
                   |VER | NMETHODS | METHODS |
                   +----+----------+----------+
                   | 1 |    1     | 1 to 255 |
                   +----+----------+----------+
字段说明:VER:协议生版本号:0x05
NMETHODS: 该字段包含了在METHODS字段中出现的方法标示的数目(以字节为单位)。
METHODS:认证方法1-255.
服务器端从METHODS所给出的方法中选一个,并发送一个方法选中消息(METHOD selection message)给客户端。
                       +----+--------+
                         |VER | METHOD |
         
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值