什麼是 SOCKs5 以及為什麼要使用它

在計算機網絡中,代理或代理服務器是位於您和服務器之間的計算機。 它充當本地網絡和大型網絡(例如 Internet)之間的網關。

代理服務器通過攔截發送方和接收方之間的連接來工作。 所有傳入數據都通過一個端口進入,並通過另一個端口轉發到網絡的其餘部分。

除了流量轉發之外,代理服務器還通過隱藏服務器的實際 IP 地址來提供安全性。 它們還有緩存機制來存儲請求的資源以提高性能。 代理服務器可以加密您的數據,使其在傳輸過程中不可讀,並根據 IP 地址阻止對某些網頁的訪問。

現在我們對代理的工作原理有了一個大致的了解,讓我們著重介紹一種特定類型的代理——SOCKS——特別是 SOCKs5 變體。
upload successful

什麼是 SOCKS 代理?

SOCKS 代表 Socket Secure,是一種網絡協議,它通過代表客戶端將網絡流量路由到實際服務器來促進通過防火牆與服務器的通信。 SOCKS 旨在路由任何協議或程序生成的任何類型的流量。

SOCKS 代理服務器代表客戶端創建到防火牆後的另一台服務器的傳輸控制協議 (TCP) 連接,然後在客戶端和實際服務器之間交換網絡數據包。 SOCKS 代理服務器不以任何方式解釋客戶端和服務器之間的網絡流量; 它經常被使用,因為客戶端在防火牆後面並且不允許與外部服務器建立 TCP 連接,除非它們通過 SOCKS 代理服務器進行。 因此,SOCKS 代理通過防火牆中繼用戶的 TCP 和用戶數據報協議 (UDP) 會話。

SOCKS 是第 5 層協議,它不關心開放系統互連 (OSI) 模型中該層以下的任何內容——這意味著您不能使用它來隧道運行在第 5 層以下的協議。這包括諸如 ping、 地址解析協議(ARP)等。從安全角度來看,如果攻擊者基於半開連接進行掃描,則不會允許攻擊者使用 Nmap 等工具進行掃描,因為它工作在第 5 層。

由於 SOCKS 位於第 5 層,介於 SSL(第 7 層)和 TCP/UDP(第 4 層)之間,它可以處理多種請求類型,包括 HTTP、HTTPS、POP3、SMTP 和 FTP。 因此,SOCKS 可用於電子郵件、網頁瀏覽、點對點共享、文件傳輸等。

在第 7 層為特定協議構建的其他代理,例如用於解釋和轉發客戶端和服務器之間的 HTTP 或 HTTPS 流量的 HTTP 代理,通常稱為應用程序代理。

只有兩個版本:SOCKS4 和 SOCKs5。 SOCKs5 和 SOCKS4 之間的主要區別是:

  • SOCKS4不支持認證,SOCKs5支持多種認證方式;
  • SOCKS4 不支持 UDP 代理,而 SOCKs5 支持。

SOCKs5 代理更安全,因為它通過身份驗證建立完整的 TCP 連接,並使用 Secure Shell (SSH) 加密隧道方法來中繼流量。

為什麼你應該採用 SOCKs5

以下是使用帶有 SSH 隧道的 SOCKs5 代理的四個主要好處。

1.訪問防火牆後的後端服務

通常,集群託管在防火牆後面的雲中,以最大限度地減少潛在的安全漏洞。 有兩種方法可以訪問集群內運行的任何後端服務,每種方法都有其局限性:

向公眾公開後端服務(並接受相關的安全風險); 或者
將客戶端或用戶的 IP 列入白名單以允許流量流向後端服務(但是,當用戶的 IP 發生變化時,這不是正確的解決方案)。
使用 SSH 進行動態端口轉發的 SOCKs5 代理可以替代上述兩個不受歡迎的選項。 管理員或開發人員可以訪問託管在防火牆後的雲中的集群中的任何後端服務,以便從公共網絡進行調試、監控和管理,而無需公開後端服務端口或將特定 IP 列入白名單。

讓我們看一個用例。 出於安全原因,當託管在雲端時,用於監控 Hadoop 集群的管理或監控應用程序 API 或 Web 用戶界面 (UI) 端口默認關閉。 要訪問這些 API 或 Web UI,您可以使用 SSH 動態端口轉發來管理或邊緣節點集群,因為主節點將具有公共 IP 並默認運行 SSH 服務,該服務是公開的,因此用戶可以從外部連接。

再舉一個例子,假設您正在使用虛擬私有云 (VPC)。 您可以部署堡壘主機,通過限制對外部世界的訪問來安全地訪問 VPC 內的遠程實例。 可以從外界訪問堡壘機,只開放22端口(SSH)。 使用 SSH 動態端口轉發(SOCKs5 代理),您可以訪問 VPC 中運行的遠程實例。

2. 無需特殊設置

SOCKs5 不需要特殊設置,只要您可以通過 SSH 訪問集群的邊緣節點或網關即可。 因此,管理員和開發人員等用戶可以使用 SSH 隧道訪問防火牆後的後端資源,而無需虛擬專用網絡 (VPN)。

3.您的部署中沒有第三方公共或免費代理服務器

由於 SOCKs5 代理通過 SSH 隧道將各種 TCP 和 UDP 流量路由到各自的服務,因此每個服務都不需要第 7 層應用程序相關的特殊代理來路由應用程序請求。

4. 錯誤更少,性能更好

與其他應用程序代理不同,SOCKs5 不會重寫數據包。 它只是中繼設備之間的流量。 因此,它不太容易出錯,並且性能會自動提高。
upload successful

總之

SOCKs5 代理是一種輕型通用代理,位於 OSI 模型的第 5 層並使用隧道方法。 它支持由協議生成的各種類型的流量,例如 HTTP、SMTP 和 FTP。 SOCKs5 比 VPN 更快且易於使用。 由於代理使用隧道方法,公有云用戶可以通過 SSH 等安全隧道使用 SOCKs5 訪問防火牆後的資源。