TCPBUG(1)
π TCPBUG(1) β the tcpbug manual, but make it cute π
okay bestie so this is the manual page for tcpbug, from the General Commands Manual (section 1, the commands section, iykyk). it's giving "networking but make it nosy" and honestly? iconic. let's get into it π¦
β¨ NAME β¨
tcpbug β TCP/IP connection bugging device π
like. it bugs connections. on purpose. legally. that's the whole vibe.
πΈ SYNOPSIS πΈ
tcpbug [-cx] [-btT] local-port remote-host remote-port
that's it, that's the whole summoning circle β¨ give it a local port, a remote host, and a remote port, and sprinkle in some flags to taste.
π DESCRIPTION π
so here's the tea, bestie π tcpbug takes a TCP/IP connection that comes in on port local-port on the local machine and forwards it to port remote-port on remote-host β but the whole time it's spying on the connection π and writing every single byte that passes through to standard output. no cap.
and the way it labels stuff is so cute and readable:
- everything coming from the client gets printed with a greater than sign (
>) first on each line - everything coming from the server gets printed with a less than sign (
<) first on each line
and if you've got any byte offsets and timestamps turned on, they get printed before the > or < sign, and they're separated from each other by a colon (:). very demure, very organized π
π OPTIONS π
-bβ prints the offset of the first byte in the stream for each line. so you always know exactly where you are in the byte-verse π’-cβ displays bytes as individual characters π«Ά printable characters get shown directly, some control characters show up as C-language escapes (\n,\r,\tet.c), and the rest show up as 3-digit octal numbers. supposedly this should be similar to the-cswitch ofod(1). periodt.-tβ prints the time the data was received, for each line β° that time is the number of seconds and microseconds, separated by a decimal point (.), since00:00 UTC, January 1, 1970, as reported bygettimeofday(). yes that's the epoch, yes it's a whole thing, we love her.-Tβ also prints the time the data was received for each line β±οΈ but this one is the number of seconds and microseconds, separated by a decimal point (.), since the connections were established. so it's relative time, not epoch time. main character energy but make it a stopwatch.-xβ displays each byte as a two digit hexadecimal number π₯ hex girlies rise up.
π SEE ALSO π
go read those too, bestie, they're all in the same friend group π
π BUGS π
the names of the options are not yet finalized, and may change at a future release. so like. don't get too attached to your muscle memory. π
π and finally, the sign-off π
this page is dated 1997 April 13 and it's from the General Commands Manual β yes, a genuine 90s artifact, and she's still serving. no notes, honestly. πβ¨
k bye, go bug some connections responsibly π¦πΈ
π¦ where this page comes from
- debian bookworm: tcputils 0.6.2-10+b1
- debian trixie: tcputils 0.6.2+git20120127.c28952d-0.1 Β· Public_domain
- ubuntu jammy: tcputils 0.6.2-10build1
- ubuntu noble: tcputils 0.6.2-10build1
- ubuntu questing: tcputils 0.6.2+git20120127.c28952d-0.1
- ubuntu resolute: tcputils 0.6.2+git20120127.c28952d-0.1build1 Β· Public_domain
- ubuntu stonking: tcputils 0.6.2+git20120127.c28952d-0.1build1 Β· Public_domain
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms