Welcome to Linux Knowledge Base and Tutorial
"The place where you learn linux"
GetNetWise: You
e One Click Away

 Create an AccountHome | Submit News | Your Account  

Tutorial Menu
Linux Tutorial Home
Table of Contents

· Introduction to Operating Systems
· Linux Basics
· Working with the System
· Shells and Utilities
· Editing Files
· Basic Administration
· The Operating System
· The X Windowing System
· The Computer Itself
· Networking
· System Monitoring
· Solving Problems
· Security
· Installing and Upgrading
· Linux and Windows

Man Pages
Linux Topics
Test Your Knowledge

Site Menu
Site Map
Copyright Info
Terms of Use
Privacy Info
Masthead / Impressum
Your Account

Private Messages

News Archive
Submit News
User Articles
Web Links


The Web

Who's Online
There are currently, 71 guest(s) and 0 member(s) that are online.

You are an Anonymous user. You can register for free by clicking here




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


       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


       -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

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

       -P policy
              Override  system-wide  IPsec  policy. Argument is a
              string of format described in  ipsec_set_policy(3).
              Couple of examples: "out bypass" requests to bypass
              system-wide   defaults,   "out   ipsec   esp/trans­
              port//require"  demands  to send ping packets using
              ESP in transport mode.

       -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.

       -s packetsize
              Specifies the number of data bytes to be sent.  The
              default  is  56, which translates into 64 ICMP data
              bytes when combined with the 8 bytes of ICMP header

       -S sndbuf
              Set socket sndbuf. If not specified, it is selected
              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

       -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

       -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­

       -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
       code 1.  On other error it exits with code 2. Otherwise it
       exits  with code 0. This makes it possible to use the exit
       code to see if a host is alive or not.

       This program is intended for use in network testing,  mea­
       surement  and  management.   Because  of  the  load it can
       impose on the network, it is unwise  to  use  ping  during
       normal operations or from automated scripts.


       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.


       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).


       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.

       The TCP/IP specification states that the TTL field for TCP
       packets should be set to 60, but many systems use  smaller
       values (4.3 BSD uses 30, 4.2 used 15).

       The  maximum possible value of this field is 255, and most
       Unix systems set the TTL field of ICMP ECHO_REQUEST  pack­
       ets  to  255.   This is why you will find you can ``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.


       · 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.


       netstat(1), ifconfig(8).


       The ping command appeared in 4.3BSD.

       The  version  described here is its descendant specific to


       ping requires CAP_NET_RAWIO capability to be executed.  It
Show your Support for the Linux Tutorial

Purchase one of the products from our new online shop. For each product you purchase, the Linux Tutorial gets a portion of the proceeds to help keep us going.



Security Code
Security Code
Type Security Code

Don't have an account yet? You can create one. As a registered user you have some advantages like theme manager, comments configuration and post comments with your name.

Help if you can!

Amazon Wish List

Did You Know?
The Linux Tutorial can use your help.


Tell a Friend About Us

Bookmark and Share

Web site powered by PHP-Nuke

Is this information useful? At the very least you can help by spreading the word to your favorite newsgroups, mailing lists and forums.
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters. Articles are the property of their respective owners. Unless otherwise stated in the body of the article, article content (C) 1994-2013 by James Mohr. All rights reserved. The stylized page/paper, as well as the terms "The Linux Tutorial", "The Linux Server Tutorial", "The Linux Knowledge Base and Tutorial" and "The place where you learn Linux" are service marks of James Mohr. All rights reserved.
The Linux Knowledge Base and Tutorial may contain links to sites on the Internet, which are owned and operated by third parties. The Linux Tutorial is not responsible for the content of any such third-party site. By viewing/utilizing this web site, you have agreed to our disclaimer, terms of use and privacy policy. Use of automated download software ("harvesters") such as wget, httrack, etc. causes the site to quickly exceed its bandwidth limitation and are therefore expressly prohibited. For more details on this, take a look here

PHP-Nuke Copyright © 2004 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Page Generation: 0.08 Seconds