SYNOPSIS

       ping [ -LRUbdfnqrvVaAB]  [ -c count]  [ -i interval]  [ -l
       preload]  [ -p pattern]  [ -s packetsize]  [ -t ttl]  [ -w
       deadline]  [ -F flowlabel]  [ -I interface]  [ -M hint]  [
       -Q tos]  [ -S sndbuf]  [ -T timestamp option]  [ -W  time­
       out]  [ hop ...]  destination



DESCRIPTION

       ping uses the ICMP protocol's mandatory ECHO_REQUEST data­
       gram to elicit an ICMP ECHO_RESPONSE from a host or  gate­
       way.   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.


OPTIONS

       -a     Audible ping.

       -A     Adaptive  ping.  Interpacket  interval  adapts   to
              round-trip  time, so that effectively not more than
              one (or more, if preload is set) unanswered  probes
              present in the network. Minimal interval is 200msec
              for not super-user.  On networks with low rtt  this
              mode is essentially equivalent to flood mode.

       -b     Allow pinging a broadcast address.

       -B     Do  not  allow  ping  to  change  source address of
              probes.  The address is bound to one selected  when
              ping starts.

       -c count
              Stop after sending count ECHO_REQUEST packets. With
              deadline option, ping waits  for  count  ECHO_REPLY
              packets, until the timeout expires.

       -d     Set  the  SO_DEBUG option on the socket being used.
              Essentially, this socket  option  is  not  used  by
              Linux kernel.

       -F flow label
              Allocate  and set 20 bit flow label on echo request
              packets.  (Only ping6). If value  is  zero,  kernel
              allocates random flow label.

       -f     Flood  ping.  For  every ECHO_REQUEST sent a period
              ``.''  is  printed,  while  for   ever   ECHO_REPLY
              received  a  backspace is printed.  This provides a
              rapid  display  of  how  many  packets  are   being
              dropped.   If interval is not given, it sets inter­
              val to zero and outputs packets  as  fast  as  they
              device.  When  pinging IPv6 link-local address this
              option is required.

       -l preload
              If preload is specified, ping sends that many pack­
              ets not waiting for reply.  Only the super-user may
              select preload more than 3.

       -L     Suppress loopback of multicast packets.  This  flag
              only applies if the ping destination is a multicast
              address.

       -n     Numeric output only.  No attempt will  be  made  to
              lookup symbolic names for host addresses.

       -p pattern
              You  may specify up to 16 ``pad'' bytes to fill out
              the packet you send.  This is useful for diagnosing
              data-dependent problems in a network.  For example,
              -p ff will cause the sent packet to be filled  with
              all ones.

       -Q tos Set  Quality of Service -related bits in ICMP data­
              grams.  tos can be either decimal  or  hex  number.
              Traditionally  (RFC1349),  these  have  been inter­
              preted as: 0 for reserved  (currently  being  rede­
              fined  as congestion control), 1-4 for Type of Ser­
              vice and 5-7 for Precedence.  Possible settings for
              Type  of Service are: minimal cost: 0x02, reliabil­
              ity: 0x04, throughput: 0x08, low delay: 0x10.  Mul­
              tiple  TOS  bits  should not be set simultaneously.
              Possible settings for special Precedence range from
              priority (0x20) to net control (0xe0).  You must be
              root (CAP_NET_ADMIN capability) to use Critical  or
              higher  precedence  value.  You cannot set bit 0x01
              (reserved) unless ECN has been enabled in the  ker­
              nel.   In  RFC2474, these fields has been redefined
              as 8-bit Differentiated Services  (DS),  consisting
              of:  bits  0-1  of separate data (ECN will be used,
              here), and  bits  2-7  of  Differentiated  Services
              Codepoint (DSCP).

       -q     Quiet output.  Nothing is displayed except the sum­
              mary lines at startup time and when finished.

       -R     Record route. (IPv4 only) Includes the RECORD_ROUTE
              option  in the ECHO_REQUEST packet and displays the
              route buffer on returned packets.  Note that the IP
              header  is  only large enough for nine such routes.
              Many hosts ignore or discard this option.

       -r     Bypass the normal routing tables and send  directly
              to buffer not more than one packet.

       -t ttl Set the IP Time to Live.

       -T timestamp option
              Set special IP timestamp options.  timestamp option
              may be either tsonly (only  timestamps),  tsandaddr
              (timestamps   and  addresses)  or  tsprespec  host1
              [host2  [host3  [host4]]]  (timestamp  prespecified
              hops).

       -M hint
              Select  Path  MTU  Discovery strategy.  hint may be
              either do (prohibit fragmentation, even local one),
              want  (do  PMTU  discovery,  fragment  locally when
              packet size is large),  or  dont  (do  not  set  DF
              flag).

       -U     Print    full   user-to-user   latency   (the   old
              behaviour). Normally ping prints network round trip
              time,  which can be different f.e. due to DNS fail­
              ures.

       -v     Verbose output.

       -V     Show version and exit.

       -w deadline
              Specify a timeout, in seconds,  before  ping  exits
              regardless  of  how  many packets have been sent or
              received. In this case ping  does  not  stop  after
              count packet are sent, it waits either for deadline
              expire or until count probes are  answered  or  for
              some error notification from network.

       -W timeout
              Time to wait for a response, in seconds. The option
              affects only timeout in absense of  any  responses,
              otherwise ping waits for two RTTs.

       When  using  ping  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 fur­
       ther and further away  should  be  ``pinged''.  Round-trip
       times  and packet loss statistics are computed.  If dupli­
       cate 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  minimum/aver­
       age/maximum  round-trip  time numbers.  When the specified
       number of packets have been sent (and received) or if  the
       program  is  terminated  with a SIGINT, a brief summary is
       displayed. Shorter  current  statistics  can  be  obtained


ICMP PACKET 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 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
       ICMP ECHO_REPLY will always  be  8  bytes  more  than  the
       requested data space (the ICMP header).

       If  the  data  space is at least of size of struct timeval
       ping uses the beginning bytes of this space to  include  a
       timestamp  which  it uses in the computation of round trip
       times.  If the data space is shorter, no round trip  times
       are given.


DUPLICATE AND DAMAGED PACKETS

       ping will report duplicate and damaged packets.  Duplicate
       packets should never occur, and seem to be caused by inap­
       propriate   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.

       Damaged packets are obviously serious cause for alarm  and
       often  indicate  broken  hardware  somewhere  in  the ping
       packet's path (in the network or in the hosts).


TRYING DIFFERENT DATA PATTERNS

       The (inter)network layer should never treat  packets  dif­
       ferently  depending on the data contained in the data por­
       tion.  Unfortunately, data-dependent  problems  have  been
       known  to  sneak  into  networks and remain undetected for
       long periods of time.  In many cases the  particular  pat­
       tern  that  will  have  problems is something that doesn't
       have sufficient ``transitions'', such as all ones  or  all
       zeros,  or a pattern right at the edge, such as almost all
       zeros.  It isn't necessarily enough to specify a data pat­
       tern  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.

       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
       can't  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 -p option of ping.

       some hosts, but not reach them with telnet(1) or ftp(1).

       In  normal  operation  ping  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 TTL field
       in its response:

       · Not change it; this is what Berkeley  Unix  systems  did
         before  the  4.3BSD  Tahoe release. In this case the TTL
         value in the received packet will be 255 minus the  num­
         ber of routers in the round-trip path.

       · Set  it  to 255; this is what current Berkeley Unix sys­
         tems do.  In this case the TTL  value  in  the  received
         packet  will  be  255 minus the number of routers in the
         path from the remote system to the pinging host.

       · Set it to some other value. Some machines use  the  same
         value  for  ICMP  packets that they use for TCP packets,
         for example either 30 or 60.  Others may use  completely
         wild values.


BUGS

       · Many  Hosts and Gateways ignore the RECORD_ROUTE option.

       · The maximum IP header length is too  small  for  options
         like  RECORD_ROUTE to be completely useful.  There's not
         much that that can be done about this, however.

       · Flood pinging is not recommended in general,  and  flood
         pinging  the broadcast address should only be done under
         very controlled conditions.


SEE ALSO

       netstat(1), ifconfig(8).


HISTORY

       The ping command appeared in 4.3BSD.

       The version described here is its descendant  specific  to
       Linux.


SECURITY

       ping  requires CAP_NET_RAWIO capability to be executed. It
       may be used as set-uid root.


AVAILABILITY

       ping is part of iputils package and  the  latest  versions
       are    available   in   source   form  for  anonymous  ftp
       ftp://ftp.inr.ac.ru/ip-routing/iputils-current.tar.gz.



Man(1) output converted with man2html