tcpip协议:VB6中使用Winsock穿越各种代理的实现(TCP协议)

感谢 Oleg Gdalevich 和 CSDN 用户 zyg0(影子)对本文()所做贡献

本文中引用RFC文档内容归原作者所有

转载本文请标明出处

本文作者:吴滂

本文中提及可在 枕善居  http://www.mndsoft.com/blog/blogview.asp?logID=494 下载

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

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

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

RFC 1928 - socks5 代理标准

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

RFC ???? - socks4 代理标准

RFC 2616 - HTTP1.1 标准



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

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

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

RFC 1928 中对于细节商议步是这样描述:

The client connects to the server, and sends a version
   identier/method selection message:

                   +----+----------+----------+
                   |VER | NMETHODS | METHODS  |
                   +----+----------+----------+
                   | 1  |    1     | 1 to 255 |
                   +----+----------+----------+

   The VER field is to X''05'' for this version of the protocol.  The
   NMETHODS field contains the number of method identier octets that
   appear in the METHODS field.


   The server selects from _disibledevent= 0
Form1.Winsock1.Close
Exit Function

End If

End If
End If

End Function
Tags:  tcpip协议详解 tcpip协议是什么 tcp协议 tcpip协议

延伸阅读

最新评论

发表评论