在客户程序A与服务器程序B进行网络通信时,正常的过程应该是
1、A----(syn)----〉B
2、B----(syn ack)-----〉A
3、A-----(ack)-----〉B
三次握手完成,开始真正的数据传送。
如果客户程序A要通过socks5代理服务器C与服务程序B进行网络通信时,A先与C建立三次握手,然后A向C发送本次通信使用的socks5规则,C回应A选定的规则,然后A向C发送B的ip和断口号,C回应通信邦定的ip和断口号,这些过程完成后,以后A直接将数据发送到C,C再将数据转发至B完成通信。过程如下:
1、A----(syn)----〉C
2、C----(syn ack)-----〉A
3、A-----(ack)-----〉C
4、A-----(协商socks5通信的规则)------〉C
5、C------(应答使用的socks5通信规则)------>A
6、A------(B的ip和port)------>C
7、C------(邦定的ip和port)----->A
从上面的介绍可以看到,如果一个程序要通过socks5代理服务器通信,它将会多出4-7这几个包来实现socks5协议。
阅读(3945) | 评论(0) | 转发(0) |