Table of Contents
Introduction to ping command
ping (Packet Internet Groper) is a command-line utility in Linux to check the network connectivity between host and host/server. It also helps to test, diagnose, and troubleshoot network connectivity issues. With the ping command, you can know if a server is up and running. The ping sends ICMP (Internet Control Message Protocol) ECHO_REQUEST messages to the specified host and waits for the reply. If the host is available, it sends an ICMP echo reply message (ECHO_RESPONSE). If ping does not receive any reply packets, it will exit with code 1.
Syntax to use ping command
The syntax for the
ping command is:
$ ping [option] destination
Some options available in the
ping command are given below.
- -a: use audible ping
- -c: <count> stop after <count> replies
- -D: print timestamps
- -f: flood ping
- -h: print help and exit
Different examples to use ping command in Linux
1. ping command to check the network connectivity of target host
You can run the
ping command without any option to check if the server of the target host is up and running. For example, to test our website, you can use the website name or IP address.
$ ping www.golinuxcloud.com
$ ping 2606:4700::6813:9a5c
You need to press Ctrl+C to stop the ping otherwise it will keep sending the packets infinitely. DUP! are the duplicate packets caused by inappropriate link-level retransmissions.
2. Specify the number of pings to be performed with ping command
When you specify the count N, the ping command stops sending the packets after N replies. You do not have to stop the ping with Ctrl+C.
$ ping count N destination
3. Check localhost network with ping command
You can ping localhost to check if you have a network connection.
$ ping localhost
$ ping 127.0.0.1
4. Set interval seconds between sending each packet with ping command
-i option set interval time in seconds to wait before sending each packet. The default is to wait for one second between each packet, or not to wait in flood mode.
$ ping -i N destination
5. Perform flood ping towards target host
-f option is used to run the flood ping. In flood ping, for every ECHO_REQUEST sent a period ''.'' is printed, and for every ECHO_REPLY received a backspace is printed. The interval time is zero and the packets are sent one hundred times per second. Only the super-user can use this option with zero intervals.
$ sudo ping -f destination
6. Specify the number of data bytes to be sent with ping command
-s option specifies the number of data bytes to be sent. The default size is 56 ICMP data bytes which become 64 bytes when combined with the 8 bytes of ICMP header data.
$ ping -s NUM destination
7. Display only the summary lines for ping command output
-q option can be used to display only the summary lines at startup time and when finished.
$ ping -q destination
8. Set special IP timestamp options
-T option sets special IP timestamp options. timestamp option can be:
- tsonly: only timestamps
- tsandaddr: timestamps and addresses
- tsprespec host1 [host2 [host3 [host4]]]: timestamp prespecified hops
$ ping -T <timestamp option> destination
9. Specify the timeout in seconds for ping command
-w option specifies a <deadline> ( timeout in seconds) before ping exits regardless of how many packets have been sent or received. ping waits for the reply in <deadline> seconds.
$ ping -w <deadline> destination
10. Set time to wait for a response for ping command
-W option is used to set the time to wait for a response, in seconds. The option affects only timeout in absence of any responses otherwise, ping waits for two RTTs (round-trip time).
$ ping -W <timeout> destination
11. Send multiple packets while waiting for replies with ping command
-l option specifies the <preload> number of packets that are to be sent while waiting for replies. Only the super-user can select preload more than 3.
$ ping -l <preload> destination
12. Set the IP time to live with ping command
You can use
-t option to set the IP time to live (TTL). It limits the number of network hops. The value ranges between 1 and 255.
$ ping -t <ttl> destination
13. Print timestamps with ping command
-D option prints the timestamps before every line.
$ ping -D destination
14. Use IPv4 or IPv6 address with ping command
-6 options are used to specify the IPv4 and IPv6 addresses respectively.
$ ping -4 address
$ ping -6 address
When you use the IPv6 address with
-4 option, it shows an error message.
ubuntu@golinux:~$ ping -4 2606:4700::6813:9a5c ping: 2606:4700::6813:9a5c: Address family for hostname not supported
15. Perform audible ping
-a option is used, the system will produce a sound if there is a reply from the host.
$ ping -a destination
16. Report ICMP ECHO reply for ping command
-O option reports outstanding ICMP ECHO reply before sending the next packet. It is useful together with the
-D option to log
output to a diagnostic file and search for missing answers.
$ ping -O -D destination
17. Print full user-to-user latency with ping command
Normally, ping prints network round trip time which can be different, for example, due to DNS failures. The
-U option can be used to print full user-to-user latency.
$ ping -U destination
This tutorial teaches you to use
ping command with different options in a Linux system. ping is a useful tool that allows you to test the connectivity of a specified host on the network. If you still have any confusion, please let us know in the comment section.
How to PROPERLY test port connectivity in Linux