DragonFly On-Line Manual Pages
MPING(8) DragonFly System Manager's Manual MPING(8)
NAME
mping - send ICMP ECHO_REQUEST packets to multiple network hosts in a
round-robbin fashion. Mping support both IPv4 and IPv6 adresses at the
same time.
SYNOPSIS
mping [ -rqvpmfn46a] [ -c count] [ -i interval] [ -s packetsize] [ -w
waittime] hosts...
DESCRIPTION
The DARPA Internet is a large and complex aggregation of network
hardware, connected together by gateways. Tracking a single-point
hardware or software failure can often be difficult. Mping utilizes
the ICMP protocol's mandatory ECHO_REQUEST datagram to elicit an ICMP
ECHO_RESPONSE from hosts and gateways. ECHO_REQUEST datagrams
(``pings'') have an IP and ICMP header, followed by a struct timeval,
and then an arbitrary number of ``pad'' bytes used to fill out the
packet. Default datagram length is 64 bytes, but this may be changed
using the command-line option.
Mping sends one datagram per second, and prints one line of output for
every ECHO_RESPONSE returned. No output is produced if there is no
response. If an optional count is given, only that number of requests
is sent to each host. Round-trip times and packet loss statistics are
computed. When all responses have been received or the program times
out (with a count specified), or if the program is terminated with a
SIGINT, a brief summary is displayed.
OPTIONS
-r Bypass the normal routing tables and send directly to a host on
an attached network. If the host is not on a directly-attached
network, an error is returned. This option can be used to ping
a local host through an interface that has no route through it
(e.g., after the interface was dropped by routed(8C)).
-q Quiet output. Nothing is displayed except the summary line on
termination.
-v Verbose output. ICMP packets other than ECHO RESPONSE that are
received are listed.
-p Packed output. Redundant text is removed, to save diskspace when
large amount of output is to be saved to disk.
-m Print out median instead of max.
-f Print out 10/50/90-percentile instead of min/avg/max.
-n Don't look up ip-numbers. Without this option, mping will try to
look up ip-numbers given as output, and translate them to
hostnames.
-4 Prefer IPv4 adress on multiple DNS hits.
-6 Prefer IPv6 adress on multiple DNS hits.
-a Automatically scale SI time units (sec/msec/usec). Note that
this has no effect if used together with -p, as this will make
mping default to using msec.
-c count
Number of packets to send to each host.
-i interval
Time (in msec) to wait between each packet is sent out. The
packets are sent out in a Round Robin fasion, so when a packet
is sent to the last host, the next packet to the first host is
sent waittime msec after. The default setting is 10 packets per
second.
-s packetsize
Size of the data space of the ICMP packet (-8 bytes).
-w waittime
Time (in msec) to wait before a packet time-out and is reported
as lost (This option is not implemented yet).
RESOURCES
This program is intended for use in network testing, measurement and
management. It should be used with care not to overload the network or
the host it's running on.
DETAILS
An IP header without options is 20 bytes. An ICMP ECHO_REQUEST packet
contains an additional 8 bytes worth of ICMP header followed by an
arbitrary amount of data. When a packetsize is given, this indicate
the size of this extra blob of data (the default is 56). Thus the
amount of data received inside of an IP packet of type ICMP ECHO_REPLY
will always be 8 bytes more than the requested data space (the ICMP
header).
If the data space is at least eight bytes large, ping uses the first
eight bytes of this space to include a timestamp which it uses in the
computation of round trip times. This explains why if less than eight
bytes of pad are requested, no round trip times are given.
BUGS
If using mping on an IPv6 network, you will need a kernel which support
automatic packet checksum generation for IPv6. For GNU/Linux this means
a fairly new kernel is needed, namely >= 2.4.19.
Mping need to be setuid and owned by root to be executed by
unpriviledged users. Please consider the security issues involved if
you decide to do this.
The program is developed under GNU/Linux, and tested to work on
GNU/Linux, NetBSD and FreeBSD. Mping will probably work on most *NIX
platforms, but feedback is appreciated.
HISTORY AND AUTHORS
Mping-1.0 originally written by Vegard Engen for UNINETT in 1996, based
heavily on ping(8) by Mike Muus. Mping-1.0 was developed on SunOS.
Mping-1.3 was a bugfix version written by Frank Aune for UNINETT in
2002. Mping-1.3 was developed on GNU/Linux and designed to run on
NetBSD.
Mping-2.0 is a rewrite of Mping-1.0 and Mping-1.3 and was written by
Frank Aune and Stig Venaas for UNINETT in 2003. Mping-2.0 is based on
ping(8) and ping6(8) from the UNIX iputils package. Mping-2.0 is
developed on GNU/Linux and NetBSD, and is designed to run on both
platforms.
SEE ALSO
ping(8), ping6(8), netstat(1), ifconfig(8C)
AVAILABILITY
Mping is available from http://mping.uninett.no, where you can see how
we utilize this simple tool in our network services.
September 1, 2003 MPING(8)