Thursday, April 14, 2016

[Quick Tips- Multi Ping]: How to ping multiple hosts at once in Linux

How to ping multiple hosts at once in Linux

 

 

We all know about PING (Packet INternet Groper) command, right? Yeah, it is used to verify a host or a IP address can able to communicate over the Network with another Computer or Network devices. Using Ping command, we can send ICMP Echo request to our target host, and test whether the destination host is alive or not. We can ping systems in LAN and WAN. The ping utility was originally written by Mike Muuss in December 1983 for troubleshooting problems in the network.
A typical usage of ping command is given below.
To ping an IP address in a LAN, run:
ping 192.168.1.100
Sample output:
sk@sk: ~_001
To ping a host / domain / website:
ping ostechnix.com
Sample output:
sk@sk: ~_002
As you see in the above outputs, the both hosts are alive, and we can able to communicate with them.
The one problem with PING command is we can’t ping multiple hosts at a time. We can ping systems one at a time.  If you ping to multiple hosts, the PING utility will wait for one host’s timeout or reply, and try to communicate with the another. If one host doesn’t go down, the PING utility will keep showing a particular host’s connectivity, and It will not show whether the other hosts are up or down.
Let me show you an example. I am going to ping the following hosts.
  • 192.168.1.100
  • ostechnix.com
  • google.com
  • ubuntu.com
To do so, run:
ping 192.168.1.100 ostechnix.com google.com ubuntu.com
Sample output:
sk@sk: ~_003
As you see in the above output, the PING utility shows only one host’s connectivity (ubuntu.com), and it doesn’t show the results of other hosts. No worries! Here is where fping utility comes in handy. Using fping utility, we can ping any number of hosts at once.
fping is similar to PING utility that can used to test the connectivity of computers and network devices in LAN and WAN. Unlike PING command, fping will send a ICMP Echo request to one host, and move to the another host in a round-robin fashion.

Install fping

fping utility is available in almost all modern Linux/Unix operating systems.
To install fping on Arch Linux, run:
sudo pacman -Syu
sudo pacman -S fping
On Debian / Ubuntu:
sudo apt-get update
sudo apt-get install fping
On RHEL / CentOS / Scientific Linux / Fedora:
sudo yum install epel-release
sudo yum install fping

Usage

fping usage is simple and very similar to PING command.
For example, let us ping an IP address in a LAN:
fping 192.168.1.100
Sample output:
192.168.1.100 is alive
To ping multiple hosts, run:
fping 192.168.1.100 ostechnix.com google.com ubuntu.com
Sample output:
192.168.1.100 is alive
google.com is alive
ubuntu.com is alive
ostechnix.com is alive
sk@sk: ~_004
Also, you can put the hosts that you want to ping in a text file, and ping them all at once.
Let us create a new text file called ping_hosts.txt.
nano ping_hosts.txt
Add the list of hosts, IP addresses, domains, websites etc.
192.168.1.100
192.168.1.150
www.ostechnix.com
www.google.com
www.ubuntu.com
www.centos.org
That’s enough. Save and close the file.
Now, run the following command to ping all hosts which we mentioned in the text file as shown below.
sudo fping -f ping_hosts.txt
Sample output:
192.168.1.100 is alive
192.168.1.150 is alive
www.google.com is alive
www.ubuntu.com is alive
www.centos.org is alive
www.ostechnix.com is alive
Sample output:
sk@sk: ~_005
Cool! It works.
For more details, check man pages.
man fping
That’s all for now. Hope this guide helps. If you find this tutorial useful, share it on your social networks and support us.
Cheers!

No comments: