socks5 验证是否可用源码

部分代码:

.版本 2 .支持库 spec .程序集 窗口程序集_启动窗口 .子程序 __启动窗口_创建完毕 .子程序 Sock5代理验证, 逻辑型 .参数 服务器IP, 文本型 .参数 端口, 整数型 .参数 账号, 文本型, 可空 .参数 密码, 文本型, 可空 .参数 目标IP, 文本型 .参数 目标端口, 短整数型 .局部变量 认证, 字节集 .局部变量 IpWSAData, WSAData .局部变量 套接字句柄, 整数型 .局部变量 Sock5代理信息, SOCKADDR_IN .局部变量 时间, 整数型 初始化套接字 (2, IpWSAData) 套接字句柄 = 创建套接字 (2, 1, 6) Sock5代理信息.sa_family = 2 ' 2为AF_INET Sock5代理信息.sin_addr = inet_addr (服务器IP) Sock5代理信息.sin_port = htons (端口) 创建套接字连接 (套接字句柄, Sock5代理信息, 16) ' 发送检查代理服务器是否需要验证 接收结果: ' 05 ' 02 这里确认2种认证方式 无需认证和需要认证,只需要验证一种方式,可以直接发送05 01 00查询服务器是否支持无认证代理方式; ' 00 不需要认证; ' 02 需要认证; 认证 = 到字节集 (到字节 (5)) + 到字节集 (到字节 (2)) + 到字节集 (到字节 (0)) + 到字节集 (到字节 (2)) .如果真 (发送数据 (套接字句柄, 认证, 取字节集长度 (认证), 0) = -1) 关闭套接字连接 (套接字句柄) 返回 (假) .如果真结束 时间 = 取启动时间 () .循环判断首 () 延时 (10) 处理事件 () .如果真 (取启动时间 () - 时间 ≥ 5000) 关闭套接字连接 (套接字句柄) 返回 (假) .如果真结束 .循环判断尾 (接收数据 (套接字句柄, 认证, 10, 0) = -1) .如果真 (认证 [2] = 2) 认证 = 到字节集 (到字节 (1)) + 到字节集 (到字节 (取文本长度 (账号))) + 到字节集 (账号) + 到字节集 (到字节 (取文本长度 (密码))) + 到字节集 (密码) .如果真结束 .如果真 (发送数据 (套接字句柄, 认证, 取字节集长度 (认证), 0) = -1) 关闭套接字连接 (套接字句柄) 返回 (假) .如果真结束 时间 = 取启动时间 () .循环判断首 () 延时 (10) 处理事件 () .如果真 (取启动时间 () - 时间 ≥ 5000) 关闭套接字连接 (套接字句柄) 返回 (假) .如果真结束 .循环判断尾 (接收数据 (套接字句柄, 认证, 2, 0) = -1) .如果真 (认证 [2] ≠ 0) 关闭套接字连接 (套接字句柄) 返回 (假) .如果真结束 认证 = 到字节集 (到字节 (5)) + 到字节集 (到字节 (1)) + 到字节集 (到字节 (0)) + 到字节集 (到字节 (1)) + 到字节集 (inet_addr (目标IP)) + 到字节集 (htons (目标端口)) .如果真 (发送数据 (套接字句柄, 认证, 取字节集长度 (认证), 0) = -1) 关闭套接字连接 (套接字句柄) 返回 (假) .如果真结束 时间 = 取启动时间 () .循环判断首 () 延时 (10) 处理事件 () .如果真 (取启动时间 () - 时间 ≥ 5000) 关闭套接字连接 (套接字句柄) 返回 (假) .如果真结束 .循环判断尾 (接收数据 (套接字句柄, 认证, 10, 0) = -1) .判断开始 (认证 [1] = 5 且 认证 [2] = 0) 关闭套接字连接 (套接字句柄) 返回 (真) .默认 返回 (假) .判断结束 .子程序 _按钮1_被单击 调试输出 (Sock5代理验证 (“139.199.26.225”, 1080, “123”, “123456”, “111.13.101.208”, 80))
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注