SSH 裝置切換
在真實的網路管理中,你不可能搬著鍵盤跑到每台設備前面操作。你會用 SSH(Secure Shell)從自己的電腦遠端登入其他設備。SimNet 也是一樣——當你需要去路由器上加一條路由,或是到伺服器上重啟服務時,就得用 ssh 跳過去。
為什麼需要切換設備?
在 SimNet 裡,不同的設備看到的「風景」不同,能做的事情也不同:
- PC(你的玩家裝置) — 可以 ping、curl、抓封包、發動攻擊、部署防禦
- Router — 掌管路由表,決定封包怎麼走。只有在 Router 上才能用
ip route add新增路由 - Server — 跑著各種服務(HTTP、DNS)。只有在 Server 上才能用
systemctl管理服務 - Switch — 可以查看 MAC 位址表和 VLAN 設定
這就像一家公司裡,會計只能看到財務系統、工程師只能看到程式碼庫。你得去對的「辦公室」才能做對的事。
怎麼知道該跳去哪台設備?
看挑戰說明和拓撲圖。如果挑戰說「路由器缺少一條路由」,你就知道要 SSH 到 Router 上去操作。
基本操作
連線到其他設備
simnet@pc1:~$ ssh router1
simnet@router1:~$輸入 ssh 加上設備名稱就行了。設備名稱可以在拓撲圖上看到(方塊裡或旁邊的文字標籤)。
連線成功後,Prompt 會立刻改變——從 pc1 變成 router1,讓你清楚知道現在「人在哪裡」。
返回上一層
simnet@router1:~$ exit
simnet@pc1:~$exit 就是離開當前的 SSH 連線,回到你原本的設備。
Prompt 顏色提示
SimNet 用顏色幫你分辨目前的位置——不用每次都去讀 Prompt 上的設備名稱:
| 顏色 | 含義 | 說明 |
|---|---|---|
| 綠色 | 本地裝置(Local) | 你正在自己的玩家裝置上 |
| 黃色 | SSH 遠端裝置(Remote) | 你正在透過 SSH 操作另一台設備 |
simnet@pc1:~$ ← 綠色,你在自己的 PC 上
simnet@router1:~$ ← 黃色,你 SSH 到了 Router
simnet@dns-server:~$ ← 黃色,你 SSH 到了 DNS Server就像紅綠燈一樣直覺——綠色是「你在家」,黃色是「你出門了」。
多層 SSH
SimNet 支援最多 3 層深度的 SSH 連線。你可以從 PC SSH 到 Router,再從 Router SSH 到 Server:
simnet@pc1:~$ ssh router1 # 第 1 層
simnet@router1:~$ ssh dns-server # 第 2 層
simnet@dns-server:~$ ssh server1 # 第 3 層(最深)退出時要反過來,一層一層 exit:
simnet@server1:~$ exit # 回到 dns-server
simnet@dns-server:~$ exit # 回到 router1
simnet@router1:~$ exit # 回到 pc1
simnet@pc1:~$ # 回到家了注意深度限制
最多只能疊 3 層 SSH。通常你不需要那麼深——大部分挑戰只需要跳一層就夠了。
你可以把多層 SSH 想像成「套娃」——每打開一層就進入一個新的環境,每關一層就回到上一個環境。
各設備可用指令
SSH 到不同設備後,help 列出的指令會不一樣。以下是快速對照:
PC(玩家裝置)
通用指令加上用戶端工具和安全工具: ping, ip addr, arp, curl, wget, nslookup, tcpdump, tshark, nmap, arpspoof, arp -s, tls enable, dns verify
Router
通用指令加上路由管理: ping, ip addr, ip route, show interfaces, show arp
Server
通用指令加上服務管理: ping, ip addr, systemctl, service, cat
Switch
通用指令加上交換器查詢: show mac-address-table, show interfaces, show vlan
所有設備都可以使用的通用指令:help, clear, ssh, exit
完整列表
詳細的指令語法和範例,請參考 Terminal 指令參考。
實戰範例:SSH 到 Router 加路由
以一個典型的「Router 缺少路由」情境為例,假設 Router 缺少一條到 Server 子網路的路由。你的操作流程會是這樣:
第 1 步:在 PC 上確認問題
simnet@pc1:~$ ping -c 1 10.0.1.3
PING 10.0.1.3 - no reply (destination unreachable)Ping 不到 Server——封包在某個地方被丟掉了。
第 2 步:SSH 到 Router 檢查路由表
simnet@pc1:~$ ssh router1
simnet@router1:~$ ip route
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.1果然,Router 只有 10.0.0.0/24 這個子網路的路由,沒有通往 10.0.1.0/24 的路。
第 3 步:在 Router 上新增路由
simnet@router1:~$ ip route add 10.0.1.0/24 dev eth1
Route added: 10.0.1.0/24 dev eth1第 4 步:退回 PC 驗證
simnet@router1:~$ exit
simnet@pc1:~$ ping -c 1 10.0.1.3
64 bytes from 10.0.1.3: icmp_seq=1 ttl=63 time=40 ms通了。現在可以用 curl 去取 Flag 了。
常見問題
我可以 SSH 到 Switch 嗎?
可以。SSH 到 Switch 後,你可以用 show mac-address-table 查看 MAC 位址表——在某些流量分析挑戰中很有用。
忘記我在哪一層了怎麼辦?
看 Prompt。它永遠會顯示你目前所在的設備名稱。如果 Prompt 是黃色的,你就是在遠端設備上;綠色的,你就在自己的 PC 上。不確定的話,多按幾次 exit 回到底層就好。
SSH 的時候 Traffic Log 會切換嗎?
Traffic Log 會顯示你當前所在設備看到的流量。SSH 到 Router 後,你會看到 Router 經手的封包,而不是 PC 的。這在診斷路由問題時特別有用——你可以在 Router 上看到封包有沒有正確轉發。