- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言实现的socket5代理
C 语言写的 Linux 平台 socks5 代理程序
信息来源:邪恶八进制信息安全团队()
前几天 MSN 老上不去,我还以为是公司做了防火墙限制。于是把去年这个时候写
得一个代理程序改了改,拿出来用。结果发现 MSN 是因为微软的问题,鄙视啊……
因为写得比较急,这个只支持 TCP 代理,UDP 的我没写,因为 MSN 用不上。这个
代码可以随意修改分发,不过最好能给我一份。
这是头文件:
/////////////////////////////////////////////////////////////////////
//////////////////////////////////////////
// Socks5 代理头文件,定义协议相关数据包结构
// 版本 0.1,作者 云舒
// 2007 年 1 月 9 日凌晨 1点 15 分,GF 回家已经 11 天了。
// 2008 年 1 月 25 日修改,今年 GF 一直在我身边,哈哈
//
// 参考:
// /rfc/rfc1928.txt
// /rfc/rfc1929.txt
/////////////////////////////////////////////////////////////////////
//////////////////////////////////////////
#ifndef SOCKS5_H
#define SOCKS5_H
#define VERSION 0x05
#define CONNECT 0x01
#define IPV4 0x01
#define DOMAIN 0x03
#define IPV6 0x04
typedef struct _method_select_response // 协商方法服务器响应
{
char version; // 服务器支持的 Socks 版本,0x04 或者 0x05
char select_method;// 服务器选择的方法,0x00 为匿名,0x02 为密码认证
} METHOD_SELECT_RESPONSE;
typedef struct _method_select_request // 协商方法服务端请求
{
char version; // 客户端支持的版本,0x04 或者 0x05
char number_methods; // 客户端支持的方法的数量
char methods[255]; // 客户端支持的方法类型,最多 255 个,0x00 为匿名,
0x02 为密码认证
} METHOD_SELECT_REQUEST;
typedef struct _AUTH_RESPONSE // 用户密码认证服务端响应
{
char version;// 版本,此处恒定为 0x01
char result;// 服务端认证结果,0x00 为成功,其他均为失败
} AUTH_RESPONSE;
typedef struct _AUTH_REQUEST //用户密码认证客户端请求
{
char version; // 版本,此处恒定为 0x01
char name_len; // 第三个字段用户名的长度,一个字节,最长为 0xff
char name[255]; // 用户名
char pwd_len;// 第四个字段密码的长度,一个字节,最长为 0xff
char pwd[255]; // 密码
} AUTH_REQUEST;
typedef struct _SOCKS5_RESPONSE // 连接真实主机,Socks 代理服务器响应
{
char version; // 服务器支持的 Socks 版本,0x04 或者 0x05
char reply; // 代理服务器连接真实主机的结果,0x00 成功
char reserved; // 保留位,恒定位 0x00
char address_type; // Socks 代理服务器绑定的地址类型,IP V4 为 0x01,IP
V6 为 0x04,域名为 0x03
char address_port[1]; // 如果 address_type 为域名,此处第一字节为域名长
度,其后为域名本身,无 0字符结尾,域名后为 Socks 代理服务器绑定端口
}SOCKS5_RESPONSE;
typedef struct _SOCKS5_REQUEST // 客户端请求连接真实主机
{
char version; // 客户端支持的 Socks 版本,0x04 或者 0x05
char cmd; // 客户端命令,CONNECT 为 0x01,BIND 为 0x02,UDP 为 0x03,一般
为 0x01
您可能关注的文档
- Circumstellar discs around solar-mass stars in NGC 6611.pdf
- Cisco7018---机架标准.pdf
- CitectSCADA 7.20 Service Pack 1 - Release Notes.pdf
- CLAA070VA01.pdf
- Class Description.pdf
- Classical Mechanics without Absolute Space.pdf
- Classification of Color Edges in Video into Shadow-Geometry.pdf
- Classification of operator algebraic conformal field theories.pdf
- Clear Water Bay, Kowloon.pdf
- Clearing the Throat Irrelevant Operators and Finite Temperature in Large n Gauge Theory.pdf
文档评论(0)