网站首页

家园论坛

老版论坛

家园博客

业界新闻

技术文档

下载中心

速查中心

图片中心

硬件资讯
上一篇:利用Visual Basic实现木马攻击 下一篇:没有了
VB6中使用Winsock穿越各种代理的实现

来源: 作者: 添加日期:2007-2-27 7:32:03 点击次数:

  92: request rejected becasue SOCKS server cannot connect to

  identd on the client

  93: request rejected because the client program and identd

  report different user-ids

  The remaining fields are ignored.

  根据RFC的说法,代理服务器返回8字节的数据,我们只要判断第二字节是否为90即可,若是90连接成功,否则失败.剩下的操作和直连一样,Winsock可直接用SendData 和 GetData 发送\接受数据.

  HTTP1.1 代理的穿透

  由于RFC 2616过于冗长,加上HTTP代理穿透的步骤比socks简单,这里就不详细说明了,我只给出连接的步骤和发送数据格式.

  第一步仍然是用Winsock去连接代理服务器.第二步为发送请求字符,其格式为:

  无用户名/密码校验 格式:

  "CONNECT" + 空格 + 目标连接地址 + ":" + 目标连接端口 + 空格 + "HTTP/1.1" + Chr(13) + Chr(10) + "Host:" + 空格 + 目标连接地址 + ":" + 目标连接端口 + Chr(13) + Chr(10) + Chr(13) + Chr(10)

  用户名/密码验证格式:

  "CONNECT" + 空格 + 目标连接地址 + ":" + 目标连接端口 + 空格 + "HTTP/1.1" + Chr(13) + Chr(10) + "Host:" + 空格 + 目标连接地址 + ":" + 目标连接端口 + Chr(13) + Chr(10) + "Authorization: Basic" + 空格 + 经Base64加密过后的[用户名:密码] + Chr(13) + Chr(10) + Chr(13) + Chr(10) + "Proxy-Authorization: Basic" + 空格 + 经Base64加密过后的[用户名:密码] + Chr(13) + Chr(10) + Chr(13) + Chr(10)

 发送请求完毕后,将收到代理的回应,根据RFC说明(注意 Status-Line 和 Status-Code):

  6 Response

  After receiving and interpreting a request message, a server responds

  with an HTTP response message.

  Response = Status-Line ; Section 6.1

  *(( general-header ; Section 4.5

  | response-header ; Section 6.2

  | entity-header ) CRLF) ; Section 7.1

  CRLF

  [ message-body ] ; Section 7.2

  6.1 Status-Line

  The first line of a Response message is the Status-Line, consisting

  of the protocol version followed by a numeric status code and its

  associated textual phrase, with each element separated by SP

  characters. No CR or LF is allowed except in the final CRLF sequence.

  Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF

  6.1.1 Status Code and Reason Phrase

  The Status-Code element is a 3-digit integer result code of the

  attempt to understand and satisfy the request. These codes are fully

  defined in section 10. The Reason-Phrase is intended to give a short

  textual description of the Status-Code. The Status-Code is intended

  for use by automata and the Reason-Phrase is intended for the human

  user. The client is not required to examine or display the Reason-

  Phrase.

  The first digit of the Status-Code defines the class of response. The

  last two digits do not have any categorization role. There are 5

  values for the first digit:

  - 1xx: Informational - Request received, continuing process

  - 2xx: Success - The action was successfully received,

  understood, and accepted

  - 3xx: Redirection - Further action must be taken in order to

  complete the request

  - 4xx: Client Error - The request contains bad syntax or cannot

本新闻共8页,当前在第4页  1  2  3  4  5  6  7  8  

 
设为首页 | 加入收藏 | 业务办理 | 友情链接 | 论坛版面 | 浙ICP备07502118号 |