CN104506666A - 一种大量tcp穿越对称型nat的代理方法和系统 - Google Patents
一种大量tcp穿越对称型nat的代理方法和系统 Download PDFInfo
- Publication number
- CN104506666A CN104506666A CN201410795281.4A CN201410795281A CN104506666A CN 104506666 A CN104506666 A CN 104506666A CN 201410795281 A CN201410795281 A CN 201410795281A CN 104506666 A CN104506666 A CN 104506666A
- Authority
- CN
- China
- Prior art keywords
- proxy server
- socks5
- turn
- tcp
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种大量TCP穿越对称型NAT的代理方法和系统,属于穿越对称型网络地址转换(Network Address Translation,NAT)设备的代理技术领域。本发明包括:步骤101:代理客户端和代理服务器使用TURN协议打通穿越对称型NAT的通道;步骤102:代理客户端使用Socks5协议对TCP连接数据包进行收敛;步骤103:代理客户端使用TURN协议将使用Socks5协议收敛后的数据包转发给代理服务器;步骤104:代理服务器对代理客户端发来的数据包进行处理;步骤105:代理服务器使用Socks5协议将处理后的数据包发散到各个TCP连接目标,完成对TCP连接穿越的代理。
Description
技术领域
本发明属于穿越对称型网络地址转换(Network Address Translation,NAT)设备的代理技术领域,具体涉及一种大量TCP穿越对称型NAT的代理方法和系统。
背景技术
网络地址转换(Network Address Translation,NAT)是一种将私有地址转化为合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和各种类型的网络中。NAT不仅完美地解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。借助于NAT,拥有私有地址的内部网络通过路由器发送数据包时,私有地址被转换成合法的IP地址,一个局域网只需使用少量IP地址即可实现私有地址网络内所有计算机与Internet的通信需求。
NAT有四种不同的端口转换方法,分别是完全锥形、地址受限锥形、端口受限锥形和对称型NAT。其中限制最严格的是对称型NAT,它的原理如图3所示。
每一个来自相同内部IP地址与端口的请求到一个特定目的地的IP地址和端口,映射到一个独特的外部来源的IP地址和端口。同一个内部主机发出一个信息包到不同的目的端,不同的映射使用外部主机收到了一封包从一个内部主机可以送一封包回来。
目前常用的针对UDP的NAT穿透方法主要有:STUN、TURN、ICE、uPnP等。其中,STUN方式不支持对称型NAT,也不支持TCP;TURN支持全部类型的NAT,也有扩充的协议支持TCP,但其不适用于大量TCP连接的场景,如漏洞扫描这种大量TCP连接目标为多IP、多端口的应用场景;ICE方式由于其结合了STUN和TURN的特点,所以使用最为广泛,但同时也具有TURN的缺点。另外,uPnP的典型应用场景为智能家庭网络、数字音频文件管理等,实现其协议必须同时满足调制解调器支持、操作系统支持、软件支持三个条件,同时,uPnP还具有一定的安全缺陷,因此同样不适用于本项目的扫描代理方案。
当前,针对TCP的NAT穿透技术研究尚处于起步阶段,业界缺乏一种针对大量TCP连接穿越对称型NAT的代理方法。
发明内容
本发明的目的在于解决上述现有技术中存在的难题,提供一种大量TCP穿越对称型NAT的代理方法和系统,实现TCP的连接对有NAT限制的内部网络的访问。
本发明是通过以下技术方案实现的:
一种大量TCP连接穿越对称型NAT的代理方法,所述方法包括:
步骤101,代理客户端和代理服务器使用TURN协议打通穿越对称型NAT的通道;
步骤102,代理客户端使用Socks5协议对TCP连接数据包进行收敛;
步骤103,代理客户端使用TURN协议将使用Socks5协议收敛后的数据包转发给代理服务器;
步骤104,代理服务器对代理客户端发来的数据包进行处理;
步骤105,代理服务器使用Socks5协议将处理后的数据包发散到各个TCP连接目标,完成对TCP连接穿越的代理。
所述代理客户端包括代理客户端Socks5部分和代理客户端TURN部分;
所述代理服务器端包括代理服务器Socks5部分和代理服务器TURN部分。
所述步骤101包括:
(A1):代理服务器TURN部分用任意端口向代理客户端TURN部分申请一个代表自己、且对外公开的IP地址和端口,作为代理服务器的中继传输地址;
(A2):将代理服务器的中继传输地址告知代理客户端;
(A3):代理服务器TURN部分向代理客户端TURN部分发送针对所述代表自己的中继传输地址的身份验证请求,告诉代理客户端允许TCP连接目标所在的IP地址通过自己的中继传输地址对其进行访问。
所述步骤(A3)中的代理服务器TURN部分向代理客户端TURN部分发送针对所述代表自己的中继传输地址的身份验证请求是这样实现的:代理服务器TURN部分向代理客户端TURN部分发送一个符合TURN格式的数据包,数据包中包括代理服务器的中继传输地址、允许对此地址进行访问的所有TCP连接目标的IP地址列表。
所述步骤102包括:
(B1):将TCP连接数据包中的目标IP地址字段和目标端口字段填写为扫描策略中指定的目标内网IP地址和目标端口;
(B2):代理客户端Socks5部分将TCP连接的数据包按Socks5的协议格式封装起来,封装后的数据包中的目标IP地址字段填写为代理服务器的中继传输地址中的IP地址,目标端口填写为代理服务器的中继传输地址中的端口。
所述步骤103包括:
(C1):代理客户端TURN部分将代理客户端Socks5部分使用Socks5协议收敛后的TCP连接数据包,按照TURN的协议格式封装起来,封装后的数据包中目标IP字段填写为代理客户端TURN部分的IP地址;
(C2):代理客户端TURN部分将封装后的数据包发送给代理服务器TURN部分。
所述步骤104包括:
(D1):代理服务器TURN部分开启预接收线程,用来实时接收代理客户端TURN部分发送的数据包到代理缓冲区;
(D2):代理服务器TURN部分开启预处理线程,用来实时从代理缓冲区取出数据包,按照TURN协议的格式将数据包进行拆分或整合(根据协议的格式,将TCP数据包切分成一个一个的TURN数据包),形成TURN数据包;
(D3):代理服务器TURN部分根据TURN协议的格式对TURN数据包相应的字段进行解析,读取所需的信息(根据协议的格式,对相应的字段进行解析,读取所需的信息);
(D4):代理服务器TURN部分检测根据步骤(D3)解析出的属性值XOR-PEER-ADDRESS外部节点地址和CONNECTION-ID代理内部连接编号(用来标记外部节点与TURN中某条代理内部连接关系的属性),判断是否是代理服务器第一次接收到有此XOR-PEER-ADDRESS和CONNECTION-ID标记的数据包,如果是,则代理服务器TURN开启新的线程,线程中向代理服务器Socks5部分发起Socks5连接请求,连接建立后向代理服务器Socks5部分发送CONNECTION-ID标记的Socks5请求数据包;如果不是,则不做处理。
所述步骤105包括:
(E1):代理服务器Socks5部分接收Socks5请求数据包;
(E2):代理服务器Socks5部分解析Socks5请求数据包的载荷部分字段(载荷部分即封装前的TCP连接数据包(数据包的传输,经过不同协议传输时,要根据协议的格式形成相应的数据包。当TCP数据包要经过Socks5协议传输时,就要进行封装,即在现有数据包的前面添加头部,原来的数据部分自然成为载荷部分。)中原始的目标IP地址和目标端口;
(E3):代理服务器Socks5部分将Socks5请求数据包载荷部分发送到原始的目标IP地址和目标端口,完成对TCP连接穿越的代理。
一种大量TCP连接穿越对称型NAT的代理系统,包括代理客户端和代理服务器;
所述代理客户端包括:
代理客户端Socks5部分:遵循Socks5协议规范,与Socks5服务器配合,完成对数据包进行目的端口收敛的工作;
代理客户端TURN部分:遵循支持TCP的TURN扩展协议规范,进行NAT的穿越;
所述代理服务器端包括:
代理服务器Socks5部分:遵循Socks5协议规范,将经过端口收敛的数据包发散到各个真正的目标IP地址和端口上;
代理服务器TURN部分:遵循支持TCP的TURN扩展协议规范,与代理客户端TURN部分配合,进行NAT的穿越;其必须具有公网的IP才可以进行正常的代理工作。
所述代理客户端和代理服务器使用TURN协议打通穿越对称型NAT的通道;
所述代理客户端使用Socks5协议对TCP连接数据包进行收敛;
所述代理客户端使用TURN协议将使用Socks5协议收敛后的数据包转发给代理服务器;
所述代理服务器对代理客户端发来的数据包进行处理;
所述代理服务器使用Socks5协议将处理后的数据包发散到各个TCP连接目标,完成对TCP连接穿越的代理。
与现有技术相比,本发明的有益效果是:当前,针对TCP的NAT穿透技术研究尚处于起步阶段,业界缺乏一种针对大量TCP连接穿越对称型NAT的代理方法。本发明将Socks5的端口收敛功能集成到TURN的客户端当中,使得含有大量数据包的任务的目标端口在经过TURN服务器之前全部收敛成单个端口,以此将TURN服务器的负担减轻,使TURN服务器的端口数量的限制不再成为代理的瓶颈。从而提供一种大量TCP穿越对称型NAT的代理方法和系统,实现TCP的连接对有NAT限制的内部网络的访问。填补了业界此代理方法的空白。
附图说明
图1为本发明一种大量TCP连接穿越对称型NAT的代理方法的步骤框图;
图2为本发明一种大量TCP连接穿越对称型NAT的代理系统的组成结构示意图;
图3为对称性NAT的原理图。
具体实施方式
下面结合附图对本发明作进一步详细描述:
本发明公开了一种大量TCP连接穿越对称型NAT的代理方法,该方法制定了大量TCP连接穿越对称型网络地址转换(Network Address Translation,NAT)设备的限制,与私有网络中的目标建立连接的策略。所述方法包括:代理客户端和代理服务器使用基于中继的NAT穿越协议(Traversal Using Relays aroundNAT,TURN)打通穿越对称型NAT的通道;代理客户端使用Socks5协议,对TCP连接的数据包进行收敛;代理客户端使用TURN协议将使用Socks5协议收敛后的数据包转发给代理服务器;代理服务器对代理客户端发来的数据包进行处理;代理服务器使用Socks5协议将处理后的数据包发散到各个TCP连接目标,完成对TCP连接穿越的代理。本发明公开了一种实现上述方法的系统。本发明技术方案实现简单且实用。
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
图1为本发明一种大量TCP连接穿越对称型NAT的代理方法的流程图,如图1所示,本发明一种大量TCP连接穿越对称型NAT的代理方法的流程图包括以下步骤:
步骤101:代理客户端和代理服务器使用TURN协议打通穿越对称型NAT的通道。
具体的,本发明中代理客户端包括以下两部分:代理客户端Socks5部分和代理客户端TURN部分。
本发明中代理服务器端包括以下两部分:代理服务器Socks5部分和代理服务器TURN部分。
所述代理客户端和代理服务器使用TURN协议打通穿越对称NAT的通道,具体为:代理客户端TURN部分和代理服务器TURN部分使用TURN协议打通穿越对称NAT的通道,执行过程为:
第一步:代理服务器TURN部分用任意端口向代理客户端TURN部分申请一个代表自己,且对外公开的IP地址和端口,作为代理服务器的中继传输地址;
第二步:将代理服务器的中继传输地址告知代理客户端;
第三步:代理服务器TURN部分向代理客户端TURN部分发送针对此代表自己的中继传输地址的身份验证请求,告诉代理客户端允许TCP连接目标所在的IP地址通过自己的中继传输地址对其进行访问。
其中,所述代理服务器TURN部分向代理客户端TURN部分发送针对此代表自己的中继传输地址的身份验证请求,具体为:代理服务器TURN部分向代理客户端TURN部分发送一个符合TURN格式的数据包,数据包中包括代理服务器的中继传输地址、允许对此地址进行访问的所有TCP连接目标的IP地址列表。
步骤102:代理客户端使用Socks5协议,对TCP连接的数据包进行收敛。
具体的,本发明中代理客户端使用Socks5协议对TCP连接的数据包进行收敛,方法为:代理客户端Socks5部分使用Socks5协议,对TCP连接的数据包进行收敛,执行过程为:
第一步:将TCP连接的数据包中的目的IP地址和目的端口填写为扫描策略中指定的目标内网IP和目标端口;
第二步:代理客户端Socks5部分将TCP连接的数据包按Socks5的协议格式封装起来,封装后的目标IP为代理服务器的中继传输地址中的IP地址,目标端口为代理服务器的中继传输地址中的端口。
其中,所述Socks5的协议格式,具体实施时,根据该协议的格式对数据包进行封装,并在相关的位置填写如目的IP地址和端口信息,具体如表1所示:
VER | CMD | RSV | ATYP | DST.ADDR | DST.PROT |
表1
其中,各个字段的定义如下:
VER协议版本:Socks5为X’05’
CMD请求类型,包括以下3种:
CONNECT:X’01’
BIND:X’02’
UDP ASSOCIATE:X’03’
RSV保留,一般设置为X’00’
ATYP后面的地址类型,包括以下3种:
IPV4:X’01’
域名:X’03’
IPV6:X’04’
DST.ADDR目的地址:此处填写TCP连接的远端目标的IP地址
DST.PORT以网络字节顺序出现的端口号:此处填写TCP连接的远端目标的端口号。
步骤103:代理客户端使用TURN协议将使用Socks5协议收敛后的数据包转发给代理服务器。
具体的,本发明中代理客户端使用TURN协议将使用Socks5协议收敛后的数据包转发给代理服务器,方法为:代理客户端TURN部分使用TURN协议将使用Socks5协议收敛后的TCP连接的数据包转发给代理服务器TURN部分,执行过程为:
第一步:代理客户端TURN部分将代理客户端Socks5部分使用Socks5协议收敛后的TCP连接的数据包,按照TURN的协议格式封装起来,封装后的目标IP为代理客户端TURN部分的IP地址;
第二步:代理客户端TURN部分将封装后的数据包发送给代理服务器TURN部分。
其中,所述TURN的协议格式,具体实施时,根据该协议的格式对数据包进行封装,并在相关的位置填写如目的IP地址和端口信息,具体如表2所示:
MSG | LEN | ID | DATA |
表2
其中,各个字段的定义如下:
MSG消息类型,主要包括以下5种:
Allocate代理客户端发起分配中继传输地址请求:0x0003
CreatePermission代理客户端发起允许外部节点连接请求:0x0008
Connect代理客户端发起TCP连接请求:0x000a
ConnecttionBind客户端发起CONNECTION-ID请求:0x000b
ConnectionAttempt外部节点发起TCP连接请求:0x000c
其中,CONNECTION-ID是用来标记外部节点与TURN中某条代理内部连接关系的属性。
LEN消息长度:表示载荷的总长度
ID事务ID:用于关联请求和响应
DATA载荷部分:除MSG、LEN和ID以外的载荷部分,长度为LEN,主要包括TURN协议中定义的属性。
在上述TURN的协议格式中,所述TURN协议中定义的属性,主要包括以下几种:
XOR-PEER-ADDRESS外部节点地址:0x0012
XOR-RELAYED-ADDRESS代理客户端中继传输地址:0x0016
CONNECTION-ID代理内部连接编号:0x002a,用来标记外部节点与TURN中某条代理内部连接关系的属性。
步骤104:代理服务器对代理客户端发来的数据包进行处理。
具体的,本发明中代理服务器对代理客户端发来的数据包进行处理,方法为:代理服务器TURN部分对代理客户端TURN部分发来的数据包进行处理,执行过程为:
第一步:代理服务器TURN部分开启预接收线程,用来实时接收代理客户端TURN部分发送的数据包到代理缓冲区;
第二步:代理服务器TURN部分开启预处理线程,用来实时从代理缓冲区取出数据包,按照TURN的协议格式将数据包进行拆分或整合,行程TURN数据包;
第三步:代理服务器TURN部分根据TURN的协议格式对TURN数据包进行解析;
第四步:代理服务器TURN部分检测解析出的属性值XOR-PEER-ADDRESS和CONNECTION-ID,判断是否是代理服务器第一次接收到有此XOR-PEER-ADDRESS和CONNECTION-ID标记的数据包,如果是,则代理服务器TURN为此CONNECTION-ID开启新的线程,线程中向代理服务器Socks5部分发起Socks5连接请求。
步骤105:代理服务器使用Socks5协议将处理后的数据包发散到各个TCP连接目标。
具体的,本发明中代理服务器使用Socks5协议将处理后的数据包发散到各个TCP连接目标,方法为:代理服务器Socks5部分使用Socks5协议将代理服务器TURN部分处理后的数据包发散到各个TCP连接目标,执行过程为:
第一步:代理服务器Socks5部分接收Socks5请求数据包;
第二步:代理服务器Socks5部分解析Socks5请求数据包载荷部分(即TCP连接数据包)中的原始目的地址和端口信息;
第三步:代理服务器Socks5部分将Socks5请求数据包载荷部分发送到原始目的地址和端口上,完成对TCP连接穿越的代理。
图1中的方块表示的是数据包中的信息,图1展示了数据包经过5个步骤演变的结果,而每个步骤中显示的如TURN,SOCK5为加上对应协议的头部,而方块则泛指数据包所携带的信息。
图2为本发明一种大量TCP连接穿越对称型NAT的代理系统的组成结构示意图,如图2所示,本发明一种大量TCP连接穿越对称型NAT的代理系统包括代理客户端30和代理服务器31。其中:
代理客户端30和代理服务器31使用TURN协议打通穿越对称型NAT的通道;
代理客户端30使用Socks5协议对TCP连接的数据包进行收敛;
代理客户端30使用TURN协议将使用Socks5协议收敛后的数据包转发给代理服务器31;
代理服务器31对代理客户端发来的数据包进行处理;
代理服务器31使用Socks5协议将处理后的数据包发散到各个TCP连接目标,完成对TCP连接穿越的代理。
本领域技术人员应当理解,图2所示的一种大量TCP连接穿越对称型NAT的代理系统是为实现前述的一种大量TCP连接穿越对称型NAT的代理方法而设计的,图2所示的系统中各模块的功能可参照图1所示方法的相关描述而理解,各模块的功能可通过运行于处理器上的程序而实现。
上述技术方案只是本发明的一种实施方式,对于本领域内的技术人员而言,在本发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本发明上述具体实施方式所描述的方法,因此前面描述的方式只是优选的,而并不具有限制性的意义。
Claims (10)
1.一种大量TCP连接穿越对称型NAT的代理方法,其特征在于:所述方法包括:
步骤101,代理客户端和代理服务器使用TURN协议打通穿越对称型NAT的通道;
步骤102,代理客户端使用Socks5协议对TCP连接数据包进行收敛;
步骤103,代理客户端使用TURN协议将使用Socks5协议收敛后的数据包转发给代理服务器;
步骤104,代理服务器对代理客户端发来的数据包进行处理;
步骤105,代理服务器使用Socks5协议将处理后的数据包发散到各个TCP连接目标,完成对TCP连接穿越的代理。
2.根据权利要求1所述的大量TCP连接穿越对称型NAT的代理方法,其特征在于:所述代理客户端包括代理客户端Socks5部分和代理客户端TURN部分;
所述代理服务器端包括代理服务器Socks5部分和代理服务器TURN部分。
3.根据权利要求2所述的大量TCP连接穿越对称型NAT的代理方法,其特征在于:所述步骤101包括:
(A1):代理服务器TURN部分用任意端口向代理客户端TURN部分申请一个代表自己、且对外公开的IP地址和端口,作为代理服务器的中继传输地址;
(A2):将代理服务器的中继传输地址告知代理客户端;
(A3):代理服务器TURN部分向代理客户端TURN部分发送针对所述代表自己的中继传输地址的身份验证请求,告诉代理客户端允许TCP连接目标所在的IP地址通过自己的中继传输地址对其进行访问。
4.根据权利要求3所述的大量TCP连接穿越对称型NAT的代理方法,其特征在于:所述步骤(A3)中的代理服务器TURN部分向代理客户端TURN部分发送针对所述代表自己的中继传输地址的身份验证请求是这样实现的:代理服务器TURN部分向代理客户端TURN部分发送一个符合TURN格式的数据包,数据包中包括代理服务器的中继传输地址、允许对此地址进行访问的所有TCP连接目标的IP地址列表。
5.根据权利要求4所述的大量TCP连接穿越对称型NAT的代理方法,其特征在于:所述步骤102包括:
(B1):将TCP连接数据包中的目标IP地址字段和目标端口字段填写为扫描策略中指定的目标内网IP地址和目标端口;
(B2):代理客户端Socks5部分将TCP连接的数据包按Socks5的协议格式封装起来,封装后的数据包中的目标IP地址字段填写为代理服务器的中继传输地址中的IP地址,目标端口填写为代理服务器的中继传输地址中的端口。
6.根据权利要求5所述的大量TCP连接穿越对称型NAT的代理方法,其特征在于:所述步骤103包括:
(C1):代理客户端TURN部分将代理客户端Socks5部分使用Socks5协议收敛后的TCP连接数据包,按照TURN的协议格式封装起来,封装后的数据包中目标IP字段填写为代理客户端TURN部分的IP地址;
(C2):代理客户端TURN部分将封装后的数据包发送给代理服务器TURN部分。
7.根据权利要求6所述的大量TCP连接穿越对称型NAT的代理方法,其特征在于:所述步骤104包括:
(D1):代理服务器TURN部分开启预接收线程,用来实时接收代理客户端TURN部分发送的数据包到代理缓冲区;
(D2):代理服务器TURN部分开启预处理线程,用来实时从代理缓冲区取出数据包,按照TURN协议的格式将数据包进行拆分或整合,形成TURN数据包;
(D3):代理服务器TURN部分根据TURN协议的格式对TURN数据包相应的字段进行解析,读取所需的信息;
(D4):代理服务器TURN部分检测根据步骤(D3)解析出的属性值XOR-PEER-ADDRESS外部节点地址和CONNECTION-ID代理内部连接编号,判断是否是代理服务器第一次接收到有此XOR-PEER-ADDRESS和CONNECTION-ID标记的数据包,如果是,则代理服务器TURN开启新的线程,线程中向代理服务器Socks5部分发起Socks5连接请求;连接建立后向代理服务器Socks5部分发送CONNECTION-ID标记的Socks5请求数据包;如果不是,则不做处理。
8.根据权利要求6所述的大量TCP连接穿越对称型NAT的代理方法,其特征在于:所述步骤105包括:
(E1):代理服务器Socks5部分接收Socks5请求数据包;
(E2):代理服务器Socks5部分解析Socks5请求数据包的载荷部分字段中原始的目标IP地址和目标端口;
(E3):代理服务器Socks5部分将Socks5请求数据包载荷部分发送到原始的目IP地址和目标端口,完成对TCP连接穿越的代理。
9.一种实现权利要求1至8任一所述方法的大量TCP连接穿越对称型NAT的代理系统,其特征在于:所述系统包括代理客户端和代理服务器;
所述代理客户端包括:
代理客户端Socks5部分:遵循Socks5协议规范,与Socks5服务器配合,完成对数据包进行目的端口收敛的工作;
代理客户端TURN部分:遵循支持TCP的TURN扩展协议规范,进行NAT的穿越;
所述代理服务器端包括:
代理服务器Socks5部分:遵循Socks5协议规范,将经过端口收敛的数据包发散到各个真正的目标IP地址和端口上;
代理服务器TURN部分:遵循支持TCP的TURN扩展协议规范,与代理客户端TURN部分配合,进行NAT的穿越。
10.根据权利要求9所述的系统,其特征在于:所述代理客户端和代理服务器使用TURN协议打通穿越对称型NAT的通道;
所述代理客户端使用Socks5协议对TCP连接数据包进行收敛;
所述代理客户端使用TURN协议将使用Socks5协议收敛后的数据包转发给代理服务器;
所述代理服务器对代理客户端发来的数据包进行处理;
所述代理服务器使用Socks5协议将处理后的数据包发散到各个TCP连接目标,完成对TCP连接穿越的代理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410795281.4A CN104506666A (zh) | 2014-12-18 | 2014-12-18 | 一种大量tcp穿越对称型nat的代理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410795281.4A CN104506666A (zh) | 2014-12-18 | 2014-12-18 | 一种大量tcp穿越对称型nat的代理方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104506666A true CN104506666A (zh) | 2015-04-08 |
Family
ID=52948381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410795281.4A Pending CN104506666A (zh) | 2014-12-18 | 2014-12-18 | 一种大量tcp穿越对称型nat的代理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104506666A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790758A (zh) * | 2016-12-29 | 2017-05-31 | 杭州迪普科技股份有限公司 | 一种访问nat网络内部的网络对象的方法及装置 |
CN107786536A (zh) * | 2017-09-11 | 2018-03-09 | 成都阜特科技股份有限公司 | 一种tcp反向端口穿透方法及其系统 |
CN109600422A (zh) * | 2018-11-19 | 2019-04-09 | 斑马网络技术有限公司 | 数据包处理方法、网关设备、车载行动热点和代理服务器 |
CN110602149A (zh) * | 2019-10-11 | 2019-12-20 | 北京字节跳动网络技术有限公司 | 一种外网访问方法、系统、分流服务器和内网设备 |
CN111800341A (zh) * | 2020-07-03 | 2020-10-20 | 珠海金山网络游戏科技有限公司 | 一种跨路由器终端通信方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968194A (zh) * | 2006-06-09 | 2007-05-23 | 华为技术有限公司 | 穿越网络地址转换的方法 |
CN102685268A (zh) * | 2012-05-22 | 2012-09-19 | 北京邮电大学 | 一种VoIP中基于ICE协议的快速私网穿越方法 |
CN102685141A (zh) * | 2012-05-22 | 2012-09-19 | 北京邮电大学 | 一种VoIP中基于语音可达性的融合穿越方法 |
WO2014066979A1 (en) * | 2012-10-29 | 2014-05-08 | Blackberry Limited | Method and system for tcp turn operation behind a restrictive firewall |
-
2014
- 2014-12-18 CN CN201410795281.4A patent/CN104506666A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968194A (zh) * | 2006-06-09 | 2007-05-23 | 华为技术有限公司 | 穿越网络地址转换的方法 |
CN102685268A (zh) * | 2012-05-22 | 2012-09-19 | 北京邮电大学 | 一种VoIP中基于ICE协议的快速私网穿越方法 |
CN102685141A (zh) * | 2012-05-22 | 2012-09-19 | 北京邮电大学 | 一种VoIP中基于语音可达性的融合穿越方法 |
WO2014066979A1 (en) * | 2012-10-29 | 2014-05-08 | Blackberry Limited | Method and system for tcp turn operation behind a restrictive firewall |
Non-Patent Citations (1)
Title |
---|
沈佳坤: "面向云计算的漏洞扫描代理的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790758A (zh) * | 2016-12-29 | 2017-05-31 | 杭州迪普科技股份有限公司 | 一种访问nat网络内部的网络对象的方法及装置 |
CN106790758B (zh) * | 2016-12-29 | 2020-06-09 | 杭州迪普科技股份有限公司 | 一种访问nat网络内部的网络对象的方法及装置 |
CN107786536A (zh) * | 2017-09-11 | 2018-03-09 | 成都阜特科技股份有限公司 | 一种tcp反向端口穿透方法及其系统 |
CN109600422A (zh) * | 2018-11-19 | 2019-04-09 | 斑马网络技术有限公司 | 数据包处理方法、网关设备、车载行动热点和代理服务器 |
CN110602149A (zh) * | 2019-10-11 | 2019-12-20 | 北京字节跳动网络技术有限公司 | 一种外网访问方法、系统、分流服务器和内网设备 |
CN111800341A (zh) * | 2020-07-03 | 2020-10-20 | 珠海金山网络游戏科技有限公司 | 一种跨路由器终端通信方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040246991A1 (en) | IP address translator and packet transfer apparatus | |
US8611354B2 (en) | Method and apparatus for relaying packets | |
CN104506666A (zh) | 一种大量tcp穿越对称型nat的代理方法和系统 | |
JP2011077804A (ja) | 通信装置およびその通信方法 | |
CA2884683C (en) | Split network address translation | |
WO2013069161A1 (ja) | ルーティング方法およびネットワーク伝送装置 | |
US8724630B2 (en) | Method and system for implementing network intercommunication | |
CN102984300A (zh) | 一种4-6-4混合协议网络中分布式网关系统和访问方法 | |
US11336751B2 (en) | Method for operating a fieldbus system and gateway | |
WO2015117454A1 (zh) | 一种IPv4与IPv6之间的翻译方法及装置 | |
CN105391813A (zh) | 一种socks透明代理的方法及装置 | |
JP2002141954A (ja) | 通信中継装置、および通信中継方法、並びにプログラム記憶媒体 | |
CN109076022A (zh) | 网络地址转换装置、设置请求装置、通信系统、通信方法和存储程序的存储介质 | |
JP5333095B2 (ja) | アドレス変換・プロトコル変換システム、並びに、トランスレータ装置及びトランスレータプログラム | |
CN103888554B (zh) | IPv4与IPv6互通的域名解析方法和系统 | |
JP2008172816A (ja) | アドレス変換方法 | |
US10129145B2 (en) | Routing IPv6 packets between autonomous systems | |
US8223762B2 (en) | Method and device for translating internet protocol addresses inside a communications network | |
CN102868642B (zh) | 在asic中实现nvgre报文转发的方法和装置 | |
CN1529480B (zh) | 一种ip网络协议转换的方法 | |
CN105610808A (zh) | 一种基于动态域名解析的网络流量识别方法及系统 | |
CN105939316A (zh) | 报文转发方法以及装置 | |
CN105516382A (zh) | Ipv4网络与ipv6物联网节点的通信方法及系统 | |
CN113542450B (zh) | 一种工控防火墙支持ftp穿越nat的实现方法及系统 | |
CN106506718B (zh) | 基于多重NAT纯IPv6网络的IVI过渡方法及网络系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150408 |
|
RJ01 | Rejection of invention patent application after publication |