FLOWTOP(8)
π FLOWTOP β the flowtop manual, but make it cute π
okay bestie, welcome to flowtop(8), part of the netsniff-ng toolkit π. This is the whole page, every flag, every warning, no skips, no cap. Let's get into it β¨
β¨ NAME β¨
flowtop β it's a top-like tracker for netfilter TCP/UDP/SCTP/DCCP/ICMP(v6) flows π like, it watches your flows the way you watch your group chat.
π¦ SYNOPSIS π¦
flowtop { [options] }
that's it. that's the whole vibe. options go in, slay comes out π
πΈ DESCRIPTION πΈ
okay so flowtop is a top-like connection tracking tool, and it can run on an end host or on a small home router π . It presents TCP, UDP/UDP-lite, SCTP, DCCP, and ICMP(v6) flows that the kernel's netfilter connection tracking framework already collected β which means no packet capturing in user space needs to be done. zero. none. the kernel did it for you, periodt π
so basically flowtop gives you a quick overview of the current connections on your local system β for debugging purposes, or just to answer questions like:
- If you access website X, what other connections are being opened in the background that I'm not aware of? π
- What connections are active that pass one's router?
- I have this proprietary binary Y, to where does it connect?
- To which countries am I sending data?
- Are there any suspicious background connections on my machine?
- How many active connections does binary Y have?
- How long are connections active already?
- At which rate am I sending/receiving data?
and here's everything that gets presented in flowtop's output π:
- Application name and PID when run on local machine
- Reverse DNS for source and destination
- Geo-location information (country, city)
- Used protocols (IPv4, IPv6, TCP, UDP, SCTP, ICMP, ...)
- Flow port's service name heuristic
- Transport protocol state machine information
- Byte/packet counters (if they are enabled)
- Connection duration (if timestamping is enabled)
- Flow send/receive rate (if byte/packet counters are enabled)
π₯ making it actually work (netfilter check) π₯
for flowtop to work, netfilter must be active and running on your machine β meaning kernel-side connection tracking is active. if netfilter is not running, you can activate it with iptables(8):
iptables -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m state --state NEW,ESTABLISHED -j ACCEPT
or by loading the following kernel modules:
modprobe nf_conntrack_ipv4
modprobe nf_conntrack_ipv6
π« byte/packet counters π«
to dump byte/packet counters, flowtop enables the sysctl(8) parameter net.netfilter.nf_conntrack_acct via:
echo 1 > /proc/sys/net/netfilter/nf_conntrack_acct
and it resets it to the previously set value on exit π«Ά. important: these counters will only be active on connections which were created after accounting was enabled. so if you want these counters active all the time, the parameter should be enabled after the system is up. to automatically enable it, sysctl.conf(8) or sysctl.d(8) might be used β¨
β³ connection duration β³
to calculate the connection duration, flowtop enables the sysctl(8) parameter net.netfilter.nf_conntrack_timestamp via:
echo 1 > /proc/sys/net/netfilter/nf_conntrack_timestamp
and resets it to the previously set value on exit π
real talk:flowtop's intention is just to get a quick look over your active connections. if you want logging support, go look at netfilter'sconntrack(8)tools instead. it's giving different tool, different job π
π OPTIONS π
-4,--ipv4β Display IPv4 flows. That is the default whenflowtopis started without any arguments.-6,--ipv6β Display IPv6 flows. That is the default whenflowtopis started without any arguments.-T,--tcpβ Display TCP flows. That is the default whenflowtopis started without any arguments.-U,--udpβ Display UDP and UDP-lite flows.-D,--dccpβ Display DCCP flows.-I,--icmpβ Display ICMP version 4 and version 6 flows.-S,--sctpβ Display SCTP flows.-n,--no-dnsβ Don't perform hostname lookup. Only numeric addresses will be shown for flow endpoints.-G,--no-geoipβ Don't perform GeoIP lookup. No geographical information will be shown for flow endpoints.-s,--show-srcβ Also show source information of the flow, not only destination information.-b,--bitsβ Show flow rates in bits per second instead of bytes per second.-u,--updateβ The built-in database update mechanism will be invoked to get Maxmind's latest database. To configure search locations for databases, the file/etc/netsniff-ng/geoip.confcontains possible addresses. Thus, to save bandwidth or for mirroring Maxmind's databases (to bypass their traffic limit policy), different hosts or IP addresses can be placed intogeoip.conf, separated by a newline.-t<time>,--interval<time> β Flow info refresh interval in seconds, default is 1s.-v,--versionβ Show version information and exit.-h,--helpβ Show user help and exit.
π USAGE EXAMPLE π
flowtopβ Default ncurses output forflowtopthat tracks IPv4, IPv6 flows for TCP.flowtop -46UTDISsβ This example enables the maximum display options forflowtop. it's giving maxed out, fully unlocked, no notes π₯
π§ CONFIG FILES π§
Files under /etc/netsniff-ng/ can be modified to extend flowtop's service resolution and lookup information π
tcp.conf- TCP port/services mapudp.conf- UDP port/services mapgeoip.conf- GeoIP database mirrors
π BUGS π
with a fairly high rate of connection tracking updates, flowtop can become unresponsive for short periods of time while scrolling π΅βπ«. the right fix would be to replace flowtop's connection management backend with a better design with respect to the locking approach. this is still on the "todo" list. so likeβ¦ known, acknowledged, not fixed. we move π«Ά
βοΈ LEGAL βοΈ
flowtop is licensed under the GNU GPL version 2.0.
π HISTORY π
flowtop was originally written for the netsniff-ng toolkit by Daniel Borkmann. It is currently maintained by Tobias Klauser <tklauser@distanz.ch> and Daniel Borkmann <dborkma@tik.ee.ethz.ch>. legends, fr fr π
π SEE ALSO π
netsniff-ng(8), trafgen(8), mausezahn(8), ifpps(8), bpfc(8), astraceroute(8), curvetun(8), iptables(8), sysctl(8), sysctl.conf(8), sysctl.d(8)
βοΈ AUTHOR βοΈ
Manpage was written by Daniel Borkmann.
π COLOPHON π
This page is part of the Linux netsniff-ng toolkit project. A description of the project, and information about reporting bugs, can be found at http://netsniff-ng.org/.
and that's the whole thing bestie π«Ά this page is from the Linux manual set, version date 03 March 2013, and it's the flowtop(8) page from the netsniff-ng toolkit π go track some flows, you got this β¨πΈ
π¦ where this page comes from
- arch rolling: netsniff-ng 0.6.9-2 Β· GPL-2.0-only
- debian bookworm: netsniff-ng 0.6.8-3 Β· GPL-2.0-only
- debian trixie: netsniff-ng 0.6.9-1 Β· GPL-2.0-only
- epel 10: netsniff-ng 0.6.9-2.el10_1 Β· GPL-2.0-only
- epel 9: netsniff-ng 0.6.8-11.el9 Β· GPLv2
- fedora 43: netsniff-ng 0.6.9-4.fc43 Β· GPL-2.0-only
- fedora 44: netsniff-ng 0.6.9-5.fc44 Β· GPL-2.0-only
- nixos 26.05: netsniff-ng 0.6.9
- nixpkgs unstable: netsniff-ng 0.6.9
- ubuntu jammy: netsniff-ng 0.6.8-2build1 Β· GPL-2.0-only
- ubuntu noble: netsniff-ng 0.6.8-3build2 Β· GPL-2.0-only
- ubuntu questing: netsniff-ng 0.6.9-1
- ubuntu resolute: netsniff-ng 0.6.9-2 Β· GPL-2.0-only
- ubuntu stonking: netsniff-ng 0.6.9-2build1 Β· GPL-2.0-only
- Copyright 2013 Daniel Borkmann
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms