從互聯網上,我可以透過 ssh 訪問機器_A並且可以存取內網。因此,我可以使用命令列存取所有 Intranet 站點,例如:
ssh Machine_A -f 'curl -s http://192.168.0.51' > index.html
問題是網站是一個複雜的東西。它需要下載圖像、javascript、css等。
蘇,我該怎麼辦?隧道“ 或者 ”翻譯「我的連線僅使用命令列存取網站?
看這個場景:
- 我想造訪該頁面http://192.168.0.51
- 因此,我使用上述命令連接
ssh
並下載頁面。 - 我打開
index.html
瀏覽器,發現需要image.jpg
下載script.js
- 不知何故,我攔截了這個請求,製作正確的行來下載文件,然後瀏覽器使用它
如果不直接訪問,如何訪問該網站?我可以做什麼機器_A成為我的“閘道” 造訪內部網路站點?
答案1
您想要做的是設定 SSH 隧道並設定瀏覽器來代理該隧道上的流量,然後您就可以在該瀏覽器中存取這些資源。
由於您不想將整台電腦或主瀏覽器設定為使用此 SSH 隧道,因此您可以使用備用瀏覽器,但它必須是允許您獨立設定代理程式的瀏覽器。火狐瀏覽器允許你這樣做,如果你使用 Firefox 作為常規瀏覽器,你可以使用 Firefox fork,例如水狐或者蒼白的月亮它還允許您獨立於系統或 Firefox 設定代理。
若要啟動隧道,請使用下列參數連線至 SSH 主機:
ssh -ND 9999 Machine_A
這將連接到機器_A並在連接埠上建立隧道9999(或您設定的任何連接埠)。
保持 ssh 連線運行,並在 Firefox(或類似瀏覽器)中設定代理:
- 打開設定
- 向下捲動到網路設定部分並點擊設定...按鈕。
- 在開啟的新視窗中:
- 選擇手動代理配置單選按鈕
127.0.0.1
在 SOCKS 主機欄位和9999
連接埠欄位中輸入- 檢查使用 SOCKS v5 時的代理 DNS複選框
- 點選“確定”按鈕儲存設定。
現在您應該能夠在此瀏覽器中瀏覽 Intranet 站點,就像您在本地一樣。