NetFlow Lab/Protocol Labs/Telnet
Simulated
Mission

Watch a password cross a café network in plain ASCII — one byte at a time.

telnet 203.0.113.20 · character mode · 3 lifelinesidle
Telnet client192.168.1.10:54118Café wi-fi · on pathtcpdump -A port 23Router · telnetd203.0.113.20:23Character mode selected — every keystroke will leave as its own packet.press Open session to begin · the café access point is already capturing
the tap · tcpdump -A -i wlan0 port 230 ms
capture running on the café access point — nothing sent yet
cost of the session · what one typed character actually costs
mode
character-at-a-time

server echoes every keystroke

who echoes
— not yet agreed —

one round trip per keystroke

segments so far
0

one per keystroke, plus echo

header : payload
41 : 1

40+ bytes of IP/TCP wrap each payload

encryption
none

no TLS, no key exchange, ever

credentials captured
— none yet —

the tap is waiting

session_control
Terminal mode
closed
1TCP opens on port 23 — and that is all the security there is
2IAC negotiation — the two ends configure the terminal
3The login prompt arrives as ordinary bytes
4Typing "admin" — five keystrokes, ten segments
5Echo goes off — and the password crosses anyway
6Authenticated — and the whole session behaves the same way
Think first · step 1 of 6

Telnet has no login protocol of its own. What does the client do first?

what the user sees
$ telnet 203.0.113.20
what just happened

Character mode is Telnet as most people meet it. Every keystroke is a packet, and the letters on your screen came back from the server. Open the session and watch the tap.

port 23 · RFC 854 · RFC 1184 (LINEMODE)
the common mistake

Telnet is not simply “SSH without encryption.” It is a negotiated byte stream: before one character of your password moves, the two ends argue about who echoes, whether to suppress go-ahead, and what terminal you claim to be — in IAC command bytes interleaved with your data.

The echo is not local. In character mode the server sends your own letters back to be printed — which is why a laggy link types laggily, and why one keystroke costs two segments.

Line mode fixes the chattiness. It does not fix the exposure — the tap reads the password either way. Only a different protocol underneath does that: see the HTTPS lab for what a real encrypted channel costs, and the TCP lab for the stream beneath.