SSH Device Switching
In real-world network administration, you don't haul a keyboard around to every device. You SSH (Secure Shell) into other devices from your own computer. SimNet works the same way — when you need to add a route on a router, or restart a service on a server, you ssh over to that device.
Why Switch Devices?
Inside SimNet, different devices see different "views" of the network and can do different things:
- PC (your player device) — You can ping, curl, capture packets, launch attacks, and deploy defenses
- Router — Owns the routing table and decides where packets go. You can only run
ip route addon a router - Server — Runs services like HTTP and DNS. You can only manage services with
systemctlon a server - Switch — Lets you inspect the MAC address table and VLAN configuration
It's like a company: accounting only sees the financial system, engineers only see the codebase. You have to be in the right "office" to do the right job.
How do I know which device to jump to?
Read the challenge brief and the topology. If the challenge says "the router is missing a route," that's your cue to SSH into the router.
Basic Operations
Connecting to Another Device
simnet@pc1:~$ ssh router1
simnet@router1:~$Just type ssh followed by the device name. You can find device names on the topology (either inside the box or labeled next to it).
Once connected, the prompt changes right away — from pc1 to router1 — so you always know where you "are."
Going Back
simnet@router1:~$ exit
simnet@pc1:~$exit closes the current SSH session and drops you back to where you came from.
Prompt Color Cues
SimNet color-codes the prompt so you can tell at a glance where you are — no need to re-read the device name every time:
| Color | Meaning | Description |
|---|---|---|
| Green | Local device | You're on your own player device |
| Yellow | SSH remote device | You're operating another device over SSH |
simnet@pc1:~$ ← green: you're on your own PC
simnet@router1:~$ ← yellow: you SSH'd into a Router
simnet@dns-server:~$ ← yellow: you SSH'd into a DNS ServerIt's as intuitive as a traffic light — green means "you're home," yellow means "you've stepped out."
Multi-Hop SSH
SimNet supports SSH sessions up to 3 levels deep. You can go from PC to Router, then from Router to Server:
simnet@pc1:~$ ssh router1 # Level 1
simnet@router1:~$ ssh dns-server # Level 2
simnet@dns-server:~$ ssh server1 # Level 3 (max)To get out, run exit once per level, in reverse:
simnet@server1:~$ exit # back to dns-server
simnet@dns-server:~$ exit # back to router1
simnet@router1:~$ exit # back to pc1
simnet@pc1:~$ # home againDepth limit
You can only stack up to 3 SSH sessions. You usually won't need that — most challenges only require a single hop.
Think of multi-hop SSH like a set of nesting dolls — each level you open puts you inside a new environment, and each level you close pops you back to the previous one.
Commands Available per Device
The help output changes depending on which device you're SSH'd into. Quick reference:
PC (player device)
Common commands plus client tools and security tools: ping, ip addr, arp, curl, wget, nslookup, tcpdump, tshark, nmap, arpspoof, arp -s, tls enable, dns verify
Router
Common commands plus route management: ping, ip addr, ip route, show interfaces, show arp
Server
Common commands plus service management: ping, ip addr, systemctl, service, cat
Switch
Common commands plus switch inspection: show mac-address-table, show interfaces, show vlan
Common commands available on every device: help, clear, ssh, exit
Full list
For detailed command syntax and examples, see the Terminal Command Reference.
Worked Example: SSH into a Router to Add a Route
Take a classic "router missing a route" scenario: suppose the router lacks a route to the server's subnet. Your workflow looks like this:
Step 1: Confirm the problem from the PC
simnet@pc1:~$ ping -c 1 10.0.1.3
PING 10.0.1.3 - no reply (destination unreachable)The server isn't responding — the packet is getting dropped somewhere.
Step 2: SSH into the router and check the routing table
simnet@pc1:~$ ssh router1
simnet@router1:~$ ip route
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.1Sure enough — the router only has a route for the 10.0.0.0/24 subnet, and no path to 10.0.1.0/24.
Step 3: Add the route on the router
simnet@router1:~$ ip route add 10.0.1.0/24 dev eth1
Route added: 10.0.1.0/24 dev eth1Step 4: Hop back to the PC and verify
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 msIt's working. Now you can curl over to grab the Flag.
FAQ
Can I SSH into the Switch?
Yes. Once you're SSH'd into a switch, show mac-address-table lets you inspect the MAC address table — useful in some traffic-analysis challenges.
What if I lose track of which level I'm on?
Read the prompt. It always shows the name of the device you're currently on. Yellow prompt means you're on a remote device; green means you're on your own PC. When in doubt, just press exit a few times to drop back to the bottom layer.
Does the Traffic Log switch when I SSH?
The Traffic Log always shows the traffic that the current device sees. After SSH'ing into a router, you'll see the packets the router is forwarding, not the ones at the PC. That's especially handy when diagnosing routing issues — you can watch the router to confirm packets are being forwarded correctly.