-.\" Copyright (c) 1985, 1991, 1993\r
-.\" The Regents of the University of California. All rights reserved.\r
-.\"\r
-.\" Redistribution and use in source and binary forms, with or without\r
-.\" modification, are permitted provided that the following conditions\r
-.\" are met:\r
-.\" 1. Redistributions of source code must retain the above copyright\r
-.\" notice, this list of conditions and the following disclaimer.\r
-.\" 2. Redistributions in binary form must reproduce the above copyright\r
-.\" notice, this list of conditions and the following disclaimer in the\r
-.\" documentation and/or other materials provided with the distribution.\r
-.\" 4. Neither the name of the University nor the names of its contributors\r
-.\" may be used to endorse or promote products derived from this software\r
-.\" without specific prior written permission.\r
-.\"\r
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\r
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\r
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
-.\" SUCH DAMAGE.\r
-.\"\r
-.\" @(#)ping.8 8.2 (Berkeley) 12/11/93\r
-.\" $FreeBSD: /repoman/r/ncvs/src/sbin/ping/ping.8,v 1.51 2004/04/09 19:58:34 markm Exp $\r
-.\"\r
-.Dd October 2, 2002\r
-.Dt PING 8\r
-.Os\r
-.Sh NAME\r
-.Nm ping\r
-.Nd send\r
-.Tn ICMP ECHO_REQUEST\r
-packets to network hosts\r
-.Sh SYNOPSIS\r
-.Nm\r
-.Op Fl AaDdfnoQqRrv\r
-.Op Fl c Ar count\r
-.Op Fl i Ar wait\r
-.Op Fl l Ar preload\r
-.Op Fl M Cm mask | time\r
-.Op Fl m Ar ttl\r
-.Op Fl P Ar policy\r
-.Op Fl p Ar pattern\r
-.Op Fl S Ar src_addr\r
-.Op Fl s Ar packetsize\r
-.Op Fl t Ar timeout\r
-.Op Fl z Ar tos\r
-.Ar host\r
-.Nm\r
-.Op Fl AaDdfLnoQqRrv\r
-.Op Fl c Ar count\r
-.Op Fl I Ar iface\r
-.Op Fl i Ar wait\r
-.Op Fl l Ar preload\r
-.Op Fl M Cm mask | time\r
-.Op Fl m Ar ttl\r
-.Op Fl P Ar policy\r
-.Op Fl p Ar pattern\r
-.Op Fl S Ar src_addr\r
-.Op Fl s Ar packetsize\r
-.Op Fl T Ar ttl\r
-.Op Fl t Ar timeout\r
-.Op Fl z Ar tos\r
-.Ar mcast-group\r
-.Sh DESCRIPTION\r
-The\r
-.Nm\r
-utility uses the\r
-.Tn ICMP\r
-.No protocol Ap s mandatory\r
-.Tn ECHO_REQUEST\r
-datagram to elicit an\r
-.Tn ICMP ECHO_RESPONSE\r
-from a host or gateway.\r
-.Tn ECHO_REQUEST\r
-datagrams\r
-.Pq Dq pings\r
-have an IP and\r
-.Tn ICMP\r
-header, followed by a\r
-.Dq struct timeval\r
-and then an arbitrary number of\r
-.Dq pad\r
-bytes used to fill out the packet.\r
-The options are as follows:\r
-.Bl -tag -width indent\r
-.It Fl A\r
-Audible.\r
-Output a bell\r
-.Tn ( ASCII\r
-0x07)\r
-character when no packet is received before the next packet\r
-is transmitted.\r
-To cater for round-trip times that are longer than the interval\r
-between transmissions, further missing packets cause a bell only\r
-if the maximum number of unreceived packets has increased.\r
-.It Fl a\r
-Audible.\r
-Include a bell\r
-.Tn ( ASCII\r
-0x07)\r
-character in the output when any packet is received.\r
-This option is ignored\r
-if other format options are present.\r
-.It Fl c Ar count\r
-Stop after sending\r
-(and receiving)\r
-.Ar count\r
-.Tn ECHO_RESPONSE\r
-packets.\r
-If this option is not specified,\r
-.Nm\r
-will operate until interrupted.\r
-.It Fl D\r
-Set the Don't Fragment bit.\r
-.It Fl d\r
-Set the\r
-.Dv SO_DEBUG\r
-option on the socket being used.\r
-.It Fl f\r
-Flood ping.\r
-Outputs packets as fast as they come back or one hundred times per second,\r
-whichever is more.\r
-For every\r
-.Tn ECHO_REQUEST\r
-sent a period\r
-.Dq .\&\r
-is printed, while for every\r
-.Tn ECHO_REPLY\r
-received a backspace is printed.\r
-This provides a rapid display of how many packets are being dropped.\r
-Only the super-user may use this option.\r
-.Bf -emphasis\r
-This can be very hard on a network and should be used with caution.\r
-.Ef\r
-.It Fl I Ar iface\r
-Source multicast packets with the given interface address.\r
-This flag only applies if the ping destination is a multicast address.\r
-.It Fl i Ar wait\r
-Wait\r
-.Ar wait\r
-seconds\r
-.Em between sending each packet .\r
-The default is to wait for one second between each packet.\r
-The wait time may be fractional, but only the super-user may specify\r
-values less than 1 second.\r
-This option is incompatible with the\r
-.Fl f\r
-option.\r
-.It Fl L\r
-Suppress loopback of multicast packets.\r
-This flag only applies if the ping destination is a multicast address.\r
-.It Fl l Ar preload\r
-If\r
-.Ar preload\r
-is specified,\r
-.Nm\r
-sends that many packets as fast as possible before falling into its normal\r
-mode of behavior.\r
-Only the super-user may use this option.\r
-.It Fl M Cm mask | time\r
-Use\r
-.Dv ICMP_MASKREQ\r
-or\r
-.Dv ICMP_TSTAMP\r
-instead of\r
-.Dv ICMP_ECHO .\r
-For\r
-.Cm mask ,\r
-print the netmask of the remote machine.\r
-Set the\r
-.Va net.inet.icmp.maskrepl\r
-MIB variable to enable\r
-.Dv ICMP_MASKREPLY .\r
-For\r
-.Cm time ,\r
-print the origination, reception and transmission timestamps.\r
-.It Fl m Ar ttl\r
-Set the IP Time To Live for outgoing packets.\r
-If not specified, the kernel uses the value of the\r
-.Va net.inet.ip.ttl\r
-MIB variable.\r
-.It Fl n\r
-Numeric output only.\r
-No attempt will be made to lookup symbolic names for host addresses.\r
-.It Fl o\r
-Exit successfully after receiving one reply packet.\r
-.It Fl P Ar policy\r
-.Ar policy\r
-specifies IPsec policy for the ping session.\r
-For details please refer to\r
-.Xr ipsec 4\r
-and\r
-.Xr ipsec_set_policy 3 .\r
-.It Fl p Ar pattern\r
-You may specify up to 16\r
-.Dq pad\r
-bytes to fill out the packet you send.\r
-This is useful for diagnosing data-dependent problems in a network.\r
-For example,\r
-.Dq Li \-p ff\r
-will cause the sent packet to be filled with all\r
-ones.\r
-.It Fl Q\r
-Somewhat quiet output.\r
-.No Don Ap t\r
-display ICMP error messages that are in response to our query messages.\r
-Originally, the\r
-.Fl v\r
-flag was required to display such errors, but\r
-.Fl v\r
-displays all ICMP error messages.\r
-On a busy machine, this output can be overbearing.\r
-Without the\r
-.Fl Q\r
-flag,\r
-.Nm\r
-prints out any ICMP error messages caused by its own ECHO_REQUEST\r
-messages.\r
-.It Fl q\r
-Quiet output.\r
-Nothing is displayed except the summary lines at startup time and\r
-when finished.\r
-.It Fl R\r
-Record route.\r
-Includes the\r
-.Tn RECORD_ROUTE\r
-option in the\r
-.Tn ECHO_REQUEST\r
-packet and displays\r
-the route buffer on returned packets.\r
-Note that the IP header is only large enough for nine such routes;\r
-the\r
-.Xr traceroute 8\r
-command is usually better at determining the route packets take to a\r
-particular destination.\r
-If more routes come back than should, such as due to an illegal spoofed\r
-packet, ping will print the route list and then truncate it at the correct\r
-spot.\r
-Many hosts ignore or discard the\r
-.Tn RECORD_ROUTE\r
-option.\r
-.It Fl r\r
-Bypass the normal routing tables and send directly to a host on an attached\r
-network.\r
-If the host is not on a directly-attached network, an error is returned.\r
-This option can be used to ping a local host through an interface\r
-that has no route through it\r
-(e.g., after the interface was dropped by\r
-.Xr routed 8 ) .\r
-.It Fl S Ar src_addr\r
-Use the following IP address as the source address in outgoing packets.\r
-On hosts with more than one IP address, this option can be used to\r
-force the source address to be something other than the IP address\r
-of the interface the probe packet is sent on.\r
-If the IP address\r
-is not one of this machine's interface addresses, an error is\r
-returned and nothing is sent.\r
-.It Fl s Ar packetsize\r
-Specify the number of data bytes to be sent.\r
-The default is 56, which translates into 64\r
-.Tn ICMP\r
-data bytes when combined\r
-with the 8 bytes of\r
-.Tn ICMP\r
-header data.\r
-.It Fl T Ar ttl\r
-Set the IP Time To Live for multicasted packets.\r
-This flag only applies if the ping destination is a multicast address.\r
-.It Fl t Ar timeout\r
-Specify a timeout, in seconds, before ping exits regardless of how\r
-many packets have been received.\r
-.It Fl v\r
-Verbose output.\r
-.Tn ICMP\r
-packets other than\r
-.Tn ECHO_RESPONSE\r
-that are received are listed.\r
-.It Fl z Ar tos\r
-Use the specified type of service.\r
-.El\r
-.Pp\r
-When using\r
-.Nm\r
-for fault isolation, it should first be run on the local host, to verify\r
-that the local network interface is up and running.\r
-Then, hosts and gateways further and further away should be\r
-.Dq pinged .\r
-Round-trip times and packet loss statistics are computed.\r
-If duplicate packets are received, they are not included in the packet\r
-loss calculation, although the round trip time of these packets is used\r
-in calculating the round-trip time statistics.\r
-When the specified number of packets have been sent\r
-(and received)\r
-or if the program is terminated with a\r
-.Dv SIGINT ,\r
-a brief summary is displayed, showing the number of packets sent and\r
-received, and the minimum, mean, maximum, and standard deviation of\r
-the round-trip times.\r
-.Pp\r
-If\r
-.Nm\r
-receives a\r
-.Dv SIGINFO\r
-(see the\r
-.Cm status\r
-argument for\r
-.Xr stty 1 )\r
-signal, the current number of packets sent and received, and the\r
-minimum, mean, and maximum of the round-trip times will be written to\r
-the standard error output.\r
-.Pp\r
-This program is intended for use in network testing, measurement and\r
-management.\r
-Because of the load it can impose on the network, it is unwise to use\r
-.Nm\r
-during normal operations or from automated scripts.\r
-.Sh ICMP PACKET DETAILS\r
-An IP header without options is 20 bytes.\r
-An\r
-.Tn ICMP\r
-.Tn ECHO_REQUEST\r
-packet contains an additional 8 bytes worth of\r
-.Tn ICMP\r
-header followed by an arbitrary amount of data.\r
-When a\r
-.Ar packetsize\r
-is given, this indicated the size of this extra piece of data\r
-(the default is 56).\r
-Thus the amount of data received inside of an IP packet of type\r
-.Tn ICMP\r
-.Tn ECHO_REPLY\r
-will always be 8 bytes more than the requested data space\r
-(the\r
-.Tn ICMP\r
-header).\r
-.Pp\r
-If the data space is at least eight bytes large,\r
-.Nm\r
-uses the first eight bytes of this space to include a timestamp which\r
-it uses in the computation of round trip times.\r
-If less than eight bytes of pad are specified, no round trip times are\r
-given.\r
-.Sh DUPLICATE AND DAMAGED PACKETS\r
-The\r
-.Nm\r
-utility will report duplicate and damaged packets.\r
-Duplicate packets should never occur when pinging a unicast address,\r
-and seem to be caused by\r
-inappropriate link-level retransmissions.\r
-Duplicates may occur in many situations and are rarely\r
-(if ever)\r
-a good sign, although the presence of low levels of duplicates may not\r
-always be cause for alarm.\r
-Duplicates are expected when pinging a broadcast or multicast address,\r
-since they are not really duplicates but replies from different hosts\r
-to the same request.\r
-.Pp\r
-Damaged packets are obviously serious cause for alarm and often\r
-indicate broken hardware somewhere in the\r
-.Nm\r
-packet's path (in the network or in the hosts).\r
-.Sh TRYING DIFFERENT DATA PATTERNS\r
-The\r
-(inter)network\r
-layer should never treat packets differently depending on the data\r
-contained in the data portion.\r
-Unfortunately, data-dependent problems have been known to sneak into\r
-networks and remain undetected for long periods of time.\r
-In many cases the particular pattern that will have problems is something\r
-that does not have sufficient\r
-.Dq transitions ,\r
-such as all ones or all zeros, or a pattern right at the edge, such as\r
-almost all zeros.\r
-It is not\r
-necessarily enough to specify a data pattern of all zeros (for example)\r
-on the command line because the pattern that is of interest is\r
-at the data link level, and the relationship between what you type and\r
-what the controllers transmit can be complicated.\r
-.Pp\r
-This means that if you have a data-dependent problem you will probably\r
-have to do a lot of testing to find it.\r
-If you are lucky, you may manage to find a file that either\r
-cannot\r
-be sent across your network or that takes much longer to transfer than\r
-other similar length files.\r
-You can then examine this file for repeated patterns that you can test\r
-using the\r
-.Fl p\r
-option of\r
-.Nm .\r
-.Sh TTL DETAILS\r
-The\r
-.Tn TTL\r
-value of an IP packet represents the maximum number of IP routers\r
-that the packet can go through before being thrown away.\r
-In current practice you can expect each router in the Internet to decrement\r
-the\r
-.Tn TTL\r
-field by exactly one.\r
-.Pp\r
-The\r
-.Tn TCP/IP\r
-specification recommends setting the\r
-.Tn TTL\r
-field for\r
-.Tn IP\r
-packets to 64, but many systems use smaller values\r
-.No ( Bx 4.3\r
-uses 30,\r
-.Bx 4.2\r
-used 15).\r
-.Pp\r
-The maximum possible value of this field is 255, and most\r
-.Ux\r
-systems set\r
-the\r
-.Tn TTL\r
-field of\r
-.Tn ICMP ECHO_REQUEST\r
-packets to 255.\r
-This is why you will find you can\r
-.Dq ping\r
-some hosts, but not reach them with\r
-.Xr telnet 1\r
-or\r
-.Xr ftp 1 .\r
-.Pp\r
-In normal operation\r
-.Nm\r
-prints the ttl value from the packet it receives.\r
-When a remote system receives a ping packet, it can do one of three things\r
-with the\r
-.Tn TTL\r
-field in its response:\r
-.Bl -bullet\r
-.It\r
-Not change it; this is what\r
-.Bx\r
-systems did before the\r
-.Bx 4.3 tahoe\r
-release.\r
-In this case the\r
-.Tn TTL\r
-value in the received packet will be 255 minus the\r
-number of routers in the round-trip path.\r
-.It\r
-Set it to 255; this is what current\r
-.Bx\r
-systems do.\r
-In this case the\r
-.Tn TTL\r
-value in the received packet will be 255 minus the\r
-number of routers in the path\r
-.Em from\r
-the remote system\r
-.Em to\r
-the\r
-.Nm Ns Em ing\r
-host.\r
-.It\r
-Set it to some other value.\r
-Some machines use the same value for\r
-.Tn ICMP\r
-packets that they use for\r
-.Tn TCP\r
-packets, for example either 30 or 60.\r
-Others may use completely wild values.\r
-.El\r
-.Sh RETURN VALUES\r
-The\r
-.Nm\r
-utility returns an exit status of zero if at least one response was\r
-heard from the specified\r
-.Ar host ;\r
-a status of two if the transmission was successful but no responses\r
-were received; or another value\r
-(from\r
-.In sysexits.h )\r
-if an error occurred.\r
-.Sh SEE ALSO\r
-.Xr netstat 1 ,\r
-.Xr ifconfig 8 ,\r
-.Xr routed 8 ,\r
-.Xr traceroute 8\r
-.Sh HISTORY\r
-The\r
-.Nm\r
-utility appeared in\r
-.Bx 4.3 .\r
-.Sh AUTHORS\r
-The original\r
-.Nm\r
-utility was written by\r
-.An Mike Muuss\r
-while at the US Army Ballistics\r
-Research Laboratory.\r
-.Sh BUGS\r
-Many Hosts and Gateways ignore the\r
-.Tn RECORD_ROUTE\r
-option.\r
-.Pp\r
-The maximum IP header length is too small for options like\r
-.Tn RECORD_ROUTE\r
-to be completely useful.\r
-.No There Ap s\r
-not much that can be done about this, however.\r
-.Pp\r
-Flood pinging is not recommended in general, and flood pinging the\r
-broadcast address should only be done under very controlled conditions.\r
-.Pp\r
-The\r
-.Fl v\r
-option is not worth much on busy hosts.\r
+.\" Copyright (c) 1985, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)ping.8 8.2 (Berkeley) 12/11/93
+.\" $FreeBSD: src/sbin/ping/ping.8,v 1.51.8.2 2006/08/10 10:48:21 glebius Exp $
+.\"
+.Dd April 4, 2006
+.Dt PING 8
+.Os
+.Sh NAME
+.Nm ping
+.Nd send
+.Tn ICMP ECHO_REQUEST
+packets to network hosts
+.Sh SYNOPSIS
+.Nm
+.Op Fl AaDdfnoQqRrv
+.Op Fl b Ar boundif
+.Op Fl c Ar count
+.Op Fl G Ar sweepmaxsize
+.Op Fl g Ar sweepminsize
+.Op Fl h Ar sweepincrsize
+.Op Fl i Ar wait
+.Op Fl l Ar preload
+.Op Fl M Cm mask | time
+.Op Fl m Ar ttl
+.Op Fl P Ar policy
+.Op Fl p Ar pattern
+.Op Fl S Ar src_addr
+.Op Fl s Ar packetsize
+.Op Fl t Ar timeout
+.Op Fl W Ar waittime
+.Op Fl z Ar tos
+.Ar host
+.Nm
+.Op Fl AaDdfLnoQqRrv
+.Op Fl b Ar boundif
+.Op Fl c Ar count
+.Op Fl I Ar iface
+.Op Fl i Ar wait
+.Op Fl l Ar preload
+.Op Fl M Cm mask | time
+.Op Fl m Ar ttl
+.Op Fl P Ar policy
+.Op Fl p Ar pattern
+.Op Fl S Ar src_addr
+.Op Fl s Ar packetsize
+.Op Fl T Ar ttl
+.Op Fl t Ar timeout
+.Op Fl W Ar waittime
+.Op Fl z Ar tos
+.Ar mcast-group
+.Sh DESCRIPTION
+The
+.Nm
+utility uses the
+.Tn ICMP
+.No protocol Ap s mandatory
+.Tn ECHO_REQUEST
+datagram to elicit an
+.Tn ICMP ECHO_RESPONSE
+from a host or gateway.
+.Tn ECHO_REQUEST
+datagrams
+.Pq Dq pings
+have an IP and
+.Tn ICMP
+header, followed by a
+.Dq struct timeval
+and then an arbitrary number of
+.Dq pad
+bytes used to fill out the packet.
+The options are as follows:
+.Bl -tag -width indent
+.It Fl A
+Audible.
+Output a bell
+.Tn ( ASCII
+0x07)
+character when no packet is received before the next packet
+is transmitted.
+To cater for round-trip times that are longer than the interval
+between transmissions, further missing packets cause a bell only
+if the maximum number of unreceived packets has increased.
+.It Fl a
+Audible.
+Include a bell
+.Tn ( ASCII
+0x07)
+character in the output when any packet is received.
+This option is ignored
+if other format options are present.
+.It Fl b Ar boundif
+Bind the socket to interface
+.Ar boundif
+for sending.
+.It Fl c Ar count
+Stop after sending
+(and receiving)
+.Ar count
+.Tn ECHO_RESPONSE
+packets.
+If this option is not specified,
+.Nm
+will operate until interrupted.
+If this option is specified in conjunction with ping sweeps,
+each sweep will consist of
+.Ar count
+packets.
+.It Fl D
+Set the Don't Fragment bit.
+.It Fl d
+Set the
+.Dv SO_DEBUG
+option on the socket being used.
+.It Fl f
+Flood ping.
+Outputs packets as fast as they come back or one hundred times per second,
+whichever is more.
+For every
+.Tn ECHO_REQUEST
+sent a period
+.Dq .\&
+is printed, while for every
+.Tn ECHO_REPLY
+received a backspace is printed.
+This provides a rapid display of how many packets are being dropped.
+Only the super-user may use this option.
+.Bf -emphasis
+This can be very hard on a network and should be used with caution.
+.Ef
+.It Fl G Ar sweepmaxsize
+Specify the maximum size of
+.Tn ICMP
+payload when sending sweeping pings.
+This option is required for ping sweeps.
+.It Fl g Ar sweepminsize
+Specify the size of
+.Tn ICMP
+payload to start with when sending sweeping pings.
+The default value is 0.
+.It Fl h Ar sweepincrsize
+Specify the number of bytes to increment the size of
+.Tn ICMP
+payload after
+each sweep when sending sweeping pings. The default value is 1.
+.It Fl I Ar iface
+Source multicast packets with the given interface address.
+This flag only applies if the ping destination is a multicast address.
+.It Fl i Ar wait
+Wait
+.Ar wait
+seconds
+.Em between sending each packet .
+The default is to wait for one second between each packet.
+The wait time may be fractional, but only the super-user may specify
+values less than 1 second.
+This option is incompatible with the
+.Fl f
+option.
+.It Fl L
+Suppress loopback of multicast packets.
+This flag only applies if the ping destination is a multicast address.
+.It Fl l Ar preload
+If
+.Ar preload
+is specified,
+.Nm
+sends that many packets as fast as possible before falling into its normal
+mode of behavior.
+Only the super-user may use this option.
+.It Fl M Cm mask | time
+Use
+.Dv ICMP_MASKREQ
+or
+.Dv ICMP_TSTAMP
+instead of
+.Dv ICMP_ECHO .
+For
+.Cm mask ,
+print the netmask of the remote machine.
+Set the
+.Va net.inet.icmp.maskrepl
+MIB variable to enable
+.Dv ICMP_MASKREPLY .
+For
+.Cm time ,
+print the origination, reception and transmission timestamps.
+.It Fl m Ar ttl
+Set the IP Time To Live for outgoing packets.
+If not specified, the kernel uses the value of the
+.Va net.inet.ip.ttl
+MIB variable.
+.It Fl n
+Numeric output only.
+No attempt will be made to lookup symbolic names for host addresses.
+.It Fl o
+Exit successfully after receiving one reply packet.
+.It Fl P Ar policy
+.Ar policy
+specifies IPsec policy for the ping session.
+For details please refer to
+.Xr ipsec 4
+and
+.Xr ipsec_set_policy 3 .
+.It Fl p Ar pattern
+You may specify up to 16
+.Dq pad
+bytes to fill out the packet you send.
+This is useful for diagnosing data-dependent problems in a network.
+For example,
+.Dq Li \-p ff
+will cause the sent packet to be filled with all
+ones.
+.It Fl Q
+Somewhat quiet output.
+.No Don Ap t
+display ICMP error messages that are in response to our query messages.
+Originally, the
+.Fl v
+flag was required to display such errors, but
+.Fl v
+displays all ICMP error messages.
+On a busy machine, this output can be overbearing.
+Without the
+.Fl Q
+flag,
+.Nm
+prints out any ICMP error messages caused by its own ECHO_REQUEST
+messages.
+.It Fl q
+Quiet output.
+Nothing is displayed except the summary lines at startup time and
+when finished.
+.It Fl R
+Record route.
+Includes the
+.Tn RECORD_ROUTE
+option in the
+.Tn ECHO_REQUEST
+packet and displays
+the route buffer on returned packets.
+Note that the IP header is only large enough for nine such routes;
+the
+.Xr traceroute 8
+command is usually better at determining the route packets take to a
+particular destination.
+If more routes come back than should, such as due to an illegal spoofed
+packet, ping will print the route list and then truncate it at the correct
+spot.
+Many hosts ignore or discard the
+.Tn RECORD_ROUTE
+option.
+.It Fl 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
+.Xr routed 8 ) .
+.It Fl S Ar src_addr
+Use the following IP address as the source address in outgoing packets.
+On hosts with more than one IP address, this option can be used to
+force the source address to be something other than the IP address
+of the interface the probe packet is sent on.
+If the IP address
+is not one of this machine's interface addresses, an error is
+returned and nothing is sent.
+.It Fl s Ar packetsize
+Specify the number of data bytes to be sent.
+The default is 56, which translates into 64
+.Tn ICMP
+data bytes when combined
+with the 8 bytes of
+.Tn ICMP
+header data.
+This option cannot be used with ping sweeps.
+.It Fl T Ar ttl
+Set the IP Time To Live for multicasted packets.
+This flag only applies if the ping destination is a multicast address.
+.It Fl t Ar timeout
+Specify a timeout, in seconds, before ping exits regardless of how
+many packets have been received.
+.It Fl v
+Verbose output.
+.Tn ICMP
+packets other than
+.Tn ECHO_RESPONSE
+that are received are listed.
+.It Fl W Ar waittime
+Time in milliseconds to wait for a reply for each packet sent.
+If a reply arrives later, the packet is not printed as replied, but
+considered as replied when calculating statistics.
+.It Fl z Ar tos
+Use the specified type of service.
+.El
+.Pp
+When using
+.Nm
+for fault isolation, it should first be run on the local host, to verify
+that the local network interface is up and running.
+Then, hosts and gateways further and further away should be
+.Dq pinged .
+Round-trip times and packet loss statistics are computed.
+If duplicate packets are received, they are not included in the packet
+loss calculation, although the round trip time of these packets is used
+in calculating the round-trip time statistics.
+When the specified number of packets have been sent
+(and received)
+or if the program is terminated with a
+.Dv SIGINT ,
+a brief summary is displayed, showing the number of packets sent and
+received, and the minimum, mean, maximum, and standard deviation of
+the round-trip times.
+.Pp
+If
+.Nm
+receives a
+.Dv SIGINFO
+(see the
+.Cm status
+argument for
+.Xr stty 1 )
+signal, the current number of packets sent and received, and the
+minimum, mean, and maximum of the round-trip times will be written to
+the standard error output.
+.Pp
+This program is intended for use in network testing, measurement and
+management.
+Because of the load it can impose on the network, it is unwise to use
+.Nm
+during normal operations or from automated scripts.
+.Sh ICMP PACKET DETAILS
+An IP header without options is 20 bytes.
+An
+.Tn ICMP
+.Tn ECHO_REQUEST
+packet contains an additional 8 bytes worth of
+.Tn ICMP
+header followed by an arbitrary amount of data.
+When a
+.Ar packetsize
+is given, this indicated the size of this extra piece of data
+(the default is 56).
+Thus the amount of data received inside of an IP packet of type
+.Tn ICMP
+.Tn ECHO_REPLY
+will always be 8 bytes more than the requested data space
+(the
+.Tn ICMP
+header).
+.Pp
+If the data space is at least eight bytes large,
+.Nm
+uses the first eight bytes of this space to include a timestamp which
+it uses in the computation of round trip times.
+If less than eight bytes of pad are specified, no round trip times are
+given.
+.Sh DUPLICATE AND DAMAGED PACKETS
+The
+.Nm
+utility will report duplicate and damaged packets.
+Duplicate packets should never occur when pinging a unicast address,
+and seem to be caused by
+inappropriate link-level retransmissions.
+Duplicates may occur in many situations and are rarely
+(if ever)
+a good sign, although the presence of low levels of duplicates may not
+always be cause for alarm.
+Duplicates are expected when pinging a broadcast or multicast address,
+since they are not really duplicates but replies from different hosts
+to the same request.
+.Pp
+Damaged packets are obviously serious cause for alarm and often
+indicate broken hardware somewhere in the
+.Nm
+packet's path (in the network or in the hosts).
+.Sh TRYING DIFFERENT DATA PATTERNS
+The
+(inter)network
+layer should never treat packets differently depending on the data
+contained in the data portion.
+Unfortunately, data-dependent problems have been known to sneak into
+networks and remain undetected for long periods of time.
+In many cases the particular pattern that will have problems is something
+that does not have sufficient
+.Dq transitions ,
+such as all ones or all zeros, or a pattern right at the edge, such as
+almost all zeros.
+It is not
+necessarily enough to specify a data pattern of all zeros (for example)
+on the command line because the pattern that is of interest is
+at the data link level, and the relationship between what you type and
+what the controllers transmit can be complicated.
+.Pp
+This means that if you have a data-dependent problem you will probably
+have to do a lot of testing to find it.
+If you are lucky, you may manage to find a file that either
+cannot
+be sent across your network or that takes much longer to transfer than
+other similar length files.
+You can then examine this file for repeated patterns that you can test
+using the
+.Fl p
+option of
+.Nm .
+.Sh TTL DETAILS
+The
+.Tn TTL
+value of an IP packet represents the maximum number of IP routers
+that the packet can go through before being thrown away.
+In current practice you can expect each router in the Internet to decrement
+the
+.Tn TTL
+field by exactly one.
+.Pp
+The
+.Tn TCP/IP
+specification recommends setting the
+.Tn TTL
+field for
+.Tn IP
+packets to 64, but many systems use smaller values
+.No ( Bx 4.3
+uses 30,
+.Bx 4.2
+used 15).
+.Pp
+The maximum possible value of this field is 255, and most
+.Ux
+systems set
+the
+.Tn TTL
+field of
+.Tn ICMP ECHO_REQUEST
+packets to 255.
+This is why you will find you can
+.Dq ping
+some hosts, but not reach them with
+.Xr telnet 1
+or
+.Xr ftp 1 .
+.Pp
+In normal operation
+.Nm
+prints the ttl value from the packet it receives.
+When a remote system receives a ping packet, it can do one of three things
+with the
+.Tn TTL
+field in its response:
+.Bl -bullet
+.It
+Not change it; this is what
+.Bx
+systems did before the
+.Bx 4.3 tahoe
+release.
+In this case the
+.Tn TTL
+value in the received packet will be 255 minus the
+number of routers in the round-trip path.
+.It
+Set it to 255; this is what current
+.Bx
+systems do.
+In this case the
+.Tn TTL
+value in the received packet will be 255 minus the
+number of routers in the path
+.Em from
+the remote system
+.Em to
+the
+.Nm Ns Em ing
+host.
+.It
+Set it to some other value.
+Some machines use the same value for
+.Tn ICMP
+packets that they use for
+.Tn TCP
+packets, for example either 30 or 60.
+Others may use completely wild values.
+.El
+.Sh RETURN VALUES
+The
+.Nm
+utility returns an exit status of zero if at least one response was
+heard from the specified
+.Ar host ;
+a status of two if the transmission was successful but no responses
+were received; or another value
+(from
+.In sysexits.h )
+if an error occurred.
+.Sh SEE ALSO
+.Xr netstat 1 ,
+.Xr ifconfig 8 ,
+.Xr routed 8 ,
+.Xr traceroute 8
+.Sh HISTORY
+The
+.Nm
+utility appeared in
+.Bx 4.3 .
+.Sh AUTHORS
+The original
+.Nm
+utility was written by
+.An Mike Muuss
+while at the US Army Ballistics
+Research Laboratory.
+.Sh BUGS
+Many Hosts and Gateways ignore the
+.Tn RECORD_ROUTE
+option.
+.Pp
+The maximum IP header length is too small for options like
+.Tn RECORD_ROUTE
+to be completely useful.
+.No There Ap s
+not much that can be done about this, however.
+.Pp
+Flood pinging is not recommended in general, and flood pinging the
+broadcast address should only be done under very controlled conditions.
+.Pp
+The
+.Fl v
+option is not worth much on busy hosts.