man: add ifpps.8 man page
[netsniff-ng.git] / man / ifpps.8
bloba0abba7ce4380ae29e59894caae14c666b4cfcd4
1 .\" netsniff-ng - the packet sniffing beast
2 .\" Copyright 2013 Daniel Borkmann.
3 .\" Subject to the GPL, version 2.
5 .TH IFPPS 8 "03 March 2013" "Linux" "netsniff-ng toolkit"
6 .SH NAME
7 ifpps \- top-like networking and system statistics
9 .SH SYNOPSIS
11 \fB ifpps\fR { [\fIoptions\fR] | [\fIdevice\fR] }
13 .SH DESCRIPTION
15 ifpps is a small utility which periodically provides top-like networking
16 and system statistics from the kernel. ifpps gathers its data directly
17 from procfs files and does not apply any user space monitoring libraries
18 which would falsify statistics on high load.
20 For instance, consider the following scenario: two directly connected
21 Linux machines with Intel Core 2 Quad Q6600 2.40GHz CPUs, 4 GB RAM, and
22 an Intel 82566DC-2 Gigabit Ethernet NIC are used for performance evaluation.
23 One machine generates 64 byte network packets by using the kernel space
24 packet generator pktgen with a maximum possible packet rate. The other
25 machine displays statistics about incoming network packets by using i)
26 iptraf(8) and ii) ifpps.
28 iptraf that incorporates pcap(3) shows an average packet rate of
29 246,000 pps while on the other hand ifpps shows an average packet rate of
30 1,378,000 pps. Hence, due to copying packets and deferring statistics
31 creation into user space, measurement error of approx. 460 per cent
32 occurs. Tools like iptraf might display much more information such as
33 TCP per flow statistics (therefore the use of the pcap library), which
34 is not implemented in ifpps, because overall networking statistics are
35 in our focus; statistics, which are also fairly reliable under high packet
36 load.
38 .SH OPTIONS
40 .SS -d <netdev>, --dev <netdev>
41 Networking device to fetch statistics from, e.g. eth0, wlan0.
43 .SS -t <time>, --interval <time>
44 Statistics refresh interval in milliseconds, default is 1000 ms.
46 .SS -p, --promisc
47 Turn on promiscuous mode for the given networking device.
49 .SS -c, --csv
50 Output (once) the ncurses data to the terminal as gnuplot(1)-ready data.
52 .SS -l, --loop
53 Continuously output the terminal data after a refresh interval. This option
54 only is available, if option ``-c'' is given. For ``-l'' it is usually
55 recommended to redirect the output into a file that is later being processed
56 with gnuplot(1).
58 .SS -v, --version
59 Show versioning information.
61 .SS -h, --help
62 Show user help.
64 .SH USAGE EXAMPLE
66 .SS ifpps eth0
67 Default ncurses output for the eth0 device.
69 .SS ifpps -pd eth0
70 Ncurses output for the eth0 device in promiscuous mode.
72 .SS ifpps -lpcd wlan0 > plot.dat
73 Continuous terminal output for the wlan0 device in promiscuous mode.
75 .SH NOTE
76 On 10Gbit/s cards or higher, receive and transmit statistics are usually
77 accumulated each > 1sec. Thus, it might be advised to alter the timing
78 option to a higher accumulation interval for such cards.
80 .SH LEGAL
81 ifpps is licensed under the GNU GPL version 2.0.
83 .SH HISTORY
84 .B ifpps
85 was originally written for the netsniff-ng toolkit by Daniel Borkmann. It
86 is currently maintained by Tobias Klauser <tklauser@distanz.ch> and Daniel
87 Borkmann <dborkma@tik.ee.ethz.ch>.
89 .SH SEE ALSO
90 .BR netsniff-ng (8),
91 .BR trafgen (8),
92 .BR mausezahn (8),
93 .BR bpfc (8),
94 .BR flowtop (8),
95 .BR astraceroute (8),
96 .BR curvetun (8)
98 .SH AUTHOR
99 Manpage was written by Daniel Borkmann.