如何在Linux中一次Ping多个主机
我们都知道PING(数据包Internet Groper)命令,对不对?
是的,它用于验证主机是否可以通过网络与另一台计算机或者网络设备进行通信。
使用Ping命令,我们可以将ICMP Echo请求发送到目标主机,并测试目标主机是否处于活动状态。
我们可以ping通LAN和WAN中的系统。
ping实用程序最初由Mike Muuss于1983年12月编写,用于对网络中的问题进行故障排除。
ping命令的典型用法如下。
要在局域网中ping IP地址,请运行:
$ping 192.168.1.100
输出示例:
要ping主机/域/:
$ping theitroad.com
如我们在上面的输出中看到的,两个主机都还活着,我们可以与它们通信。
PING命令的一个问题是我们不能一次对多个主机执行ping操作。
我们一次只能ping一个系统。
如果我们对多个主机执行ping操作,则PING实用程序将等待一台主机的超时或者答复,并尝试与另一台主机进行通信。
如果一台主机没有出现故障,PING实用程序将继续显示特定主机的连接性,并且不会显示其他主机处于打开状态还是关闭状态。
让我给你看一个例子。
我将对以下主机进行ping操作。
- 192.168.1.100
- theitroad.com
- google.com
- ubuntu.com
为此,请运行:
$ping 192.168.1.100 theitroad.com google.com ubuntu.com
从上面的输出中可以看到,PING实用程序仅显示一个主机的连接(ubuntu.com),而不显示其他主机的结果。
不用担心!这是fping实用程序派上用场的地方。
使用fping实用程序,我们可以一次ping任意数量的主机。
fping类似于PING实用程序,可用于测试LAN和WAN中计算机和网络设备的连接。
与PING命令不同,fping将向一个主机发送ICMP Echo请求,并以循环方式移至另一主机。
安装fping
fping实用程序可用于几乎所有现代Linux/Unix操作系统。
要在Arch Linux上安装fping,请运行:
$sudo pacman -S fping
在Debian/Ubuntu上:
$sudo apt-get install fping
在RHEL/CentOS /科学Linux/Fedora上:
$sudo yum install epel-release
$sudo yum install fping
用法
fping的用法很简单,与PING命令非常相似。
例如,让我们ping LAN中的IP地址:
$fping 192.168.1.100
输出示例:
192.168.1.100 is alive
要对多个主机执行ping操作,请运行:
$fping 192.168.1.100 theitroad.com google.com ubuntu.com
输出示例:
192.168.1.100 is alive google.com is alive ubuntu.com is alive theitroad.com is alive
另外,我们可以将要ping的主机放在一个文本文件中,然后一次ping通它们。
让我们创建一个名为ping_hosts.txt的新文本文件。
$nano ping_hosts.txt
添加主机,IP地址,域,等的列表。
192.168.1.100 192.168.1.150 theitroad.com www.google.com www.ubuntu.com www.centos.org
够了保存并关闭文件。
现在,运行以下命令来ping我们在文本文件中提到的所有主机,如下所示。
$sudo fping -f ping_hosts.txt
输出示例:
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 theitroad.com is alive
有关更多详细信息,请查看手册页。
$man fping