Socks5的工作程序
1.客戶端向Socks5服務器發出請求信息。
2.Socks5應答
3.客戶端接到應答后發送向Socks5服務器發送目的服務器的ip和端口
4.Socks5與目的服務器連接
5.Socks5將客戶端發出的信息傳到目的服務器,將目的服務器發出的信息傳到客戶端。代理完成。
由于網上的信息傳輸都是運用tcp或udp進行的,所以使用socks5代理可以辦到網上所能辦到的一切,而且目的服務器不會反查到客戶端的真實ip,既安全又方便 sock5支持UDP和TCP,但兩種代理是有區別的,以下分類說明
如何用代理TCP協議
1.向服務器的1080端口建立tcp連接。
2.向服務器發送 05 01 00 (此為16進制碼,以下同)
3.如果接到 05 00 則是可以代理
4.發送 05 01 00 01 + 目的地址(4字節) + 目的端口(2字節),目的地址和端口都是16進制碼(不是字符串!!)。
例202.103.190.27 - 7201 則發送的信息為:05 01 00 01 CA 67 BE 1B 1C 21 (CA=202
67=103 BE=190 1B=27 1C21=7201)
5.接受服務器返回的自身地址和端口,連接完成
6.以后操作和直接與目的方進行TCP連接相同。
如何用代理UDP連接
1.向服務器的1080端口建立udp連接
2.向服務器發送 05 01 00
3.如果接到 05 00 則是可以代理
4.發送 05 03 00 01 00 00 00 00 + 本地UDP端口(2字節)
5.服務器返回 05 00 00 01 +服務器地址+端口
6.需要申請方發送 00 00 00 01 +目的地址IP(4字節)+目的端口 +所要發送的信息
7.當有數據報返回時 向需要代理方發出00 00 00 01 +來源地址IP(4字節)+來源端口 +接受的信息
注:此為不需要密碼的代理協議,只是socks5的一部分,完整協議請查看RFC1928