Code

liboping(3), oping(1): Correct licensing information.
[liboping.git] / src / mans / oping.pod
index 8a3cb58cc1cdb15783bcdfac69c36f5e7b75c64b..5a90ce70f83bfe5e4865b379b91f0acff06ab452 100644 (file)
@@ -8,14 +8,22 @@ B<oping> [B<-4> | B<-6>] [B<-c> I<count>] [B<-i> I<interval>] I<host> [I<host> [
 
 B<oping> [B<-4> | B<-6>] [B<-c> I<count>] [B<-i> I<interval>] B<-f> I<filename>
 
+B<noping> [B<-4> | B<-6>] [B<-c> I<count>] [B<-i> I<interval>] I<host> [I<host> [I<host> ...]]
+
+B<noping> [B<-4> | B<-6>] [B<-c> I<count>] [B<-i> I<interval>] B<-f> I<filename>
+
 =head1 DESCRIPTION
 
-oping uses ICMPv4 or ICMPv6 ECHO_REQUEST packets to measure a hosts
+B<oping> uses ICMPv4 or ICMPv6 ECHO_REQUEST packets to measure a hosts
 reachability and the network latency. In contrast to the original L<ping(8)>
 utility B<oping> can send ICMP packets to multiple hosts in parallel and wait
-for all ECHO_RESPONSE packets to arrive. In contrast to the
-B<fping> utility (URL is listed in L<"SEE ALSO">) B<oping> can use both, IPv4
-and IPv6 transparently and side by side.
+for all ECHO_RESPONSE packets to arrive. In contrast to the B<fping> utility
+(URL is listed in L<"SEE ALSO">) B<oping> can use both, IPv4 and IPv6
+transparently and side by side.
+
+B<noping> is an ncurses-based front-end to I<liboping> which displays ping
+statistics online and highlights aberrant round-trip times if the terminal
+supports colors.
 
 =head1 OPTIONS
 
@@ -23,7 +31,7 @@ and IPv6 transparently and side by side.
 
 =item B<-4>
 
-Force the use of IPv4. 
+Force the use of IPv4.
 
 =item B<-6>
 
@@ -38,6 +46,12 @@ Send (and receive) I<count> ICMP packets, then stop and exit.
 Send one ICMP packet (per host) each I<interval> seconds. This can be a
 floating-point number to specify sub-second precision.
 
+=item B<-w> I<timeout>
+
+Specifies the time to wait for an C<ECHO REPLY> packet before giving up, in
+seconds. This can be a floating point number for sub-second precision. Defaults
+to B<1.0> seconds.
+
 =item B<-t> I<ttl>
 
 Set the IP Time to Live to I<ttl>. This must be a number between (and
@@ -58,15 +72,270 @@ Set the outgoing network device to use.
 Instead of specifying hostnames on the command line, read them from
 I<filename>. If I<filename> is B<->, read from C<STDIN>.
 
+If I<oping> is installed with the SetUID-bit, it will set the effective UID to
+the real UID before opening the file. In the special (but common) case that
+I<oping> is owned by the super-user (UIDE<nbsp>0), this means that privileges
+are temporarily dropped before opening the file, in order to prevent users from
+reading arbitrary files on the system.
+
+If your system doesn't provide I<saved set-user IDs> (this was an optional
+feature before POSIXE<nbsp>2001), the behavior is different because it is not
+possible to I<temporarily> drop privileges. The alternative behavior is: If the
+real user ID (as returned by L<getuid(2)>) and the effective user ID (as
+returned by L<geteuid(2)>) differ, the only argument allowed for this option is
+"-" (i.e. standard input).
+
+=item B<-O> I<filename>
+
+Write measurements in I<Comma Separated Values> (CSV) format to I<filename>.
+This option writes three columns per row: wall clock time in (fractional)
+seconds since epoch, hostname and the round trip time in milliseconds.
+
+=item B<-Q> I<qos>
+
+Specify the I<Quality of Service> (QoS) for outgoing packets. This is a
+somewhat tricky option, since the meaning of the bits in the IPv4 header has
+been revised several times.
+
+The currently recommended method is I<Differentiated Services> which is used in
+IPv6 headers as well. There are shortcuts for various predefined
+I<per-hop behaviors> (PHBs):
+
+=over 4
+
+=item B<be>
+
+Selects the I<Best Effort> behavior. This is the default behavior.
+
+=item B<ef>
+
+Selects the I<Expedited Forwarding> (EF) per-hop behavior, as defined in
+I<RFCE<nbsp>3246>. This PHB is characterised by low delay, low loss and low
+jitter, i.e. high priority traffic.
+
+=item B<va>
+
+Selects the I<Voice Admitted> (VA) per-hop behavior, as defined in
+I<RFCE<nbsp>5865>. This traffic class is meant for I<Voice over IP> (VoIP)
+traffic which uses I<Call Admission Control> (CAC) for reserving network
+capacity.
+
+=item  B<af>I<c>I<p>
+
+Selects one of 12E<nbsp>differentiated services code points (DSCPs), which are
+organized in four I<classes> with three I<priorities> each. Therefore, I<c>
+must be a number betweenE<nbsp>1 throughE<nbsp>4 and I<p> must be a number
+betweenE<nbsp>1 throughE<nbsp>3, for example "af13", "af22" and "af41". In each
+class, the lower priority number takes precedence over the higher priority
+number.
+
+=item B<cs>I<n>
+
+Selects one of the eight I<Class Selector> PHBs. I<n> is a number
+betweenE<nbsp>0 throughE<nbsp>7. The class selectors have been defined to be
+compatible to the I<Precedence> field in the IPv4 header as defined in
+I<RFCE<nbsp>791>. Please note that "cs0" is synonymous to "be".
+
+=back
+
+The old definition of the same bits in the IPv4 header was as I<Type of
+Service> (ToS) field, specified in I<RFCE<nbsp>1349>. It defined four possible
+values which have appropriate aliases. Please note that this use of the bits is
+B<deprecated> and the meaning is limited to IPv4!
+
+=over 4
+
+=item B<lowdelay>
+
+Minimize delay
+
+=item B<throughput>
+
+Maximize throughput
+
+=item B<reliability>
+
+Maximize reliability
+
+=item B<mincost>
+
+Minimize monetary cost
+
+=back
+
+Alternatively, you can also specify the byte manually. You can use either a
+decimal number (0-255), a hexadecimal number (0x00-0xff) or an octal number
+(00-0377) using the usual "0x" and "0" prefixes for hexadecimal and octal
+respectively.
+
+The printed lines will contain information about the QoS field of received
+packets if either a non-standard QoS setting was used on outgoing packets or if
+the QoS byte of incoming packets is not zero. In other words, the QoS
+information is omitted if both, the outgoing and the incoming QoS bytes are
+zero. The received byte is always interpreted as
+I<Differentiated Services Code Point> (DSCP) and
+I<Explicit Congestion Notification> (ECN), even if the deprecated
+I<Type of Service> (ToS) aliases were used to specify the bits of outgoing
+packets.
+
+=item B<-m> I<mark>
+
+I<Linux only> Sets the I<mark> (an integer number) on outgoing packets. This
+can be used by L<iptables(8)> and other networking infrastructure for filtering
+and routing.
+
+=item B<-u>|B<-U>
+
+I<noping only> B<-u> forces UTF-8 output, B<-U> disables UTF-8 output. If
+neither is given, the codeset is automatically determined from the locale.
+
+=item B<-g> B<none>|B<prettyping>|B<boxplot>|B<histogram>
+
+I<noping only> Selects the graph to display.
+
+=over 4
+
+=item B<none>
+
+Do not show a graph.
+
+=item B<prettyping>
+
+Show a graph with time on the x-axis, the y-axis shows the round-trip time.
+This is the default graph.
+
+If your terminal supports unicode and colors, they are used to improve
+the precision of the data shown: a green box is drawn for round-trip times up
+to one third of the configured timeout, the height representing the RTT. Longer
+RTTs will start to fill the box yellow (with a green background) and then red
+(with a yellow background). Lost packages are drawn as a bold red explamation
+mark.
+
+=item B<boxplot>
+
+Show a I<box plot> where the x-axis, i.e. the width of the window, is the
+round-trip time. The entire width of the window it the ping interval, set with
+the B<-i> option.
+
+The box is sized so it contains 50% of the replies. The vertical line shows the
+median. The whiskers are sized to contain 95% of the replies -- 2.5% below the
+whiskers and 2.5% above.
+
+  |----------[#####|##########]--------------------------------------------|
+  ^          ^     ^          ^                                            ^
+ 2.5%       25%   50%        75%                                         97.5%
+
+=item B<histogram>
+
+Show a I<histrogram> of the round-trip times. The width of the window is taken
+as round-trip time from 0ms on the left to the I<interval> (the B<-i> option,
+default 1000ms) on the right.
+
+The height of the graph is scaled so that the most-used buckets vertically fills
+the line. The buckets are colored green up to and including the 80th
+percentile, yellow up to and including the 95th percentile and red for the
+remainder.
+
 =back
 
+=item B<-b>
+
+Audible bell. Print a ASCII BEL character (\a or 0x07) when a packet
+is received before the timeout occurs. This can be useful in order to
+monitory hosts' connectivity without looking physically at the
+console, for example to trace network cables (start audible beep,
+disconnect cable N: if beep stops, the cable was in use) or to tell
+when a host returns from a reboot.
+
+This relies on the terminal bell to be functional. To enable the
+terminal bell, use the following instructions.
+
+=over 4
+
+=item
+
+the visual bell is disabled in your terminal emulator, with the +vb
+commandline flag or the following in your .Xresources:
+
+ XTerm*visualBell: false
+
+=item
+
+the PC speaker module is loaded in your kernel:
+
+ modprobe pcspkr
+
+=item
+
+X11 has the terminal bell enabled:
+
+ xset b on; xset b 100
+
+=item
+
+and finally, if you are using PulseAudio, that the module-x11-bell
+module is loaded with a pre-loaded sample defined in your pulseaudio
+configuration:
+
+ load-sample-lazy x11-bell /usr/share/sounds/freedesktop/stereo/complete.oga
+ load-module module-x11-bell sample=x11-bell
+
+=back
+
+=item B<-P> I<percent>
+
+Configures the latency percentile to report. I<percent> must be a number
+between zero and 100, exclusively in both cases. In general, defaults to B<95>.
+If B<-c> is given and a number less than 20, this would be the same as the
+maximum. In this case the default is chosen so that it excludes the maximum,
+e.g. if B<-cE<nbsp>5> is given, the default is I<80>. The calculated percentile
+is based on the last 900 packets (15 minutes with the default interval).
+
+=item B<-Z> I<percent>
+
+If any hosts have a drop rate higher than I<percent>, where I<percent> is a
+number between zero and 100 inclusively, exit with a non-zero exit status.
+Since it is not possible to have a higher drop rate than 100%, passing this
+limit will effectively disable the feature (the default). Setting the option to
+zero means that the exit status will only be zero if I<all> replies for I<all>
+hosts have been received.
+
+The exit status will indicate the number of hosts with more than I<percent>
+packets lost, up to a number of 255 failing hosts.
+
+=back
+
+=head1 COLORS
+
+If supported by the terminal, I<noping> will highlight the round-trip times
+(RTT) using the colors green, yellow and red. Green signals RTTs that are in
+the "expected" range, yellow marks moderately unusual times and times that
+differ a lot from the expected value are printed in red.
+
+The information used to categorize round-trip times is the I<percentile>. RTTs
+in the 80th percentile are considered to be "normal" and are printed in green.
+RTTs within the 95th percentile are considered "moderately unusual" and are
+printed in yellow. RTTs above that are considered to be "unusual" and are
+printed in red.
+
+=head1 INTERACTIVE KEYBOARD CONTROLS
+
+When running I<noping>, the type of graph being displayed can be
+changed by using the B<g> key.  A new host can be added at any time
+with the B<a> key.
+
 =head1 SEE ALSO
 
-L<ping(8)>, L<http://www.fping.com/>, L<liboping(3)>
+L<ping(8)>, L<http://fping.org/>, L<liboping(3)>
+
+=head1 LICENSE
+
+I<oping> and I<noping> are licensed under the GPL 2.
+No other version of the license is applicable.
 
 =head1 AUTHOR
 
-liboping is written by Florian octo Forster E<lt>octo at verplant.orgE<gt>.
-It's homepage can be found at L<http://verplant.org/liboping/>.
+liboping is written by Florian "octo" Forster E<lt>ff at octo.itE<gt>.
+Its homepage can be found at L<http://noping.cc/>.
 
-(c) 2005-2009 by Florian octo Forster.
+Copyright (c) 2005-2017 by Florian "octo" Forster.