发表文章 返回首页
当前位置: bitsCN.com > DotNet > VB.NET >

VB6中使用Winsock穿越各种代理的实现

时间:2007-02-02 08:00来源:中国网管联盟 作者:bitsCN整理 点击:
原文标题:VB6 中 使用Winsock穿越各种代理的实现(TCP协议) 本文中引用的RFC文档内容归原作者所有 转载本文请标明出处 本文作者:吴滂 关于用vb的winsock穿透代理的讨论归讨论,一直没有什么源代码放出,现在我就放源出来,省的某些人拿这所谓的"技术"去骗钱. 由于缺乏测试
   原文标题:VB6 中 使用Winsock穿越各种代理的实现(TCP协议)

  本文中引用的RFC文档内容归原作者所有 feedom.net

  转载本文请标明出处 54ne.com

  本文作者:吴滂

54com.cn

  关于用vb的winsock穿透代理的讨论归讨论,一直没有什么源代码放出,现在我就放源出来,省的某些人拿这所谓的"技术"去骗钱.

feedom.net

  由于缺乏测试环境,本程序只在我自己编写的代理模拟器上测试过,其结果和腾讯QQ,MSN,网易泡泡穿越该模拟器时得出的结果基本一致.因此,代码可能有错误的地方,请各位有条件的用户自行改正,请见谅!

中国网管联盟www.bitscn.com

  首先,是基础知识,也就是RFC文档.这个是必看内容.我的程序就是基于这些文档写出.下面是各RFC的连接,为了准确,我先提供英文版的连接,在下面的介绍中再把关键部分翻译成中文.另外,要纠正一个错误.国内很多文章说socks5代理的用户名/密码校验标准在 RFC 1928里有说明,其实这是一个完全错误的说法(我很怀疑写那文章的人有没有看过RFC),socks5用户名/密码校验标准其实是在 RFC 1929 里面说明的.

54com.cn

  RFC 1928 - socks5 代理标准

中国网管论坛bbs.bitsCN.com

  RFC 1929 - socks5 代理用户名/密码校验标准 feedom.net

  RFC ???? - socks4 代理标准

中国网管联盟www.bitscn.com

  RFC 2616 - HTTP1.1 标准 feedom.net

  我们现在直入正题:先说socks5的TCP穿透(有了这个例子大家自己照这可以写UDP穿透)

中国网管联盟www.bitscn.com

  首先和代理服务器连接-直接用winsock去connect指定的地址端口(通常是1080)即可.然后进入细节商议阶段.

中国网管联盟www_bitscn_com

  细节商议--无用户名/密码校验 feedom.net

  RFC 1928 中对于细节商议的第一步是这样描述的: 网管网bitsCN.com

  The client connects to the server, and sends a version 中国网管联盟www.bitscn.com

  identifier/method selection message:

feedom.net

  +----+----------+----------+

网管联盟www.bitsCN.com

  |VER | NMETHODS | METHODS |

54ne.com

  +----+----------+----------+

网管联盟www.bitsCN.com

  | 1 | 1 | 1 to 255 |

54ne.com

  +----+----------+----------+ feedom.net

  The VER field is set to X'05' for this version of the protocol. The

54ne.com

  NMETHODS field contains the number of method identifier octets that

54ne.com

  appear in the METHODS field.

54ne.com

  The server selects from one of the methods given in METHODS, and 网管网bitsCN_com

  sends a METHOD selection message: 中国网管联盟www.bitscn.com

  +----+--------+

中国网管论坛bbs.bitsCN.com

  |VER | METHOD |

feedom.net

  +----+--------+

网管网bitsCN.com

  | 1 | 1 | 中国网管联盟www、bitsCN、com

  +----+--------+ 网管网bitsCN.com

  If the selected METHOD is X'FF', none of the methods listed by the 54com.cn

  client are acceptable, and the client MUST close the connection.

中国网管论坛bbs.bitsCN.com

  The values currently defined for METHOD are:

54ne.com

  o X'00' NO AUTHENTICATION REQUIRED ---------无用户密码 00 54com.cn

  o X'01' GSSAPI ---------??? GSSAPI ? 中国网管联盟www_bitscn_com

  o X'02' USERNAME/PASSWORD ---------有用户密码 02 中国网管论坛bbs.bitsCN.com

  o X'03' to X'7F' IANA ASSIGNED

54com.cn

  o X'80' to X'FE' RESERVED FOR PRIVATE METHODS 网管联盟www.bitsCN.com

  o X'FF' NO ACCEPTABLE METHODS ---------失败 255 中国网管联盟www_bitscn_com

  The client and server then enter a method-specific sub-negotiation.

54ne.com

  换言之,就是向服务器发送三个字节的Byte数组,由于是无须用户/密码校验,展开来写是 05 01 00 feedom.net

  然后服务器返回两个字节的信息,第一个字节固定,第而个字节是说明,如果是16进制的FF(即十进制255)表示连接失败(o X'FF' NO ACCEPTABLE METHODS)根据上面的列表,我们连接成功应该第二字节为 00.

中国网管联盟www.bitscn.com

 

中国网管联盟www、bitsCN、com

中国网管联盟www、bitsCN、com

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
发布者资料
admin 查看详细资料 发送留言 加为好友 用户等级:注册会员 注册时间:2008-05-08 23:05 最后登录:2009-01-05 13:01
推荐内容
热点内容