SOCKS5協議

香港cn2發表於2022-06-11

SOCKS5 是一種代理協議,充當前端機器和伺服器機器之間的中介。 它使用TCP/IP協議進行通訊,使內網的前端機器可以訪問Internet網路中的伺服器,使通訊更加安全。 SOCKS5 伺服器透過將請求從前端轉發到真正的目標伺服器來模擬前端的行為。 這裡,前端與SOCKS5的通訊也是透過TCP/IP協議進行的。 前端將原本發給真實伺服器的請求傳送給SOCKS5伺服器,然後SOCKS5伺服器將請求轉發給真實伺服器。 在向真實伺服器傳送通訊請求的過程中,SOCKS5伺服器本身並沒有對請求包做任何改動。 SOCKS5伺服器收到真實伺服器的響應後,也照原樣轉發到前端。 由於 SOCKS 作用於會話層,它是一種從會話層到會話層提供安全服務的解決方案,不受高層應用程式變化的影響。

SOCKS5 代理是使用 SOCKS 協議的代理伺服器。 它是一個通用代理伺服器。 預設埠是 1080。SOCKS5 代理在會話層工作,不需要應用程式遵循特定的作業系統平臺。 SOCKS5 代理只傳輸資料包,並不關心應用程式協議(例如 FTP、HTTP 和 NNTP 請求)。TG:@Sp_server

原理介紹

Socks5 是一種代理協議,位於傳輸層(TCP/UDP 等)和應用層之間。

Socks 包由以下結構組成:

Socks 庫:安裝在客戶端上。 作為 Socket 庫的替代方案,所有使用 Socks 的程式都必須將 Socket 庫函式呼叫更改為 Socks 庫函式呼叫。 需要注意的是,Socks庫函式仍然需要呼叫Socket庫函式,Socks只對其進行安全驗證。

Sockd Daemon:安裝在伺服器上,接收並處理來自客戶端的 CONNECT、BIND 和 UDP 關聯請求。 以 CONNECT 請求為例,其工作流程為:

1.客戶端向代理伺服器傳送請求資訊,協商版本和認證方式

2.代理伺服器響應並將選擇的方法傳送給客戶端

3. 客戶端和代理伺服器進入一個由選擇的認證方式決定的子協商過程

4、子協商過程結束後,客戶端傳送請求訊息,指定目標伺服器的IP地址和埠

5.代理伺服器驗證客戶端身份,驗證透過後連線目標伺服器

6.代理伺服器向客戶端返回連線資訊

7.如果連線完成,代理伺服器開始作為中繼站傳輸資料

Socks5 協議支援 TCP 和 UDP 代理。 它主要與會話層一起工作,因此與上層協議無關。 但是,它不能進行全域性代理。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70017615/viewspace-2900002/,如需轉載,請註明出處,否則將追究法律責任。

相關文章