若干網絡代理技術的總結

  網絡代理技術實現方式主要有:socks5,VPN(虛擬專用網絡),https,ssh隧道,tor(洋蔥路由)等,它們各有側重點,本文想對這些技術做一個概述,梳理一下它們之間的關係和脈絡。

socks4/5

  socks5比socks4增加了udp代理支持,它工作在應用層之下,傳輸層之上,是專門爲網絡代理設計的通信協議。
  普通的socks5代理方式下,應用軟件直接通過socks5協議把數據發給服務端,但socks5協議是明文發送,很容易被截獲。改進型的是使用socks5-TLS進行數據加密後送到服務端,但socks5建立連接的過程特徵是明顯的,還是容易被封。
  最終誕生了shadowsocks,它分爲ss-client和ss-server,應用軟件將數據通過socks5協議發送給ss-client,再由ss-client將數據加密混淆後送給ss-server,最後ss-server將數據發送給目的地址。

下圖是普通socks代理過程和shadowsocks的代理過程:

![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20200207235735874.png
在這裏插入圖片描述

VPN(虛擬專用網絡)

  這是一大類技術,它工作在網絡的第三層,直接截獲所有IP層數據並轉發。有多種具體的實現協議,包括L2TP/IPSec、IKEv2等。代表軟件有strongswan,一般的操作系統都自動支持這些VPN協議,所以只需要在服務器端配置好strongswan,再在本地操作系統裏簡單配置下即可使用。當然對於一些特殊的VPN協議如SSTap,就要安裝對應的客戶端軟件了,這些軟件一般會虛擬一塊網卡用於截獲數據,其實操作系統自帶的VPN配置完了以後也會生成一個類似虛擬網卡的設備。
在這裏插入圖片描述

https、ssh

  它們本不是爲代理而設計的,但是可以實現代理的功能。https代理需要架設專門的代理服務器,它工作在應用層,只可以代理http和https協議。ssh可以通過ssh隧道實現代理功能,它和應用軟件還是通過socks5協議交互的,所以它本質上可以被認爲是一個socks5服務器。
  這裏稍微說下https和ssh工作的協議棧區別,雖然它們都是應用層協議。https=http+TLS/SSL,它是將http和TLS/SSL結合而成的,這樣其他協議也可以複用TLS/SSL層了,如socks5-TLS。而SSH把整個過程都實現了。

它們的架構如下圖所示:
在這裏插入圖片描述

tor(洋蔥路由)

我的理解是它更強調匿名性,所以中間需要多次代理,因此速度也會慢很多,具體可以百度一下,有很多相關介紹。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章