当前位置: 网学 > 编程文档 > VB > 正文

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

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
1

  Exit Function

  End If

  Case 3

  If Asc(Mid(RevBuffer, 2, 1)) <> 0 And Form1.Check1.Value = 1 Then ''有验证,验证失败 代理回复第二字节为 00 验证成功,其余值为失败

  MsgBox "sock5代理校验用户名、密码失败!", 48, "错误"

  Form1.Winsock1.Close

  ConnStep = 0

  Exit Function

  End If

  If Asc(Mid(RevBuffer, 2, 1)) = 0 And Form1.Check1.Value = 1 Then ''有验证,验证成功,回复值第二字节为 00 ,其余值为失败

  Form1.Label8.Caption = "连接成功!有验证!"

  ReDim SendByte(0 To 9) As Byte ''发送连接请求

  SendByte(0) = 5

  SendByte(1) = 1

  SendByte(2) = 0

  SendByte(3) = 1

  SendByte(4) = GetIPByte(1, DestIP)

  SendByte(5) = GetIPByte(2, DestIP)

  SendByte(6) = GetIPByte(3, DestIP)

  SendByte(7) = GetIPByte(4, DestIP)

  SendByte(8) = Int(DestPort / 256) ''把10进制端口分成两个字节

  SendByte(9) = DestPort Mod 256 ''把10进制端口分成两个字节

  Form1.Winsock1.SendData SendByte()

  ConnStep = ConnStep + 1

  Exit Function

  End If

  If Asc(Mid(RevBuffer, 2, 1)) = 0 And Form1.Check1.Value = 0 Then

  Form1.Label8.Caption = "连接目标服务器成功!" ''无验证的最后一步,代理回复第二字节为 00 成功,其余值为失败

  ConnStep = -1

  Form2.Show

  Exit Function

  End If

  If Asc(Mid(RevBuffer, 2, 1)) <> 0 And Form1.Check1.Value = 0 Then

  MsgBox "连接目标服务器失败!", 48, "错误" ''无验证的最后一步,代理回复第二字节为 00 成功,其余值为失败

  ConnStep = 0

  Form1.Winsock1.Close

  Exit Function

  End If

  Case 4 ''只有有验证才会用到这一步

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

  MsgBox "sock5代理连接目标服务器失败!", 48, "错误"

  ConnStep = 0

  Form1.Winsock1.Close

  Exit Function

  Else

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

  ConnStep = -1

  Form2.Show

  Exit Function

  End If

  End Select

  End If

  If ProxyType = 2 Then ''@@@@@@@@@@@@@@@@@@@@@@@@HTTP1.1代理

  If PStep = 1 Then ''无用户名密码验证

  If Form1.Check1.Value = 0 Then

  HTTPHeader = "CONNECT " & Form1.Text5.Text & ":" & Form1.Text6.Text & _

  " HTTP/1.1" & Chr(13) & Chr(10) & "Host: " & Form1.Text5.Text & ":" & Form1.Text6.Text & Chr(13) & Chr(10) & Chr(13) & Chr(10)

  ConnStep = PStep + 1

  Form1.Winsock1.SendData HTTPHeader

  Exit Function

  End If

  If Form1.Check1.Value = 1 Then '' 有用户名密码验证

  HTTPHeader = "CONNECT " & Form1.Text5.Text & ":" & Form1.Text6.Text & _

  " HTTP/1.1" & Chr(13) & Chr(10) & "Host: " & Form1.Text5.Text & ":" & _

  Form1.Text6.Text & Chr(13) & Chr(10) & "Authorization: Basic " & StrtoBase64(Form1.Text3.Text & _

  ":" & Form1.Text4.Text) & Chr(13) & Chr(10) & Chr(13) & Chr(10) & "Proxy-Authorization: Basic " & _

  

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号