在浏览代理设置时,您很有可能将“SOCKS 代理”作为浏览器和特定应用程序的默认选项。然而,默认并不一定是最好的选择。在本文中,我们将详细介绍什么是 SOCKS5,以及为什么从安全角度来看它们可能不是最佳选择。
在我们深入了解SOCKS5之前,回顾一下基础知识可能有助于更彻底地理解该主题。我们将介绍 Internet 协议及其是什么,但如果您想跳过这一部分,请使用此导航键跳转到您感兴趣的任何部分:
SOCKS5 起源:理解互联网协议
为了更好地了解 SOCKS5 代理的来源,让我们从头开始。互联网主要建立在三个协议之上:
- 互联网控制消息协议 (ICMP)
- 传输控制协议 (TCP)
- 用户数据报协议 (UDP)
ICMP 是一种控制协议。这意味着它的设计目的不是承载应用程序数据,而是关于网络本身状态的信息。ICMP 在实践中最著名的例子是“ping”实用程序。
在我们的例子中重要的协议是 TCP 和 UDP。
TCP 和 UDP 都是用于传递数据的传输协议。TCP 和 UDP 的区别在于前者几乎可以保证所有发送的数据都以正确的顺序到达目的地,并进行其他优化和错误检查。
在 UDP 的情况下,它是一个无连接协议。到达目的地的数据可以无序到达或根本不到达。通常,这种连接用于实时通信,其中数据传输速度优于接收正确数据。
那么,SOCKS 代理在这一切中的地位如何?这是一个信息图,总结了我们将在文章中介绍的内容:
我们先来回答一下什么是SOCKS:
那么 SOCKS 代理服务器是做什么的呢?它创建与位于防火墙后面的任何其他服务器的连接,并在客户端和实际服务器之间交换网络数据包。
什么是 SOCKS5 代理,它们是如何使用的?

在禁止 TCP 连接并且只能通过 UDP 访问数据的情况下,通常需要 SOCKS 代理。可悲的是,在某些情况下,这种连接被用于非法原因,例如洪流。但是,使用 SOCKS5 代理并不违法,因为它们只是一种允许以特定方式连接到 Internet 的工具。
使用 SOCKS 代理有很多可能的方法。技术爱好者经常找到新的和创新的方式来使用这些代理,但这些案例中的大多数都是非常小众的,很少被企业使用。如果您想了解有关 SOCKS5 代理的更多信息以及它们与基于 HTTP 的代理的比较,请参阅下面的视频。
SOCKS5 代理通常用于实时通话或流媒体。流媒体网站通常使用用户数据报协议 (UDP) 来发送数据,目前,SOCKS5 是可以将您传输到 UDP 会话的主要代理。
简而言之,如果您认为 HTTP(S) 流量对您来说不够用,并且您需要非 TCP 协议的代理,那么 SOCKS5 代理就是您的最佳选择。请注意,在几乎所有情况下,HTTP(S) 流量都不会被防火墙阻止,并且您可能不需要 SOCKS5 代理。
这是 SOCKS5 及其使用方法的简短版本。

您是否应该将 SOCKS5 代理用于业务?
简短的回答:不是真的。
长答案——这取决于你需要抓取什么样的数据。在大多数情况下,HTTP(S) 代理对于大多数抓取工作来说已经足够了(Oxylabs Datacenter和Residential Proxies都支持 HTTP(S) 连接),除非你需要做一些流量密集型的事情(比如视频流)。
SOCKS5 的缺点:它们安全吗?
SOCKS5 代理的主要问题是它没有标准的隧道加密。由于 SOCKS5 请求以明文形式携带您的密码,因此不建议在可能发生“嗅探”的情况下使用。因此,通过此代理的任何数据都可能很容易泄露。
将 SOCKS5 与 HTTP(S) 代理进行比较
了解什么是 SOCKS5 代理后,决定是使用它们还是使用 HTTP(S) 代理应该会更容易。为了使决策更加顺利,我们将指出 HTTP(S) 代理和 SOCKS 代理的好处。
HTTP(S):
- 您将能够使用 HTTP(S) 管理更多请求/秒。
- 大多数抓取作业可以在 HTTP(S) 连接上处理。
- 抓取时您将拥有更高级的安全性和加密。
- 使用 Oxylabs,您可以轮换HTTP(S) 代理。
袜子:
- 当需要流量密集型抓取时很有用。
结论
如果您需要将 SOCKS5 代理用于商业项目,它们有很大的缺点。由于它们没有标准的隧道加密,您的凭据以及您的数据可能会被泄露,从而造成高风险情况。
然而,HTTP(S) 代理带有标准加密,并且几乎可以像 SOCKS5 代理那样执行任何抓取项目