Ping Command options in Linux

Disclaimer: Accessing the information on this page means you agree to the Sites Privacy Policy & Terms of Use Agreement.

Ping is the utility used to test connectivity status between a source and a destination, which is a very useful tool for computer network administrators. This tool is available in all operating systems which have the capability of the network including softwares too.
PING stands for “Packet InterNet Groper”. Basically, Ping uses ICMP (Internet Control Message Protocol) to send/receive Echo messages from or to (either way) the destination and host device accordingly to perform the availability of network connection.

Here we will see the ping command using linux terminal :


PING Version: 
To get a version of Ping installed on your system.

ping -V

ping syntax

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


-aAudible ping.
-AAdaptive 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.
-bAllow pinging a broadcast address.
-BDo not allow ping to change the source address of probes. The address is bound to one selected when ping starts.
-m markuse mark to tag the packets going out. This is useful for a variety of reasons within the kernel such as using routing policy to select specific outbound process.
-c countStop after sending count ECHO_REQUEST packets. With deadline option, ping waits for countECHO_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 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 interval to zero and outputs packets as fast as they come back or one hundred times per second, whichever is more. Only the super-user may use this option with zero interval.
-i intervalWait interval seconds between sending each packet. The default is to wait for one second between each packet normally, or not to wait in flood mode. Only super-user may set interval to values less 0.2 seconds.
-I interface-addressSet source address to specified interface address. The argument may be a numeric IP address or the name of the device. When pinging IPv6 link-local address this option is required.
-l preloadIf preload is specified, ping sends that many packets not waiting for the reply. Only the super-user may select preload more than 3..
-LSuppress loopback of multicast packets. This flag only applies if the ping destination is a multicast address.
-nNumeric output only. No attempt will be made to lookup symbolic names for host addresses.
-p patternYou 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.
-DPrint timestamp in form of Unix time & microseconds before each line.
-Q tosSet Quality of Service -related bits in ICMP datagrams. tos can be either decimal or hex number. Traditionally (RFC1349), these have been interpreted as: 0 for reserved (currently being redefined as congestion control), 1-4 for Type of Service and 5-7 for Precedence. Possible settings for Type of Service are: minimal cost: 0x02, reliability: 0x04, throughput: 0x08, low delay: 0x10. Multiple 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 kernel. 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).
-qQuiet output. Nothing is displayed except the summary lines at startup time and when finished.
-RRecord route. 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.
-rBypass the normal routing tables and send directly to a host on an attached interface. 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 provided the option -I is also used.
-s packetsizeSpecifies 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 data.
-S sndbufSet socket sndbuf. If not specified, it is selected to buffer not more than one packet.
-t ttlSet the IP Time-to-Live.
-T timestamp-optionSet 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 hintSelect 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).
-UPrint full user-to-user latency (the old behaviour). Normally ping prints network round trip time, which can be different f.e. due to DNS failures.
-vVerbose output.
-VDisplay version number, and exit.
-w deadlineSpecify 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 to expire or until countprobes are answered or for some error notification from network.
-W timeoutTime to wait for a response, in seconds. The option affects only timeout in absence of any responses, otherwise ping waits for two RTTs.

Using the Ping Command

To stop ping command we should have to use ctrl+c otherwise it will keep on sending ping packets.


We can send ping request with option -c if you want to send certain number of ping request use -c

ping -c 5

Control the size of packets sent:
We can optimize required size to send packes using -s option.

 ping -s 50 -c 5

Change the interval of time :
The default ping waits for 1 sec to send next packet but we can change this time by using i option.

 ping -i 2 -c 10

Now, the ping interval will change to 2 seconds.

To get a summary (Only) :
To get a summary about the network, you can use-q option

 ping -c 5 -q

Timout PING:
Stop ping after certain time use -w option.

 ping -w 3

Ping with MTU discovery:
It is a simple protocol to find out the maximum MTU(Maximum Transmission Unit) a TCP path can take.

 ping -c 5 -M want

Audible ping
Ping command will sound a beep to check the host is available ?

$ ping -a

This article is contributed by RootLinuxBlog. If you like RootLinuxBlog and would like to contribute, you can submit an article using contact us from. See your article appearing on the RootLinuxBlog main page and help other Techies.
Please write comments if you found any error with the above article would really help us to serve you a better way. Thank you…

Ping Command Linux

Leave a Reply

Your email address will not be published. Required fields are marked *


Enjoy this blog? Please spread the word :)