Table of Contents
- Install Ping on Linux
- Basic Syntax of the Ping Command
- Check Connectivity Using the Ping Command
- Specify the Number of Ping Packets
- Set Time Intervals Between Ping Packets
- Change the Ping Packet Size
- Set the Time Limit for the Ping Command
- Add a Timestamp Before Each Line in the Ping Output
- Flood a Network with Ping Command
- Print only Summary Statistics in Ping Command.
- Conclusion
Ping stands for Packet Internet Groper and is an essential tool used by Linux administrators and developers to test network connectivity between two systems. It helps verify whether a remote host, server, website, or device is reachable over a network and measures the round trip time required to send and receive packets.
The Ping utility uses ICMP Echo Request packets and ICMP Echo Reply messages to test communication between devices. It is commonly used for network troubleshooting, diagnosing network connectivity issues, checking internet connection quality, identifying network congestion, and verifying that a remote host is working correctly.
Whether you manage an Ubuntu server, troubleshoot Docker containers, maintain a shared hosting environment, or work as a system administrator, the Ping command remains one of the most useful network diagnostic tools available across different Linux distributions.
This tutorial explains how to install ping Debian, Ubuntu, and other Linux systems, and demonstrates practical examples for testing and troubleshooting network connections.
Install Ping on Linux
In most Linux environments, Ping is installed by default. However, some minimal installations, cloud images, containers, and lightweight operating systems may not include the Ping utility.
If you receive the error:
ping: command not found
it means the Ping utility is missing from the system’s path or the required package is not installed.
Install Ping on Debian and Ubuntu
Before installing Ping, update the system package index:
sudo apt update
The Ping utility is included in the iputils-ping package. You can install it using either of the following commands:
sudo apt install iputils-ping -y
The apt package manager will download and install the latest version of the package from the configured repositories.
Install Ping on RHEL, CentOS, and Fedora
For Red Hat-based operating systems, install Ping using:
dnf install iputils -y
Older Linux distributions may use:
sudo yum install iputils -y
Package managers automatically resolve dependencies and install the required package.
Verify Installation
After installation, verify that Ping was installed correctly:
ping -V
Example output:
ping utility, iputils-s20161105
You can also verify installation by sending test packets to Google’s servers:
ping -c 4 google.com
Ping Permissions on Debian
Modern Debian systems use file capabilities to allow non-root users to run Ping without requiring root privileges.
You can verify whether Ping exists and has the correct permissions:
which ping
getcap $(which ping)
Example output:
/usr/bin/ping cap_net_raw=ep
Also Read
How to Install and Use Telnet on Debian 11
Basic Syntax of the Ping Command
The basic syntax of the ping command is shown below:
ping [option] [hostname] or [IP address]
To get a list of all options used with the Ping command, run the following command:
ping -help
You should see the following output:
Usage: ping [-aAbBdDfhLnOqrRUvV64] [-c count] [-i interval] [-I interface]
[-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos]
[-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
[-w deadline] [-W timeout] [hop1 ...] destination
Usage: ping -6 [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]
[-l preload] [-m mark] [-M pmtudisc_option]
[-N nodeinfo_option] [-p pattern] [-Q tclass] [-s packetsize]
[-S sndbuf] [-t ttl] [-T timestamp_option] [-w deadline]
[-W timeout] destination
Check Connectivity Using the Ping Command
The most common use of Ping is to test network connectivity to a remote server, website, or IP address.
Syntax:
ping hostname
or
ping IP-address
For example:
ping facebook.com
Example output:
PING facebook.com(edge-star-mini6-shv-02-pnq1.facebook.com) 56 data bytes 64 bytes from edge-star-mini6-shv-02-pnq1.facebook.com: icmp_seq=1 ttl=53 time=70.1 ms
You can also use Google’s public DNS server to verify internet access:
ping 8.8.8.8
Or test Google’s servers:
ping google.com
This is often the first step when diagnosing network issues, DNS failures, or a connectivity problem.
Press CTRL+C to stop the Ping process.
Understanding Ping Output
64 bytes from server: icmp_seq=1 ttl=53 time=70.1 ms
- from – Displays the destination host and IP address.
- icmp_seq – Sequence number of each ICMP packet.
- ttl – Time To Live value.
- time – Response time in milliseconds.
- round trip time (RTT) statistics:
rtt min/avg/max/mdev
- min – Minimum response time.
- avg – Average response time.
- max – Maximum response time.
- mdev – Mean deviation.
How to Find Files with fd Command in Linux
Specify the Number of Ping Packets
You can use the -c option with the Ping command to stop the Ping command automatically after sending a certain number of packets.
ping -c 5 google.com
This command sends five ICMP Echo Request packets and then stops automatically.
PING google.com(bom07s30-in-x0e.1e100.net (2404:6800:4009:820::200e)) 56 data bytes 64 bytes from bom07s30-in-x0e.1e100.net (2404:6800:4009:820::200e): icmp_seq=1 ttl=55 time=82.0 ms 64 bytes from bom07s30-in-x0e.1e100.net (2404:6800:4009:820::200e): icmp_seq=2 ttl=55 time=224 ms 64 bytes from bom07s30-in-x0e.1e100.net (2404:6800:4009:820::200e): icmp_seq=3 ttl=55 time=451 ms 64 bytes from bom07s30-in-x0e.1e100.net (2404:6800:4009:820::200e): icmp_seq=4 ttl=55 time=372 ms 64 bytes from bom07s30-in-x0e.1e100.net (2404:6800:4009:820::200e): icmp_seq=5 ttl=55 time=292 ms --- google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4005ms rtt min/avg/max/mdev = 82.018/284.782/451.970/126.884 ms
Set Time Intervals Between Ping Packets
By default, the time interval between each packet is set to one second. You can use the -i option to change the default time interval.
ping -i 2 google.com
The command will wait two seconds before sending the next packet.
Some interval values may require elevated privileges.
Change the Ping Packet Size
The ping packet size is set to 56 (84) bytes by default. You can change it using the -s option.
For example, to set the Ping packet size to 500 bytes, run the following command:
ping -s 500 google.com
You should see the packet size in the following output:
PING google.com(bom12s20-in-x0e.1e100.net (2404:6800:4009:830::200e)) 500 data bytes 76 bytes from bom12s20-in-x0e.1e100.net (2404:6800:4009:830::200e): icmp_seq=1 ttl=55 (truncated) 76 bytes from bom12s20-in-x0e.1e100.net (2404:6800:4009:830::200e): icmp_seq=2 ttl=55 (truncated) 76 bytes from bom12s20-in-x0e.1e100.net (2404:6800:4009:830::200e): icmp_seq=3 ttl=55 (truncated)
Changing packet sizes can help identify MTU problems and diagnose network connectivity issues.
Set the Time Limit for the Ping Command
You can use the -w option to stop receiving a ping output after a specific amount of time.
For example, to stop the Ping command output after 20 seconds, run the following command:
ping -w 20 google.com
This command terminates after 20 seconds regardless of how many packets were transmitted.
Add a Timestamp Before Each Line in the Ping Output
You can use the -D option with the Ping command to print a timestamp before each line in the Ping output:
ping -D google.com
You should see the following output:
PING google.com(bom12s20-in-x0e.1e100.net (2404:6800:4009:830::200e)) 56 data bytes [1646212673.335469] 64 bytes from bom12s20-in-x0e.1e100.net (2404:6800:4009:830::200e): icmp_seq=1 ttl=55 time=305 ms [1646212674.256155] 64 bytes from bom12s20-in-x0e.1e100.net (2404:6800:4009:830::200e): icmp_seq=2 ttl=55 time=225 ms [1646212675.485228] 64 bytes from bom12s20-in-x0e.1e100.net (2404:6800:4009:830::200e): icmp_seq=3 ttl=55 time=453 ms
The timestamp displayed before each line can help correlate network events during troubleshooting.
Flood a Network with Ping Command
You can use the Ping command with the -f option to send 100 or more packets per second to the remote host. It is very useful if you want to test your website’s performance.
ping -f google.com
This flood mode can generate hundreds of packets per second and is useful for stress testing and advanced network troubleshooting.
Because it generates significant traffic, it typically requires root privileges. Use caution when testing a production website or remote server.
Print only Summary Statistics in Ping Command.
You can use the Ping command with the -q option to suppress the output to print only summary statistics.
ping -q google.com
You should see the following output:
--- google.com ping statistics --- 6 packets transmitted, 6 received, 0% packet loss, time 5007ms rtt min/avg/max/mdev = 84.909/175.073/317.982/77.991 ms
This option is useful when monitoring a host while reducing terminal output.
Conclusion
The Ping utility is an essential tool for testing network connectivity, diagnosing network issues, verifying internet access, and troubleshooting latency problems on Linux systems. Whether you are working on an Ubuntu desktop, Ubuntu server, cloud instance, containerized environment, or another Linux distribution, Ping provides a fast and reliable way to verify that hosts are reachable and functioning correctly.
In this guide, you learned how to install ping, verify the installation, use Ping to test network connectivity, adjust packet counts and intervals, analyze round trip time, and troubleshoot common connectivity errors. You also learned how Ping interacts with ICMP traffic, firewalls, permissions, and system configuration. With these examples, you can quickly identify connectivity problems, investigate network congestion, confirm access to Google’s public DNS server, and determine whether a remote host or website is reachable.
* This post is for informational purposes only and does not constitute professional, legal, financial, or technical advice. Each situation is unique and may require guidance from a qualified professional.
Readers should conduct their own due diligence before making any decisions.