科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道VB6中使用Winsock穿越各种代理的实现

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

作者:吴滂 来源:csdn 2007年10月14日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共7页)

可知,如果连接成功,服务器返回的信息是 "HTTP/" + 代理版本 + "200" + 描述("Connection established")

  所以我们只要判断返回的信息是否以"http"开头,是否存在" 200 "字眼即可.

  以下是关键函数的源代码:

  Public Function ProxyStep(ProxyType As Integer, PStep As Integer)

  Dim SendByte() As Byte

  If ProxyType = 0 Then '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ sock4代理

  If PStep = 1 Then

  ReDim SendByte(0 To 8) As Byte

  SendByte(0) = 4 ' 04

  SendByte(1) = 1 ' 01

  SendByte(2) = Int(DestPort / 256)

  SendByte(3) = DestPort Mod 256

  SendByte(4) = GetIPByte(1, DestIP)

  SendByte(5) = GetIPByte(2, DestIP)

  SendByte(6) = GetIPByte(3, DestIP)

  SendByte(7) = GetIPByte(4, DestIP)

  SendByte(8) = 0 '最后要以 0 结束

  Form1.Winsock1.SendData SendByte()

  ConnStep = PStep + 1

  Exit Function

  End If

  If PStep = 2 Then '代理回复,第二字节为 90 为成功,其余值为失败

  If Asc(Mid(RevBuffer, 2, 1)) <> 90 Then

  Debug.Print Asc(Mid(RevBuffer, 2, 1))

  MsgBox "连接sock4代理失败!", 48, "错误"

  Form1.Winsock1.Close

  ConnStep = 0

  Exit Function

  Else

  Form1.Label8.Caption = "连接目标服务器成功!"

  ConnStep = -1

  Form2.Show

  Exit Function

  End If

  End If

  End If

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章