TTCP(1)
π TTCP(1) β the manual, but make it cute
okay bestie, so ttcp is a General Commands Manual page and it's literally the blueprint for testing how fast your TCP and UDP are talking to each other. no cap. sit down, hydrate, and let's get into it π«Ά
β¨ NAME β¨
ttcp β test TCP and UDP performance π
π SYNOPSIS π
ttcp -t [-u] [-s] [-p port] [-l buflen] [-b size] [-n numbufs]
[-A align] [-O offset] [-f format] [-D] [-v] host
ttcp -r [-u] [-s] [-p port] [-l buflen] [-b size] [-A align] [-O offset]
[-f format] [-B] [-T] [-v]
two whole modes, two whole vibes. transmitters and receivers are different girls π
π¦ DESCRIPTION π¦
so Ttcp times how long it takes to transmit and receive data between two systems, using the UDP or TCP protocols. that's the whole job. iconic behaviour honestly.
the way it's different from the common "blast" tests?? those ones lowkey measure the remote inetd as much as the actual network performance π and they usually don't even let you measure anything at the remote end of a UDP transmission. not it. ttcp could never.
for testing, the transmitter should be started with -t and -s after the receiver has been started with -r and -s. order matters bestie, don't start the transmitter first, that's the whole point β¨
tests lasting at least tens of seconds should be used to get accurate measurements. short tests are giving nothing. periodt.
and honestly? graphical presentations of throughput versus buffer size β for buffers ranging from tens of bytes all the way to several "pages" β can illuminate bottlenecks. plot it, queen π
Ttcp can also be used as a "network pipe" for moving directory hierarchies between systems when routing problems exist, or when using other mechanisms is just... undesirable π
for example, on the destination machine, use:
ttcp -r -B | tar xvpf -
and on the source machine:
tar cf - directory | ttcp -t dest_machine
and if you wanna include additional intermediate machines (a whole relay chain, main character energy π):
ttcp -r | ttcp -t next_machine
πΈ OPTIONS πΈ
-tβ transmit mode, bestie. it transmits the data presented on standard input π€-rβ receive mode. sends the received data to standard output π₯-uβ use UDP instead of TCP. chaotic, but valid π-sβ if transmitting, source a data pattern to network; if receiving, sink (discard) the data. without the-soption, the default is to transmit data from stdin or print the received data to stdout π-llength β length of buffers in bytes (default8192). for UDP, this value is the number of data bytes in each packet. the system limits the maximum UDP packet length, and that limit can be changed with the-boption β-bsize β set size of socket buffer. the default varies from system to system π this parameter affects the maximum UDP packet length. it may not be possible to set this parameter on some systems (for example,4.2BSD) π-nnumbufs β number of source buffers transmitted (default2048) π’-pport β port number to send to or listen on (default2000). on some systems, this port may be allocated to another network daemon, so heads up π-Dβ if transmitting using TCP, do not buffer data when sending (sets theTCP_NODELAYsocket option). it may not be possible to set this parameter on some systems (for example,4.2BSD) π-Bβ when receiving data, output only full blocks, using the block size specified by-l. this option is useful for programs, such astar(1), that require complete blocks π§±-Aalign β align the start of buffers to this modulus (default16384) π-Ooffset β align the start of buffers to this offset (default0). for example,`-A8192 -O1`causes buffers to start at the second byte of an 8192-byte page π―-fformat β specify, using one of the following characters, the format of the throughput rates as kilobits/sec ('k'), kilobytes/sec ('K'), megabits/sec ('m'), megabytes/sec ('M'), gigabits/sec ('g'), or gigabytes/sec ('G'). the default is'K'β¨-Tβ "Touch" the data as they are read in order to measure cache effects. touch grass, but for buffers π±-vβ verbose: print more statistics π-dβ debug: set theSO_DEBUGsocket option π
π«Ά SEE ALSO π«Ά
ping(1M), traceroute(1M), netsnoop(1M) β go read those too, they're the friend group π
okay that's the whole page, we ate and left no crumbs π this was the TTCP(1) page from the local source, filed under TTCP(1). mwah, go test your network bestie πβ¨π
π¦ where this page comes from
- fedora 43: ttcp 1.12-50.fc41 Β· Public Domain
- fedora 44: ttcp 1.12-50.fc41 Β· Public Domain
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms