turn协议 数据交换过程

turn协议 数据交换过程,第1张

在一个典型组网中,一个TURN客户端连接在一个私有网络中,通过一个或多个NAT来连接到公网。在公网中有一个TURN服务器。在因特网的别处有一个或多个对端是这个TURN客户端希望通讯的。这些对端也有可能是在一个或多个NAT的后面。该客户端使用服务器作为一个中继来发送数据包 到这些对端去,并且从这些对端接收数据包。

客户端通过一个IP地址和端口的组合来与服务器建立会话。客户端使用TURN命令在服务器上创建和 *** 作一个ALLOCATION。一旦这个allocation创建好了,客户端能够在数据发往哪个对端的指示下发送应用数据到这个服务器,服务器将中继这些数据到合适的对端。

客户端发送的应用数据包含在TURN消息中,服务器将数据提取出来,并以UDP数据包方式发送给对端。反向上,对端以UDP数据包方式发送应用数据到这个allocation提供的中继传输地址。

因为TURN消息总是包含客户端与哪些对端通讯的指示,客户端能够使用单一的allocation来与多个对端通讯。

turn 术语
TURN client:遵循RFC5766的STUN客户端。
TURN server:遵循RFC5766的STUN服务器。
Peer:TURN客户端希望连接的主机。TURN服务器为TURN客户端和它的对端中继流量,但Peer并不与TURN服务器使用TURN协议进行交互,它接收从TURN服务器发送过来的数据,并向TURN服务器发送数据。
Transport Address:IP地址与端口号的组合。
Host Transport Address:客户端或对端的传输地址。
Server-Reflexive Transport Address:NAT公网侧的传输地址,该地址由NAT分配,相当于一个特定的主机传输地址。
Relayed Transport Address:TURN服务器上的传输地址,用于客户端和对端中继数据。
TURN Server Transport Address:TURN服务器上的传输地址,用于客户端发送STUN消息给服务器。
Peer Transport Address:服务器看到的对端的传输地址,当对端是在NAT后面,则是对端的服务器反射传输地址。
Allocation:通过Allocate请求将中继传输地址提供给客户端,除了中继状态外,还有许可和超时定时器等。
5-tuple:五元组,包括客户端IP地址和端口,服务器IP地址和端口和传输协议(包括UDP、TCP、TLS)的组合。
Channel:通道号与对端传输地址的关联,一旦一个通道号与一个对端的传输地址绑定,客户端和服务器就能够利用带宽效应更大的通道数据消息来交换数据。
Permission:一个对端允许使用它的IP地址和传输协议来发送数据到TURN服务器,服务器只为从对端发来的并且匹配一个已经存在的许可的流量中继到相应的客户端。
Realm:服务器内用于描述服务器或内容的一个字符串,这个realm告诉客户端哪些用户名和密码的组合可用于认证请求。
Nonce:服务器随机选择的一个字符串,包含在报文摘要中。为了防止中继攻击,服务器应该有规律的改变这个nonce。

协议交互过程详细举例
以图2为例进行讲解,每个消息中,多个属性包含在消息中并显示它们的值。为了方便阅读,值以人们可读的格式来显示。

接着,客户端为了准备向对端A发送一些应用数据而创建一个permission。这里通过一个CreatePermission请求来做到。该请求携带XOR-PEER-ADDRESS属性包含有确定的请求的IP地址,这里为对端A的地址;需要注意的是,属性中地址的端口号被设置为0在CreatePermission请求中,并且客户端使用的是对端A的server-reflexive地址而不是它的主机地址(私网地址);客户端在该请求中携带与之前的Allocate请求中一样的username、realm和nonce值,因此该请求被服务器认可。此时在该请求中,客户端没有携带SOFTWARE属性。
服务器收到该CreatePermission请求,产生一个相应的许可,并以CreatePermission成功响应来回应。该响应中只包含了Transaction-ID和MESSAGE-INTEGRITY属性。

现在客户端使用Send indication来发送应用数据到对端A。对端的server-reflexive传输地址包含在XOR-PEER-ADDRESS属性中,应用数据包含在DATA属性中。客户端已经在应用层上执行了路径MTU发现功能,因此通过DON’T-FRAGMENT属性来告知服务器当通过UDP方式来向对端发送数据时应设置DF位。Indications不能使用长期证书机制来认证,所以该消息中没有MESSAGE-INTEGRITY属性。
服务器收到Send indication后,提取出应用数据封装成UDP格式发给对端A;UDP报文的源传输地址为中继传输地址,并设置DF位。
对端A回应它自己的包含有应用数据的UDP包给服务器。目的地址为服务器的中继传输地址。当服务器收到后,将生成Data indication消息给客户端,携带有XOR-PEER-ADDRESS属性。应用数据包含在DATA属性中。

接着,对端B发送UDP数据包回应给服务器的中继传输地址。服务器收到后,回应给客户端ChannelData消息,包含UDP数据包中的数据。服务器知道是给哪个客户端发送ChannelData消息,这是因为收到的UDP数据包中的目的地址(即服务器的中继传输地址),并且知道使用的是哪个通道号,这是因为通道已经与相应的传输地址绑定了。

HP机器是没有系统光盘的(如果你没有把机器内的系统备份刻出盘来的话)
如果还想用自己正版的VISTA系统,只能F11恢复(电脑买来后如果没有被重新分过区,是一定能F11恢复的)
系统没有大问题的话也可以强行进入桌面试一下,打开任务管理器--文件--新建任务--浏览--windows(Win的系统文件夹)--explorerexe(运行这个文件)
如果没有就重别的VISTA COPY一个过来放到这个文件夹内

先简单介绍一下代理的分类:
代理分:Level 1~Level 5 五个等级;
或者也可以分为3类:·
A 全匿名代理 不改变你的Request
Fields,使服务器端看来就像有个真正的客户浏览器在访问它。当然,你的真实IP是隐藏起来的。服务器的网管不会认为你使用了代理。
B· 普通匿名代理 能隐藏你的真实IP,但会更改你的Request
Fields,有可能会被认为使用了代理,但仅仅是可能,一般说来是没问题的。不过不要受它的名字的误导,其安全性可能比全匿名代理更高,有的代理会剥离你的部分信息(就好比防火墙的Stealth
Mode),使服务器端探测不到你的 *** 作系统版本和浏览器版本。
C· 透明代理(简单代理) 改编你的Request Fields,并会传送真实IP。
你访问的网站会把你看的一清二楚,知道你用了代理,知道代理的IP,也知道你的真实IP。
一般Level3-Level5属于 透明代理; Level 1-Level3 属于匿名代理! 全匿名代理有时也称为超级代理!
不想让网管(国内代理服务器}或者ISP(国外代理服务器)知道我想去哪去过哪,那把你的连接请求用SSL加密就行了
有了匿名功能再加上加密的连接,隐身术终于练成!
制作和使用这个代理需要的软件是CCPROXY 62,STUNNEL,OPENSSL,SOCKSCAP都是免费软件,CC3个用户就够了
假设你已经有了一台远程机器A做代理服务器,你自己的机器为B
在A机上,我们要开一个SOCKS5的本地代理端口,并且用SSL加密他的传输首先,在CCPROXY里启用SOCKS5的代理服务,假设端口是 1080,创建一个用户,验证方式为用户名/密码/IP混合,假设用户名密码都是123,IP为127001,记得顺便把"禁止局域网外用户访问" 勾上,因为远程的B机不会直接访问这个服务,免得老人人来扫密码下面是关键,打开CCPROXYINI文件,修改并确认下面2个参数:
EnableProxyConnection=0
EnableReferer=0
这样别人就不知道你使用了代理,也不知道你从哪儿来好像CC60也支持这两个参数,不过官方是63才在FAQ里面写出来
然后配置STUNEELCONF文件,内容如下:
cert=stunnelpem
key = stunnelpem
taskbar=no #这个参数可以隐藏STUNELL的图标,如果做坏事就用$%#%#
client=no
[socks2ssl]
accept = 80 #在80端口监听,准备接受外部连接
connect = 127001:1080 #连接CCPROXY开的SOCKS5服务端口
把监听端口设为80的原因是极端的假设B机前面的防火墙只允许B机访问80端口,如果没这个限制,随便设一个
代理服务器做好了,我们要配置一下B机这个客户端
首先是客户端的STUNNELCONF
client = yes
[ssl2SOCKS]
accept = 127001:8282 #在本地启用8282端口的SOCKS5代理服务
connect = AAAAAAAAAAAA:80 #连接到你的代理服务器A,地址或者域名+端口
然后设置SOCKSCAP,设置代理类型SOCKS5,地址127001,端口8282,用户密码验证(启动SOCKSCAP会让你输入,就是前面设置的123了),DNS解析选先本地再远程
最后,把你的浏览器,例如IE,拉入SOCKSCAP,可以去 >

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10272408.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存