什么是 SOCKS5 代理:為什么要使用 SOCKs5代理
什么是 SOCKS5 代理
稱(chēng)為 SOCKS 或 Socket Secure 的網(wǎng)絡(luò)協(xié)議通過(guò)代表客戶(hù)端將網(wǎng)絡(luò)流量發(fā)送到真實(shí)服務(wù)器來(lái)實(shí)現(xiàn)通過(guò)防火墻與服務(wù)器的連接。 任何協(xié)議或程序產(chǎn)生的任何形式的流量都可以使用 SOCKS 進(jìn)行路由。
在 SOCKS 代理服務(wù)器代表客戶(hù)端建立到防火墻后的不同服務(wù)器的傳輸控制協(xié)議 (TCP) 連接后,客戶(hù)端和實(shí)際服務(wù)器交換網(wǎng)絡(luò)數(shù)據(jù)包。
防火墻后面的客戶(hù)端經(jīng)常被迫使用 SOCKS 代理服務(wù)器以便與外部服務(wù)器建立 TCP 連接,即使 SOCKS 代理服務(wù)器不以任何方式解釋客戶(hù)端和服務(wù)器之間的網(wǎng)絡(luò)流量。 因此,SOCKS 代理通過(guò)防火墻重定向用戶(hù)的用戶(hù)數(shù)據(jù)報(bào)協(xié)議 (UDP) 和 TCP 會(huì)話。
您不能使用 SOCKS 來(lái)隧道運(yùn)行在第 5 層以下的協(xié)議,因?yàn)樗堑?5 層協(xié)議并且不關(guān)心該層以下的開(kāi)放系統(tǒng)互連 (OSI) 模型中的任何內(nèi)容。 這包括地址解析協(xié)議 (ARP)、Ping 等工具。 因?yàn)樗诘?5 層運(yùn)行,所以它可以防止攻擊者使用 Nmap 等程序執(zhí)行掃描,前提是他們的掃描基于半開(kāi)連接。
SOCKS 可以處理多種請(qǐng)求類(lèi)型,包括 HTTP、HTTPS、POP3、SMTP 和 FTP,因?yàn)樗挥诘?5 層,位于 SSL(第 7 層)和 TCP/UDP(第 4 層)之間。 因此,SOCKS 可用于文件傳輸、點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)、電子郵件等。
應(yīng)用程序代理是為第 7 層的某些協(xié)議設(shè)計(jì)的其他幾種代理,例如用于解釋和轉(zhuǎn)發(fā)客戶(hù)端和服務(wù)器之間的 HTTP 或 HTTPS 流量的 HTTP 代理。
只有兩個(gè)版本存在 SOCKS4 和 SOCKs5。 以下是 SOCKs5 和 SOCKS4 之間的主要變化:
SOCKS4 和 SOCKS5 都支持 UDP 代理,盡管 SOCKS4 不提供身份驗(yàn)證,而 SOCKS5 提供多種身份驗(yàn)證技術(shù)。
因?yàn)樗鼊?chuàng)建了帶有身份驗(yàn)證的完整 TCP 連接并使用安全外殼 (SSH) 加密隧道來(lái)中繼流量,所以 SOCKs5 代理更安全。
為什么要使用 Socks5
使用帶有 SSH 隧道的 SOCKs5 代理具有以下兩個(gè)主要優(yōu)點(diǎn)。
1.使用防火墻訪問(wèn)后端服務(wù)
集群通常位于防火墻后面的云中,以減少任何潛在的安全漏洞。 可以通過(guò)以下兩種方式之一訪問(wèn)集群中處于活動(dòng)狀態(tài)的任何后端服務(wù),每種方式都有不同的限制:
向公眾公開(kāi)后端服務(wù)(同時(shí)接受所涉及的安全風(fēng)險(xiǎn));?
允許流量流向后端服務(wù),請(qǐng)將客戶(hù)端或用戶(hù)的 IP 地址列入白名單(但是,當(dāng)用戶(hù)的 IP 發(fā)生變化時(shí),這不是最佳做法)。
上面兩個(gè)不利的替代方案可以用使用 SSH 進(jìn)行動(dòng)態(tài)端口轉(zhuǎn)發(fā)的 SOCKs5 代理代替。 在不公開(kāi)后端服務(wù)端口或?qū)⑻囟?IP 列入白名單的情況下,管理員或開(kāi)發(fā)人員可以訪問(wèn)托管在防火墻后面的云中的集群中的任何后端服務(wù),以便從公共網(wǎng)絡(luò)進(jìn)行調(diào)試、監(jiān)控和管理。
讓我們檢查一個(gè)使用場(chǎng)景。 當(dāng) Hadoop 集群托管在云中時(shí),出于安全原因,管理或監(jiān)控應(yīng)用程序 API 或 Web 用戶(hù)界面 (UI) 端口默認(rèn)關(guān)閉。 您可以使用 SSH 動(dòng)態(tài)端口轉(zhuǎn)發(fā)來(lái)控制或邊緣節(jié)點(diǎn)集群以訪問(wèn)這些 API 或 Web UI,因?yàn)橹鞴?jié)點(diǎn)具有公共 IP,并且默認(rèn)情況下運(yùn)行公開(kāi)的 SSH 服務(wù)以允許用戶(hù)從外部加入。
另一個(gè)例子是,如果您正在使用虛擬私有云 (VPC)。 通過(guò)限制他們對(duì)外界的訪問(wèn),您可以使用堡壘服務(wù)器在 VPC 內(nèi)安裝遠(yuǎn)程實(shí)例,以便可以安全訪問(wèn)。 堡壘主機(jī)上只有端口 22 (SSH) 是開(kāi)放的,可以從外部世界訪問(wèn)。 您可以使用 SSH 動(dòng)態(tài)端口轉(zhuǎn)發(fā)(SOCKs5 代理)連接到 VPC 中運(yùn)行的遠(yuǎn)程實(shí)例。
2. 無(wú)需特殊設(shè)置
只要您可以通過(guò) SSH 訪問(wèn)集群中的邊緣節(jié)點(diǎn)或網(wǎng)關(guān),就可以使用 SOCKs5 而無(wú)需任何額外配置。 因此,不需要虛擬專(zhuān)用網(wǎng)絡(luò)的用戶(hù)可以使用 SSH 隧道訪問(wèn)防火墻后的后端資源,包括管理員和開(kāi)發(fā)人員。
區(qū)分 HTTP 代理和 SOCKS 代理
HTTPS 代理僅使用 HTTP 協(xié)議,因此它們的功能如何取決于此。 它們最適合出于相同目的使用它們的用戶(hù),因?yàn)樗麄兺ㄟ^(guò) Web 瀏覽器檢索信息。
SOCKS 的工作方式與 HTTPS 略有不同。 它不適用于 HTTP 協(xié)議。 盡管如此,消費(fèi)者仍然可以在線閱讀材料。 由于它是較低級(jí)別的代理,因此 SOCKS 最適用于更廣泛的應(yīng)用程序。
不過(guò),這并不是缺點(diǎn),因?yàn)樗鼈儾灰蕾?lài)于特定的網(wǎng)絡(luò)協(xié)議集,從而為用戶(hù)提供了在任何地方使用該代理的自由。
兔子ip的ip資源覆蓋了全國(guó)多個(gè)熱門(mén)城市,也能夠根據(jù)用戶(hù)的需求來(lái)提供合適的代理服務(wù),客服也是在線優(yōu)質(zhì)服務(wù),非常適合網(wǎng)絡(luò)工作者使用。大家在購(gòu)買(mǎi)ip代理的時(shí)候要找正規(guī)商家,這樣在后續(xù)使用中才有保障。