有没有什么方法或脚本可以同时 ping 和获取 ttl,并将网络上存在的一组 IP 地址存储在文本文件的两列中 - 我希望制作一个 shell 脚本来帮助我进行负载平衡图形。已尝试使用 nmap 和 dig 和 fping 命令,但无法按照要求获得所需的输出。在 CentOs 6.5 上工作
答案1
如果我理解了这个问题,这个简单的脚本可能会为您完成这项工作。
#!/bin/sh
# List of IP or domain names
LIST="192.168.1.101 192.168.1.110 192.168.1.254 192.168.1.250"
# Where to store the data?
outFile="${HOME}/network-test"
# raw data per IP
raw=""
# Clear the result each time or not? This will clear it each time
echo -n > "${outFile}"
for ip in $LIST
do
raw=`ping -c 1 -t 255 "${ip}" | grep ttl | awk -F" |ttl=" '{ print $1 }'`
if [ "$raw" != "" ]
then
echo "${ip} ${raw}" >> $outFile
else
echo "${ip} no-ping" >> $outFile
fi
done
cat $outFile
exit
显示内容类似于:
192.168.1.101 64
192.168.1.110 64
192.168.1.254 64
192.168.1.250 no-ping