请问TClientSocket类如何使用socks5代理来连接Server?(200分)

  • 主题发起人 主题发起人 DickWu
  • 开始时间 开始时间
D

DickWu

Unregistered / Unconfirmed
GUEST, unregistred user!
我想让我的Chat通过socks代理来连接MsChat或mIRC服务器,
我的Chat程序是用TClientSocket来做的,可是不知道怎么让
TClientSocket通过socks5代理来连接对方的服务器,哪位大侠
知道? 指点一下啦 :)
 
你如果用wingate,可以看一看它的帮助,里面有对IRC客户端的配置,参考一下.
 
我不用WinGate,我只是想知道怎么让TClientSocket通过socks5代理连接服务器,
Chat程序只不过是为了这个目的而用来做试验的。
 
但是如何通过socks5代理好像是根据不同的代理服务器软件而不同的.
比如我们常用的ICQ,好像就对winpoxy,wingate等有不同的设置.
 
能给个Delphi的代码例子吗? 比如如果通过Wingate连接的话,我的机器现在不方
便安装wingate.
 
我也没做过,只是建议你看看wingate的帮助,里面有详细说明.和代码没什么关系.
 
cAkk, 你说和代码没关系,是说不管TClientSockt控件连接服务器是否通过
socks5代理,它的代码完全一样? 我的系统是98。没找到wingate,只找到了
sygate,它的帮助只讲了各个integer应用程序怎么修改设置文件以通过sygate
连接到服务器,没讲这些配置文件是怎么起作用的,我还是没搞明白 :(

哪位大侠能给个例子?(使用TClientSockt控件) ,
难道没人知道吗?
55555555
我的200大洋看来要白白丢掉了 :~~(
 
代理服务与你的程序没有关系,只要它支持你的通讯端口就可以,关键是知道MsChat
的ip地址和内部协议。
Chat用的是tcp协议,所以你放心,sygate肯定可以支持所用的端口,除非被设置屏蔽掉。
OICQ用的是udp协议,就要在编码中处理socket5,tsocket控件是做不到的。
 
那怎么作呀!
oicq是怎么实现的udp socks5的?
 
看来该我捞分了!!!!!
sock5代理的工作程序是:

1。需要代理方向服务器发出请求信息。

2。代理方应答

3。需要代理方接到应答后发送向代理方发送目的ip和端口

4。代理方与目的连接

5。代理方将需要代理方发出的信息传到目的方,将目的方发出的信息传到需要代理方。代理完成

由于网上的信息传输都是运用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端口建立tcp连接

2。向服务器发送 05 01 00

3。如果接到 05 00 则是可以代理

4。发送 05 03 00 01 00 00 00 00 + 本地UDP端口(2字节)

5。服务器返回 05 00 00 01 +服务器地址+端口

7.需要申请方发送
00 00 00 01 +目的地址IP(4字节)+目的端口 +所要发送的信息

8。当有数据报返回时
向需要代理方发出00 00 00 01 +来源地址IP(4字节)+来源端口 +接受的信息



注:此为不需要密码的代理协议,只是socks5的一部分,完整协议请看RFC1928




 
to timerri:
有没有现成的控件或代码实现udp的代理?
(我有一题问的也是这个问题,我可以把分给你!)
 
目前没见到现成的控件,不过我想做一个也不是太难吧!
目前我已经做了一个socks5的代理软件(因为只用两天做,只支持1个tcp和1个udp代理,是用来截取oicq消息用的)
因为开学了,目前没时间,等有时间我就做一个这样的控件。等等吧!

 
to timetti:
我现在正在作一个类似oicq的软件,需要支持socks5,你能否给我寄些资料,
你的源程序能否给我一份?谢谢
 
ICS的TWsocket支持代理
 
本来就是么
自己看RFC1928/1929/1961去
就可以做出个完整的完全支持sock5的socket控件了
你问的这是翻译问题,都不是技术问题了.
如果连RFC也找不到,我给你个地方
ftp://ftp.isi.edu/in-notes/rfc1928.txt
ftp://ftp.isi.edu/in-notes/rfc1929.txt
ftp://ftp.isi.edu/in-notes/rfc1961.txt
 
多人接受答案了。
 
to timetti:
我现在正在作一个类似oicq的软件,需要通过socks5发送UDP数据,你能否给我寄些资料,谢谢大哥,拜托
我的EMAIL:earlyspring@chinese.com
 
后退
顶部