flowtop: Show counters by direction
[netsniff-ng.git] / flowtop.8
blobc850f126324dd81274ec20e4a3a435aa2f22394f
1 .\" netsniff-ng - the packet sniffing beast
2 .\" Copyright 2013 Daniel Borkmann.
3 .\" Subject to the GPL, version 2.
4 .TH FLOWTOP 8 "03 March 2013" "Linux" "netsniff-ng toolkit"
5 .SH NAME
6 flowtop \- top-like netfilter TCP/UDP/SCTP/DCCP/ICMP(v6) flow tracking
7 .PP
8 .SH SYNOPSIS
9 .PP
10 \fBflowtop\fR { [\fIoptions\fR] }
11 .PP
12 .SH DESCRIPTION
13 .PP
14 flowtop is a top-like connection tracking tool that can run on an end host or
15 small home router. It is able to present TCP, UDP/UDP-lite, SCTP, DCCP, and
16 ICMP(v6) flows that have been collected by the kernel's netfilter connection
17 tracking framework, thus no packet capturing in user space needs to be done.
18 .PP
19 flowtop is able to give you a quick overview of current connections on your
20 local system, e.g. for debugging purposes or to answer questions like:
21 .PP
22     * If you access website X, what other connections are being opened in
23       the background that I'm not aware of?
24     * What connections are active that pass one's router?
25     * I have this proprietary binary Y, to where does it connect?
26     * To which countries am I sending data?
27     * Are there any suspicious background connections on my machine?
28     * How many active connections does binary Y have?
29 .PP
30 The following information will be presented in flowtop's output:
31 .PP
32     * Application name and PID when run on local machine
33     * Reverse DNS for source and destination
34     * Geo-location information (country, city)
35     * Used protocols (IPv4, IPv6, TCP, UDP, SCTP, ICMP, ...)
36     * Flow port's service name heuristic
37     * Transport protocol state machine information
38 .PP
39 In order for flowtop to work, netfilter must be active and running
40 on your machine, thus kernel-side connection tracking is active. If netfilter
41 is not running, you can activate it with iptables(8):
42 .in +4
43 .sp
44 iptables -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
45 .sp
46 iptables -A OUTPUT -p tcp -m state --state NEW,ESTABLISHED -j ACCEPT
47 .in -4
49 .PP
50 flowtop's intention is just to get a quick look over your active connections.
51 If you want logging support, have a look at netfilter's conntrack(8) tools
52 instead.
53 .PP
54 .SH OPTIONS
55 .PP
56 .SS -4, --ipv4
57 Display IPv4 flows. That is the default when flowtop is started without
58 any arguments.
59 .PP
60 .SS -6, --ipv6
61 Display IPv6 flows. That is the default when flowtop is started without
62 any arguments.
63 .PP
64 .SS -T, --tcp
65 Display TCP flows. That is the default when flowtop is started without
66 any arguments.
67 .PP
68 .SS -U, --udp
69 Display UDP and UDP-lite flows.
70 .PP
71 .SS -D, --dccp
72 Display DCCP flows.
73 .PP
74 .SS -I, --icmp
75 Display ICMP version 4 and version 6 flows.
76 .PP
77 .SS -S, --sctp
78 Display SCTP flows.
79 .PP
80 .SS -s, --show-src
81 Also show source information of the flow, not only destination information.
82 .PP
83 .SS -u, --update
84 The built-in database update mechanism will be invoked to get Maxmind's
85 latest database. To configure search locations for databases, the file
86 /etc/netsniff-ng/geoip.conf contains possible addresses. Thus, to save
87 bandwidth or for mirroring Maxmind's databases (to bypass their traffic
88 limit policy), different hosts or IP addresses can be placed into geoip.conf,
89 separated by a newline.
90 .PP
91 .SS -v, --version
92 Show version information and exit.
93 .PP
94 .SS -h, --help
95 Show user help and exit.
96 .PP
97 .SH USAGE EXAMPLE
98 .PP
99 .SS flowtop
100 Default ncurses output for flowtop that tracks IPv4, IPv6 flows for TCP.
102 .SS flowtop -46UTDISs
103 This example enables the maximum display options for flowtop.
105 .SH CONFIG FILES
107 Files under /etc/netsniff-ng/ can be modified to extend flowtop's
108 service resolution and lookup information.
110     * tcp.conf - TCP port/services map
111     * udp.conf - UDP port/services map
112     * geoip.conf - GeoIP database mirrors
114 .SH BUGS
115 With a fairly high rate of connection tracking updates, flowtop can become
116 unresponsive for short periods of time while scrolling. The right fix would
117 be to replace flowtop's connection management backend with a better design
118 with respect to the locking approach. This is still on the "todo" list.
120 .SH LEGAL
121 flowtop is licensed under the GNU GPL version 2.0.
123 .SH HISTORY
124 .B flowtop
125 was originally written for the netsniff-ng toolkit by Daniel Borkmann. It
126 is currently maintained by Tobias Klauser <tklauser@distanz.ch> and Daniel
127 Borkmann <dborkma@tik.ee.ethz.ch>.
129 .SH SEE ALSO
130 .BR netsniff-ng (8),
131 .BR trafgen (8),
132 .BR mausezahn (8),
133 .BR ifpps (8),
134 .BR bpfc (8),
135 .BR astraceroute (8),
136 .BR curvetun (8),
137 .BR iptables (8)
139 .SH AUTHOR
140 Manpage was written by Daniel Borkmann.
142 .SH COLOPHON
143 This page is part of the Linux netsniff-ng toolkit project. A description of the project,
144 and information about reporting bugs, can be found at http://netsniff-ng.org/.