鋼鐵知識庫,一個學習python爬蟲、數據分析的知識庫。人生苦短,快用python。 xshell是什麼 通俗點說就是一款強大ssh遠程軟體,可以方便運維人員對伺服器進行管理操作,功能很多朋友們自行探索,今天只聊其中一個功能點那就是隧道轉發。 隧道轉移是什麼 xshell隧道轉移到底是幹嘛的,有什麼 ...
鋼鐵知識庫,一個學習python爬蟲、數據分析的知識庫。人生苦短,快用python。
xshell是什麼
通俗點說就是一款強大ssh遠程軟體,可以方便運維人員對伺服器進行管理操作,功能很多朋友們自行探索,今天只聊其中一個功能點那就是隧道轉發。
隧道轉移是什麼
xshell隧道轉移到底是幹嘛的,有什麼作用呢?隧道是一種技術,它允許你通過一個加密連接發送原本不安全的流量。這就像在不安全的網路上建立了一個安全的“隧道”。主要用於在不安全的網路中安全地傳輸數據。這種技術通過在客戶端和伺服器之間建立一個加密的網路連接,來保護數據的安全性和隱私性。
xshell隧道轉發的三種類型:
Xshell的隧道轉發功能有三種主要類型:本地埠轉發(Local Port Forwarding)、遠程埠轉發(Remote Port Forwarding)和動態埠轉發(Dynamic Port Forwarding)。下麵是每種類型的詳細解釋:
- 本地撥出 Local(Outgoing):
- 作用:將本地電腦的一個埠連接到遠程伺服器的一個指定埠上。
- 應用場景:當你想從本地機器安全地訪問位於遠程伺服器上的服務(如資料庫、web服務等)時使用。
- 工作原理:通過SSH連接,用戶在本地機器上指定一個埠,Xshell會創建一個隧道,把這個本地埠上的所有數據發送到遠程伺服器的指定埠。
- 遠程傳入Remote(Incoming):
- 作用:將遠程伺服器的一個埠連接到本地電腦的一個指定埠上。
- 應用場景:當遠程伺服器需要訪問你的本地機器上的服務(例如,你在本地運行的web應用)時使用。
- 工作原理:通過SSH連接,用戶在遠程伺服器上指定一個埠,Xshell會創建一個隧道,把這個遠程埠上的所有數據發送到本地電腦的指定埠。
- Dynamic(SOCKS4/5):
- 作用:建立一個SOCKS代理伺服器,通過這個代理伺服器轉髮網絡流量。
- 應用場景:常用於訪問通過常規網路無法直接訪問的服務,比如繞過網路審查或訪問區域網內的資源。
- 工作原理:用戶指定一個本地埠用作SOCKS代理,Xshell會將通過這個埠的數據通過SSH隧道轉發到任意目的地。這種方式提供了更多的靈活性,可以轉發到多個遠程服務。
使用場景
網上有很多使用場景,有通過隧道訪問內網伺服器的;有通過轉發訪問某個web頁面的;還有通過隧道代理繞過無法訪問的網路資源。
今天我說一個目前自己經常在用的使用場景,藉助遠程傳入功能實現遠程伺服器某些網路資源無法訪問的問題。
通過轉發繞過限制網路
原理大概是這樣:我在阿裡雲有一臺深圳節點的ECS,工作原因需要下載k8s集群中某些資源,因為網路限制會導致下載超時,而我本地PC剛好沒有網路限制可以直接下載,這時可以通過xshell遠程傳入功能將伺服器http_proxy轉發到本地電腦,從而實現網路資源下載。
1.開始轉發前
可以看到在沒有配置轉移規則前,curl連接訪問是超時的。
2.配置轉移規則
先在伺服器上執行export http_proxy將請求代理轉發到9999,
export http_proxy=http://127.0.0.1:9999/ https_proxy=http://127.0.0.1:9999/
然後在xshell會話中,轉移規則空白處點擊添加,轉移規則如下:
類型(方向):遠程(傳入)
源主機:localhost(伺服器代理傳入的ip)
偵聽埠:9999(伺服器傳入的埠)
目標主機:localhost(本機fiddler)
目標埠:8888(fiddler監聽的埠)
同時在本機打開fiddler準備好接受請求
3.完成轉發配置後
完成配置後再次訪問可以看到不再超時,可以正常獲取到頭信息。
---- 鋼鐵 [email protected] 2024.01.21
到此使用場景演示就結束了,隧道轉發功能還有很多使用技巧,朋友們可以慢慢挖掘。
除了xshell有隧道轉發功能外,securecrt也有這個功能,操作原理是一樣,這裡就不再做另外演示。
今天先分享到這裡。