美文网首页
Sock5代理协议详解

Sock5代理协议详解

作者: 倦飞知还 | 来源:发表于2018-06-14 12:02 被阅读0次

第一步,客户端请求握手

1.png
  • ver 代表协议版本占用一个字节 这里肯定是 : 5

  • nmethods 代表下一个字段专用的字节数量 这里不确定

  • methods 代表客户端拥有的加密方式占用1~255个字节都有可能,比如说0 代表不加密 1代表加密 2代表 另一种加密等

第二步 代理服务器收到握手后返回

2.png
  • ver 代表协议版本占用一个字节 这里肯定是 : 5
  • method代表代理服务器选择了一种握手方式

第一步和第二步握手例子

client --> 5 2 0 2 代表着 版本5 有两种握手方式 加密的和不加密的供代理选择

proxy--> 5 0 代表着版本5 选择了不加密的协议方式

或者是

client--> 5 1 0 只有一种不加密的握手方式

proxy--> 5 0 选择了不加密的握手方式

上面的过程就叫做第一步握手连接,client 和proxy之间互相选择连接方式,如果client的所有握手方式proxy都不满足,则直接断开连接就好了

第三步 客户端发送需要访问的IP和端口,以及协议

3.png
  • cmd 字段,占用一个字节 1代表 想要tcp连接 3 代表想要udp连接

  • rsv 保留字,默认0

  • atyp 目标网络地址类型:1代表ip4,3代表域名,4代表ip

  • dst.addr 如果上一个字段是1 则这个字段是4位ip4地址

如果是3 则这个字段第一个字节代表域名长度,紧跟其后的是域名

如果是6 则这个字段16位ip6地址

  • dst.port 两个字节代表目的地端口

第四步 代理服务器返回代理建立结果

4.png
  • rep 代表proxy告诉应用程序处理的情况,0代表处理成功,否则可以直接断开连接了

第三步和第四步握手举例

有可能是这样的情况

client--> 5 1 0 1 123 123 123 123 0 80 表示tcp连接 到123.123.123.123 的80 端口

proxy-->5 0 0 1 0 0 0 0 0 0 代表着已经连接上了,并且将atype置1代表后面的是ip和端口 ,由于大多客户端的实现都会忽略后面的ip和端口,我们直接全写0

这样握手就完成了。

后续

我们已经拿到了程序想要访问的地址和端口,我们新建一个socket 自己连接到ip和端口,然后一边接受应用程序发的数据,转发给网站,一遍接受网站返回的数据,转发给应用程序,这样达到了让他们俩通信的目的。

相关文章

  • Sock5代理协议详解

    第一步,客户端请求握手 ver 代表协议版本占用一个字节 这里肯定是 : 5 nmethods 代表下一个字段专用...

  • 【网络】网络测试命令行工具

    用curl调试sock5代理: curl -x socks5h://localhost:8001 www.exam...

  • 解决:Android Studio 之Cause: dl.goo

    我们已经设置了sock5代理或者其他代理,但是在Gradle build的时候出现以下情况:Android Stu...

  • Go 使用代理方法

    链接远程服务器,设置SSH端口转发 将SOCK5代理转发为HTTP代理(Go不支持SOCKS5代理) 设置http...

  • [golang] fasthttp 使用http代理

    golang net/http标准库的client是可以配置各种代理的,http/https/sock5等,不过f...

  • HTTP 协议详解

    阅读目录 什么是HTTP协议 Web服务器,浏览器,代理服务器 URL详解 HTTP协议是无状态的 HTTP消息的...

  • HTTPS协议

    HTTPS协议详解(一):HTTPS基础知识HTTPS协议详解(二):TLS/SSL工作原理HTTPS协议详解(三...

  • socket之网络基础

    1、OSI七层协议 2、五层协议 3,协议详解 4,tcp详解

  • Java 动态代理

    java的动态代理机制详解 JDK动态代理详解 Java核心技术点之动态代理

  • BLE Mesh代理协议

    什么是代理协议?代理协议的作用?代理协议的原理?代理协议的实现过程?为什么会有代理协议? 1、原理:为什么要使用代...

网友评论

      本文标题:Sock5代理协议详解

      本文链接:https://www.haomeiwen.com/subject/lnaeeftx.html