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.完成轉發配置后
? 完成配置后再次訪問可以看到不再超時,可以正常獲取到頭信息。
---- 鋼鐵 648403020@qq.com 2024.01.21
? 到此使用場景演示就結束了,隧道轉發功能還有很多使用技巧,朋友們可以慢慢挖掘。
? 除了xshell有隧道轉發功能外,securecrt也有這個功能,操作原理是一樣,這里就不再做另外演示。
? 今天先分享到這里。
總結
以上是生活随笔為你收集整理的xshell配置隧道转移规则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Gradle 出现 Could not
- 下一篇: Rocketmq学习3——消息发送原理源