b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

socks5 协议_socks5 vc实现_socks5 协议分析(4)

电脑杂谈  发布时间:2017-06-06 06:12:00  来源:网络整理

建议只有在一个应用协议的客户端在使用CONNECT命令建立主连接后才可以使用BIND命令建立第二个连接。建议SOCKS服务器使用DST.ADDR和DST.PORT来评价BIND请求。

在一个BIND请求的操作过程中,SOCKS服务器要发送两个应答给客户端。当服务器建立并绑定一个新的套接口时发送第一个应答。BND.PORT字段包含 SOCKS服务器用来进入的连接的端口号,BAND.ADDR字段包含了对应的IP地址。客户端通常使用这些信息来告诉(通过主连接或控制连接)应用服务器连接的汇接点。第二个应答仅发生在所期望到来的连接成功或失败之后。在第二个应答中,BND.PORT和BND.ADDR字段包含了连上来的主机的 IP地址和端口号。

个人理解:这里设置BIND的原因,例如象FTP协议,它是一些含有关联数据连接的协议,在FTP协议中进行数据传送过程中,如果是PASSIVE传送模式,那么是由服务器端向客户端发起主动连接,这时客户端要启动端口,于是通过BIND命令通知SOCKS服务器客户端端口。

UDP ASSOCIATE

UDP ASSOCIATE请求通常是要求建立一个UDP转发进程来控制到来的UDP数据报。DST.ADDR和DST.PORT 字段包含客户端所希望的用来发送UDP数据报的IP地址和端口号(指定的是客户端的UDP插口的插口信息,而不是目的主机的ip地址和端口号,因为可能发送给多个不同的目的主机,以后传送UDP数据包内容就是通过该UDP插口来传送,而不是上述的TCP插口,例如客户端主机client,目的主机 server,还有中间的socks代理服务器proxy,如果client要向server的UDP端口p3发送数据包内容,那么首先client向 proxy发送一个命令是UDP ASSOCIATE的请求,该请求中记录本地ip和udp端口(client,p1),代理服务器proxy接收到该请求则发送响应报文,响应报文中记录着代理端口(proxy,p2),这里的请求响应报文是通过TCP插口来传送的,至于UDP数据包则是通过UDP插口来传送的,这样(client, p1)-->(server,p3)变成(client,p1)-->(proxy,p2),(proxy,p2)--> (server,p3)。client同proxy之间传送的UDP数据包头都包含目的主机信息,就是下面的“7.基于UDP协议的客户”,例如这里 (client,p1)-->(proxy,p2)之间传送的UDP数据包头就包含真正所要传送的目的主机信息(server,p3).)。服务器可以使用这个信息来限制进入的连接。如果客户端在发送这个请求时没有地址和端口信息,客户端必须用全0来填充。

当与UDP相应的TCP连接中断时,该UDP连接也必须中断。

应答UDP ASSOCIATE请求时,BND.PORT 和BND.ADDR字段指明了客户发送UDP消息至服务器的端口和地址。

个人理解:UDP插口与TCP插口的一个很大的不同点是UDP插口可以发送给多个接收方,而TCP只有一个接收方。所以socks代理服务器为了代理UDP协议,设置了UDP ASSOCIATE命令,

应答处理

当一个应答(REP值不等于00)指明出错时,SOCKS服务器必须在发送完应答消息后一小段时间内终止TCP连接。这段时间应该在发现错误后少于10秒。

如果一个应答(REP值等于00)指明成功,并且请求是一个BIND或CONNECT时,客户端就可以开始发送数据了。如果协商的认证方法中有以完整性、认证和/或安全性为目的的封装,这些请求必须按照该方法所定义的方式进行封装。类似的,当以客户机为目的地的数据到达SOCKS服务器时,SOCKS服务器必须用正在使用的方法对这些数据进行封装。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-51367-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...