Shell脚本ping测试

使用场景:

用于批量ping测试的工具。用户可以输入需要测试的网段,然后脚本会遍历该网段下的所有IP地址,并通过ping命令测试每个IP的连通性,将结果保存到ip_up.txt和ip_down.txt两个文件中。


代码实例

#!/bin/bash
echo "欢迎使用ping测试工具 :)"
read -p "请输入你需要测试的网段:" ip
sudo mkdir ./ip &>/dev/null || > ./ip/ip_up.txt || > ./ip/ip_down.txt
ip=`echo "$ip" | awk -v  FS="." -v OFS="." '{print$1,$2,$3}'`
for var in {1..254}
do
{
ping -c 1 -w 1  $ip.$var &>/dev/null
if [ $? -eq 0 ]
then
echo $ip.$var up | tee -a ./ip/ip_up.txt
else
echo $ip.$var down | tee -a ./ip/ip_down.txt
fi
}&
done
wait
echo "ping测试完成o.O,可在./ip/ip_up.txt,./ip/ip_down.txt查看结果"

运行效果

[root@server sh]# sh ping.sh
欢迎使用ping测试工具 :)
请输入你需要测试的网段:192.168.100.0
192.168.100.1 up
192.168.100.2 up
192.168.100.129 up
192.168.100.61 down
192.168.100.71 down
192.168.100.65 down
192.168.100.56 down
192.168.100.68 down
192.168.100.67 down
192.168.100.50 down
192.168.100.40 down
192.168.100.64 down
192.168.100.49 down
192.168.100.42 down
192.168.100.55 down
192.168.100.31 down
192.168.100.37 down
192.168.100.29 down
192.168.100.44 down
192.168.100.43 down
192.168.100.15 down
192.168.100.34 down
192.168.100.21 down
192.168.100.13 down
192.168.100.18 down
192.168.100.16 down
192.168.100.24 down
192.168.100.25 down
192.168.100.33 down
192.168.100.35 down
192.168.100.39 down
192.168.100.51 down
192.168.100.53 down
192.168.100.60 down
192.168.100.45 down
192.168.100.54 down
192.168.100.69 down
192.168.100.14 down
192.168.100.70 down
192.168.100.23 down
192.168.100.10 down
192.168.100.36 down
192.168.100.48 down
192.168.100.6 down
192.168.100.26 down
192.168.100.58 down
192.168.100.3 down
192.168.100.4 down
192.168.100.32 down
192.168.100.5 down
192.168.100.7 down
192.168.100.8 down
192.168.100.9 down
192.168.100.17 down
192.168.100.30 down
192.168.100.52 down
192.168.100.63 down
192.168.100.72 down
192.168.100.27 down
192.168.100.19 down
192.168.100.11 down
192.168.100.41 down
192.168.100.38 down
192.168.100.28 down
192.168.100.59 down
192.168.100.22 down
192.168.100.47 down
192.168.100.57 down
192.168.100.46 down
192.168.100.20 down
192.168.100.62 down
192.168.100.66 down
192.168.100.75 down
192.168.100.80 down
192.168.100.81 down
192.168.100.76 down
192.168.100.78 down
192.168.100.84 down
192.168.100.160 down
192.168.100.126 down
192.168.100.127 down
192.168.100.151 down
192.168.100.82 down
192.168.100.137 down
192.168.100.141 down
192.168.100.132 down
192.168.100.147 down
192.168.100.74 down
192.168.100.104 down
192.168.100.114 down
192.168.100.12 down
192.168.100.128 down
192.168.100.85 down
192.168.100.86 down
192.168.100.149 down
192.168.100.79 down
192.168.100.161 down
192.168.100.152 down
192.168.100.133 down
192.168.100.73 down
192.168.100.171 down
192.168.100.83 down
192.168.100.77 down
192.168.100.139 down
192.168.100.154 down
192.168.100.145 down
192.168.100.102 down
192.168.100.159 down
192.168.100.170 down
192.168.100.107 down
192.168.100.111 down
192.168.100.165 down
192.168.100.119 down
192.168.100.115 down
192.168.100.116 down
192.168.100.103 down
192.168.100.164 down
192.168.100.97 down
192.168.100.136 down
192.168.100.173 down
192.168.100.94 down
192.168.100.172 down
192.168.100.155 down
192.168.100.135 down
192.168.100.158 down
192.168.100.146 down
192.168.100.93 down
192.168.100.123 down
192.168.100.167 down
192.168.100.156 down
192.168.100.90 down
192.168.100.157 down
192.168.100.88 down
192.168.100.92 down
192.168.100.124 down
192.168.100.113 down
192.168.100.179 down
192.168.100.175 down
192.168.100.177 down
192.168.100.108 down
192.168.100.144 down
192.168.100.153 down
192.168.100.169 down
192.168.100.100 down
192.168.100.91 down
192.168.100.121 down
192.168.100.142 down
192.168.100.110 down
192.168.100.180 down
192.168.100.87 down
192.168.100.109 down
192.168.100.162 down
192.168.100.125 down
192.168.100.182 down
192.168.100.184 down
192.168.100.140 down
192.168.100.138 down
192.168.100.163 down
192.168.100.176 down
192.168.100.166 down
192.168.100.131 down
192.168.100.96 down
192.168.100.106 down
192.168.100.98 down
192.168.100.130 down
192.168.100.99 down
192.168.100.95 down
192.168.100.89 down
192.168.100.168 down
192.168.100.105 down
192.168.100.117 down
192.168.100.174 down
192.168.100.120 down
192.168.100.134 down
192.168.100.112 down
192.168.100.143 down
192.168.100.122 down
192.168.100.178 down
192.168.100.150 down
192.168.100.181 down
192.168.100.185 down
192.168.100.118 down
192.168.100.101 down
192.168.100.242 down
192.168.100.244 down
192.168.100.183 down
192.168.100.199 down
192.168.100.202 down
192.168.100.247 down
192.168.100.226 down
192.168.100.210 down
192.168.100.232 down
192.168.100.218 down
192.168.100.241 down
192.168.100.186 down
192.168.100.197 down
192.168.100.229 down
192.168.100.245 down
192.168.100.249 down
192.168.100.221 down
192.168.100.203 down
192.168.100.243 down
192.168.100.223 down
192.168.100.214 down
192.168.100.200 down
192.168.100.237 down
192.168.100.251 down
192.168.100.239 down
192.168.100.212 down
192.168.100.217 down
192.168.100.208 down
192.168.100.233 down
192.168.100.196 down
192.168.100.253 down
192.168.100.195 down
192.168.100.222 down
192.168.100.231 down
192.168.100.234 down
192.168.100.192 down
192.168.100.238 down
192.168.100.250 down
192.168.100.204 down
192.168.100.246 down
192.168.100.227 down
192.168.100.194 down
192.168.100.189 down
192.168.100.187 down
192.168.100.190 down
192.168.100.228 down
192.168.100.248 down
192.168.100.224 down
192.168.100.209 down
192.168.100.206 down
192.168.100.213 down
192.168.100.207 down
192.168.100.225 down
192.168.100.198 down
192.168.100.201 down
192.168.100.220 down
192.168.100.188 down
192.168.100.219 down
192.168.100.240 down
192.168.100.254 down
192.168.100.216 down
192.168.100.191 down
192.168.100.193 down
192.168.100.215 down
192.168.100.252 down
192.168.100.230 down
192.168.100.205 down
192.168.100.235 down
192.168.100.236 down
192.168.100.148 down
192.168.100.211 down
ping测试完成o.O,可在./ip/ip_up.txt,./ip/ip_down.txt查看结果

代码解释:

脚本的功能主要分为以下几步:
创建一个名为ip的目录,用于保存ping测试结果。
输入需要测试的网段,并提取其中的前三个字段作为变量ip。
循环遍历从1到254的数字,表示网段下所有可能的主机IP地址。
在每次循环中,使用ping命令测试当前IP的连通性,参数-c 1表示只发送1个ICMP请求,-w 1表示等待1秒钟后超时。
如果ping命令返回值为0,表示ping成功,将结果写入ip_up.txt文件。
如果ping命令返回值不为0,表示ping失败,将结果写入ip_down.txt文件。
使用并发方式执行ping命令,加快测试速度。
等待所有ping命令执行完毕。
输出测试完成的提示信息。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清醒云思

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值