使用ping
- 优点
- 原生,不用安装软件
- 缺点
- 速度慢
下面的脚本列出 192.168.1.0/24的所有主机,大概需要255秒
#!/bin/bash
function handler () {
echo "will exit"
exit 0
}
trap 'handler' SIGINT
for ip in 192.168.1.{1..255}
do
ping -W 1 -c 1 $ip &> /dev/null
if [ $? -eq 0 ]; then
echo $ip is alive
else
echo $ip is dead
fi
done
使用fping
- 优点
- 速度快
- 缺点
- 需要安装fping
# 安装fping
brew install fping # mac
yum install fping # centos
apt install fping # debian
我用的fping 是MacOS X, fping的版本是4.2
用fping去执行,同样256个主机,只需要5-6s
fping -g 192.168.1.0/24 -r 1 -a -s