SOCKS5 协议原理详解与应用场景分析

这篇具有很好参考价值的文章主要介绍了SOCKS5 协议原理详解与应用场景分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引言

SOCKS全称是SOCKet Secure,是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。在OSI模型中,SOCKS是会话层的协议,位于表示层与传输层之间,最新协议是SOCKS5

正文

一.SOCKS5原理

①首先客户端向代理服务器发出请求信息,用以协商版本和认证方法。随后代理服务器应答,将选择的方法发送给客户端。

②客户端和代理服务器进入由选定认证方法所决定的子协商过程,子协商过程结束后,客户端发送请求信息,其中包含目标服务器的IP地址和端口。代理服务器验证客户端身份,通过后会与目标服务器连接,目标服务器经过代理服务器向客户端返回状态响应。

③连接完成后,代理服务器开始作为中转站中转数据。

SOCKS5 协议原理详解与应用场景分析

图 1  SOCKS5原理

二.SOCKS5 协议交互具体过程

2.1 认证

①客户端向代理服务器发送代理请求,其中包含了代理的版本和认证方式:

SOCKS5 协议原理详解与应用场景分析

图 2

VER(1字节):版本号,固定为0x05,代表使用SOCKS5协议

NMETHODS(1字节):方法数目,表示后面的方法编号列表(METHODS字段)中有多少种客户端支持的认证方法

METHOD(1-255字节):方法编号列表,存储客户端支持的认证方法的编号

②代理服务器从给定的方法编号列表中选择一个方法并返回选择报文

SOCKS5 协议原理详解与应用场景分析

图 3

METHOD字段用来返回选择的方法编号

支持的认证方式有:

0x00: 不需要认证

0x01: GSSAPI认证

0x02: 用户名和密码方式认证

0x03: IANA认证

0x80-0xfe: 保留的认证方式

0xff: 不支持任何认证方式,当客户端收到此信息必须关闭连接。

2.2请求

①协商完成后,客户端就可以向代理服务器发送代理请求,客户端会向代理服务器发送下面格式的请求

SOCKS5 协议原理详解与应用场景分析

图 4

CMD:指令编号,0x01 CONNECT 指令,用于 TCP 代理

0x02 BIND 指令,一般用于要客户端主动接受来自服务器连接时

0x03 UDP ASSOCIATE 指令,用于 UDP 代理

RSV:保留字段:必须为 0

ATYP:地址类型: 0x01 表明地址为(DST.ADDR字段)IPV4 地址,长度为4字节

0x03域名,表明地址为域名,第一个字节用作域名的长度标识

0x04 表明地址为IPV6 地址,长度为16字节

DST.ADDR:目标地址:要访问的目标服务器的地址或域名,类型由ATYP字段决定

DST.PORT:目标端口号:于目标地址对应的端口号。

②SOCKS 服务端会根据请求类型和源、目标地址,执行对应操作,并且返回对应的一个或多个报文信息,格式如下:

SOCKS5 协议原理详解与应用场景分析

图 5

REP:请求的结果,0x00 成功

0x01常规 SOCKS 服务故障

0x02 规则不允许的连接

0x03 网络不可达

0x04 主机无法访问

0x05 拒绝连接

0x06 连接超时

0x07 不支持的命令

0x08 不支持的地址类型

RSV:保留字段:必须为 0

ATYP:地址类型

BND.ADDR:绑定地址:即请求成功后客户端需要连接的代理服务器的地址或域名,客户端之后的通信均通过改地址对应的服务器

BND.PORT:绑定端口号:绑定地址对应的端口号

2.3 通信

当代理服务器返回成功消息,则后续客户端通过绑定地址和绑定端口号与代理服务器通信,由代理服务器转发客户端的请求到目标服务器,并将目标服务器的响应转发给客户端。

三.SOCKS5的特点

1.SOCKS5相比于SOCKS4,加入了UDP协议支持,在框架上加入了强认证功能,并且地址信息也加入了域名IPV6 的支持。

  1. SOCKS5服务器在将通讯请求发送给真正服务器的过程中,对于请求数据包本身不加任何改变,只是传递数据包,而不关心是何种应用协议,所以SOCKS代理服务器比应用层代理服务器更快

3.与VPN(虚拟专用网络)相比,SOCKS5可以代理应用层的某些应用,而不是代理全局网络,而VPN控制的是你电脑的整个网络,只要需要连接到互联网的流量都会经过VPN。

四.SOCKS5的应用场景

SOCKS5目前常被用于访问被GFW屏蔽的网络内容,以及作为代理服务器为用户提供不同位置的IP,帮助用户隐藏真实IP访问一些可能存在安全隐患的网络内容。

下面以SOCKS5应用于访问GFW阻断的内容为例,描述SOCKS5的主要应用场景。

GFW全称是Great Firewall,官方名称为数据跨境安全网关,阻断不符合中国政府要求的互联网内容传输。

如图6,假设没有GFW,正常访问谷歌,①需要先向DNS服务器发送谷歌的域名,之后②DNS服务器解析域名之后,向电脑发送回google的IP。③电脑通过IP访问google,④google向电脑传回数据。

SOCKS5 协议原理详解与应用场景分析

图 6

把这个过程比作写信,有了GFW之后,你的信件会被GFW所审查,当被审查出信件中的内容是不符合要求的时候时,GFW会返回给你一个错误的IP地址,因此再无法访问到google这是GFW主要的阻断方法之一:DNS域名污染。初次之外,GFW还有多种方式进行阻断:直接舍弃数据包、IP地址或传输层端口封锁、TCP连接重置等等。

SOCKS5 协议原理详解与应用场景分析

图 7

如图8,目前基于SOCKS5的代理软件,会先在本地(SS Local)对数据进行加密处理,再通过GFW,由于数据进行了加密,所以GFW无法得知内容,也就不能确定阻断,因此数据可以通过GFW,随后到达境外服务器(SS Server),经过解密,发送数据请求到google等网站,用户便可以访问。

SOCKS5 协议原理详解与应用场景分析

图 8

而对比图9,使用VPN访问GFW阻断的内容,VPN在客户端和VPN服务器之间先发送一个建立加密通道的明文数据包,GFW看到是VPN服务器,则不会进行阻断。加密通道建立后,客户端便可以通过VPN服务器来访问google等网站。但这种方式由于会在开始发送明文数据包,所以时间一长,特征非常明显,会经常被GFW所阻断。所以SOCKS5协议的优势是非常明显的。

SOCKS5 协议原理详解与应用场景分析

图 9

参考文献

[1] Wikipedia. SOCKS[E]. https://zh.m.wikipedia.org/zh-hans/SOCKS#SOCK5

[2] M. Leech. Username/Password Authentication for SOCKS V5[E]. https://datatracker.ietf.org/doc/pdf/rfc1929.pdf .1996.3

[3] M. Leech, M. Ganis, Y. Lee. SOCKS Protocol Version 5. https://datatracker.ietf.org/doc/pdf/rfc1928.pdf. 1996.3

 文章来源地址https://www.toymoban.com/news/detail-448763.html

到了这里,关于SOCKS5 协议原理详解与应用场景分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows下的 SOCKS5 代理及网络安全性分析

    本文将介绍在 Windows 操作系统下使用 SOCKS5 代理的方法,并探讨了它在网络安全中的应用。通过阐述 SOCKS5 的工作原理以及配置方法,读者将能够了解如何在 Windows 环境下实现安全的网络通信。此外,我们还将讨论 SOCKS5 代理在提高隐私保护和绕过网络限制方面的作用,以及如

    2024年02月06日
    浏览(42)
  • Socks5、代理IP和HTTP的集成应用

    1.1 握手与安全连接 Socks5协议通过握手过程实现安全连接的建立,具有版本协商和多种身份验证方式。这奠定了其在网络通信中的安全基石。 1.2 灵活的数据传输 支持TCP和UDP协议的Socks5代理,通过中间服务器进行数据传输,实现了高度灵活性。这种代理方式不仅仅限于Web请求

    2024年02月03日
    浏览(48)
  • Socks5、网络安全、代理IP技术详解

        随着互联网的发展,网络安全问题越来越受到人们的关注。为了保护个人隐私和网络安全,使用代理服务器成为了一种普遍的选择。其中,Socks5协议是一种常见的代理协议,而代理IP是使用代理服务器时经常需要考虑的问题。本文将深入探讨Socks5、网络安全、代理IP等技术

    2024年02月07日
    浏览(49)
  • Socks5代理在多线程爬虫中的应用

    在进行爬虫开发过程中,我们常常需要处理大量的数据,并执行多任务并发操作。然而,频繁的请求可能会引起目标网站的反爬机制,导致IP封禁或限制访问。为了规避这些限制,我们可以借助Socks5代理的强大功能,通过多线程爬虫来实现高效而稳定的数据获取。本文将为您

    2024年02月12日
    浏览(43)
  • 全面解析 SOCKS5 代理与 HTTP 代理的对比与应用

    一、 SOCKS5 代理与 HTTP 代理的基本原理 SOCKS5 代理:SOCKS5 是一种网络协议,它可以在传输层(Transport Layer)代理 TCP 和 UDP 请求。SOCKS5 代理不解析请求内容,而是直接将数据中转至目标服务器,支持更广泛的网络协议和端口类型。 HTTP 代理:HTTP 代理是一种应用层(Application

    2024年02月15日
    浏览(56)
  • 代理IP和Socks5代理在游戏领域的重要应用

    随着在线游戏的兴起,网络工程师在游戏领域的作用变得愈发关键。他们不仅需要优化网络性能,还需要确保游戏体验的流畅性。本文将深入探讨代理IP和Socks5代理在游戏领域的关键应用和影响。 降低游戏延迟 在竞技游戏和多人在线游戏中,低延迟是玩家体验的关键。延迟过

    2024年02月07日
    浏览(50)
  • Socks5 与 HTTP 代理在网络安全中的应用

    目录 Socks5和HTTP代理在网络安全中的应用。 Socks5代理和HTTP代理的优点和缺点。 选择合适的代理IP需要考虑的因素: 总结 在网络安全领域中,Socks5和HTTP代理都扮演着重要的角色。作为两种不同的代理技术,它们在网络安全中的应用各有特点。本文将探讨Socks5与HTTP代理在网络

    2024年02月09日
    浏览(49)
  • Socks5代理与网络安全:保护隐私、绕过限制与爬虫应用

    1. Socks5代理简介 Socks5代理是一种网络协议,允许数据在客户端与服务器之间进行传输。与HTTP代理不同,Socks5代理不仅支持TCP连接,还可以处理UDP流量,因此在某些需要实时数据传输的场景中表现出色。它能够代理各种应用层协议,为用户提供更灵活的网络体验。 2. 保护隐私

    2024年02月07日
    浏览(48)
  • 探索 SOCKS5 代理在跨境电商中的网络安全应用

    随着全球化的发展,跨境电商成为了商业界的一颗新星,为企业提供了无限的发展机遇。然而,随之而来的是网络安全的挑战,特别是在处理国际网络流量时。在这篇文章中,我们将探讨如何利用 SOCKS5 代理和代理 IP 技术来加强跨境电商的网络安全,保障商务数据的机密性和

    2024年02月09日
    浏览(45)
  • libcurl Socks5 堆缓冲区溢出漏洞(CVE-2023-38545)详细分析

    curl 是用于在各种网络协议之间传输数据的命令行工具,libcurl 用于提供处理网络通信和数据传输的 Api 接口。curl 默认下载缓冲区为 102400 字节,但如果设置低于每秒 102400 字节,缓冲区大小会自动设置为更小的值。libcurl 下载缓冲区默认为 16KB,应用程序可通过 CURLOPT_BUFFERSI

    2024年02月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包