socket编程 3.socks5代理(服务端)

      最后更新:2022-04-17 10:12:33 手机定位技术交流文章

      关于索克斯5号协议,网站介绍如下:

      SONKS5是服务协定。它在使用 TCP/IPP协议协议协议 连接通过前端计算机与服务器计算机之间的中间线进行。使得 内部网 前端机器现在可以连接到互联网上的服务器。相反,使通信更加安全。前端的请求通过 SOCKS5 服务器发送给真正的目的地服务器。此函数模拟前端行为 。在这里,也是在前端和SONKS5之间 TCP/IPP协议协议协议 进行通讯,前端将实际服务器的请求传送到 SOCKS5 服务器。请求随后通过SONKS5服务器发送给实际服务器。

      索克斯5号的代理机器人在会场上位于表达层和传输层之间。袜子的特工跟其他人不一样申请不需要遵守一个单一的操作系统平台。这只是一个基本的数据包传输。我不必担心申请协议的类型FTP和HTTP的查询都得到支持。因此,Socks5代理服务器比其他类型的代理服务器更快。Socks5 代理的默认端口为 1080 。

      下面开始写代码。

      导包:

      重新组织该条,采用调试顺序,并确保推理显而易见。

      启动主程序:

      主程序:

      使用 IPV4 创建用于提交来文的服务终端。

      第二个参数级别:如果要在行级别上设定选项,则设定选项的级别必须设定为 SOL_ SONKET 。

      绑定监听

      无法为 %s 建立文件夹锁定:%s 。

      跟踪目标=handle_con 和 handle_con () 方法 。

      处理连接:

      客户请求被接受,套接5连接被认证。

      打印 sock.recv (256), 返回 x05x0(0)x00, 版本号(5), 方法字段长度(1) 和方法( 不需要额外的认证信息 ) 。

      将接收缓冲区长度设定为256比特。

      服务端返回 x05x00, 显示该方法和版本号

      它是VER、CMD、RSV和ASYP。

      CMD 字段从模式 = 数据 [1] 中删除, CMD =

      * 0x01:建立TCP连接

      BIND 逆向连接地址: 0x02

      * 0x03:联合民主党请求联系d

      Addr_type = Data[3] 提取 ATYP 字段,将其分为三类:
      * 0x01: IPv4 socket. Inet_tentoa (ip_string) 将 IPV4 地址字符串转换为32 位二进制格式(一个不支持 IPV6 的二进制字符串) 。

      * 0x03:域名

      * 0x04: IPv6 socket. Inet_ pton (地址: family, ip_string) 函数将 IP 地址字符串转换为包件二进制格式 。AF_INET和AF_INET6是地址家庭。它们分别代表IPV4和IPV6。

      获取端口号

      struct.unpack把byte转为第一个参数对应的数据类型,‘>’ 表示大端存储,‘H’ 是2字节的无符号整数

      恢复客户端访问功能

      输入 Handle_ tcp () 方法 。

      转发请求:

      在IO多常规监听器上是否有数据?
      我不确定你指的是什么,但选择.Set () 有三个参数: 所有外部传输的数据, 监控和接收所有发送的数据, 并监控失败 。

      记住自定义的 send_ data () 函数 。

      发送数据:

      在无停止模式下, sock. Send () 返回值-1; 否则, 它会立即返回 。

      当 bytes_ sent=len( 数据) 时, 所有数据都会被接收并返回 。

      完整代码:

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/22374.html

          热门文章

          文章分类