TCPPROF(1)
π TCPPROF π
okay bestie, grab a boba, because we're about to talk about tcpprof β it's a little command from the General Commands Manual that reports a profile of network traffic. that's the whole name, that's the whole vibe. β¨
πΈ NAME πΈ
tcpprof β report profile of network traffic π¦
β¨ SYNOPSIS β¨
tcpprof [-?hdnpR] [-f filter expr] [-i interface] [-P port]
[-r filename] [-s seconds] [-S letters] [-t lines]
look at that glow-up. π
π DESCRIPTION π
so like, tcpprof reports a profile of network traffic by ranking it by link type, ip protocol, TCP/UDP port, ip address, or network address. it's giving "who is eating all my bandwidth" energy and honestly? obsessed.
network info gets collected one of two ways, bestie:
- by reading data from filename π
- by directly monitoring the network interface interface π
the default action for tcpprof is to automatically search for an appropriate interface, and to generate a profile before it exits. no flags, no stress, it just does the thing. periodt.
when reading data from filename, tcpprof will display the profile and exit immediately after the entire file has been processed. clean, quick, done. π«Ά
when collecting data from interface, tcpprof will keep running unless the -s option had been specified. so like... it will literally never stop unless you tell it to. main character energy, but also kind of a lot. π
π OPTIONS π
the options are as follows:
-f filter exprβ filter the packets according the rules given by filter expr. for the syntax of these rules, seetcpdump(1). β οΈ the argument must be quoted if it contains spaces in order to separate it from other options.-h,-?β display version and a brief help message. little "hi, hello, here's what i do" moment. π-dβtcpprofwill track the source and destination information separately, where applicable, and identify source data with a>and destination data with<. for example, ahttp <statistic signifies all traffic with destination port 80 (http). this option only applies to port, host and network statistics. the way that little arrow does all that work... iconic.-i interfaceβ do a live capture (rather than read from a file) on the interface interface given on the command line. if interface is"auto"thentcpproftries to find an appropriate one by itself. β¨ self-sufficient queen.-P portβ this tellstcpprofto ignore TCP and UDP ports greater than or equal to port when displaying port statistics. π¨ this is not the same as filtering these port numbers out of the data set. this way, packets with i.e. the source port above port and the destination port below port will be able to still count the lower port number as a statistic. in addition, this doesn't affect the other statistic types (link, protocol, etc.). subtle, but important. no cap.-pβ set the interface into non-promiscuous mode (promiscuous is the default) when doing live captures. yes bestie, promiscuous is the default. we are nosy by nature here. π-r filenameβ read all data from filename, which may be a regular file, a named pipe or"-"to read it's data from standard input. acceptable file formats include pcap (tcpdump(1)files) and"snoop"format files. filename is usually a file created by thetcpdump(1)command using the"-w"option. π-S lettersβ tellstcpprofwhich statistics to display. letters must be a string of one or more of the following letters:lβ show stats about the link layeriβ show stats about all ip protocolspβ show stats about TCP/UDP portshβ show stats about hosts/ip addressesnβ show stats about network addressesaβ a synonym for"liphn"
so a is just the whole squad in one letter. ate. π
-s secondsβ when monitoring an interface,tcpprofruns for only seconds seconds, and then quits. has no effect when reading data from a file. so don't come crying to-swhen you're using-r. π-t linesβ when printing a profile of the data,tcpprofwill display a maximum of lines lines for each statistic. keep it cute, keep it short. β¨
π SIGNALS π
upon receiving a SIGINT, tcpprof will print any remaining statistics, and then exit. so that ^C? it's not rude, it's a graceful goodbye. π«Ά
π¦ FILES π¦
/dev/bpfnβ the packet filter device
π EXAMPLES π
tcpprof -i fxp0 -S a
displays a complete profile of network data passing through the fxp0 network interface, after the user enters ^C (control C). classic. π₯
tcpprof -r file.dump -S a
displays a complete profile of network data from the tcpdump(1) generated file "file.dump". read it and weep (affectionately). π
β SEE ALSO β
go read your siblings, bestie. iykyk. πΈ
π HISTORY π
tcpprof was first written along side tcpstat in Winter 1998 using FreeBSD 3.0, and then finally retrofitted for Linux in Spring 2000. it became installed along with tcpstat since version 1.5. a true legacy icon. π
π AUTHORS π
Paul Herman <pherman@frenchfries.net> Cologne, Germany.
please send all bug reports to this address. fr fr, they're asking. π¬
π BUGS π
- not tested with link types other than Ethernet, PPP, and
"None"types. - there may be problems reading non-IPv4 packets across platforms when reading null type link layers. this is due to a lack of a standardized packet type descriptor in libpcap for this link type. π
- snoop file formats cannot be read from stdin or named pipes.
okay so those are real, actual, documented bugs. not a drill. proceed with awareness, bestie. π
this little love letter shipped as part of Debian, dated December 22, 2001 β and yes, we're still talking about it. vintage but never expired. mwah. πβ¨π¦
π¦ where this page comes from
- debian bookworm: tcpstat 1.5-8+b1 Β· BSD-2-Clause
- debian trixie: tcpstat 1.5-8.2 Β· BSD-2-Clause
- ubuntu jammy: tcpstat 1.5-8build1 Β· BSD-2-Clause
- ubuntu noble: tcpstat 1.5-8.1build3 Β· BSD-2-Clause
- ubuntu questing: tcpstat 1.5-8.2
- ubuntu resolute: tcpstat 1.5-9 Β· BSD-2-Clause
- ubuntu stonking: tcpstat 1.5-9 Β· BSD-2-Clause
- Copyright (c) 2001 Paul Herman
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms