【Shell编程练习】编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态

系列文章目录

输出Hello World
通过位置变量创建 Linux 系统账户及密码
监控内存和磁盘容量,小于给定值时报警
猜大小
输入三个数并进行升序排序


  • 系列文章目录
  • 编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态


编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态

要测试一个主机是否处于开机状态可以使用ping命令。ping命令 用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。ping命令的常用参数:

  • -c count:设置完成要求回应的次数;
  • -i interval:设定间隔几秒发送一个ping包,默认一秒ping一次;
  • -w deadline:无论之前发送或接受了多少包,只要超过此秒数,程序退出;
  • -W timeout: 以毫秒为单位设置ping的超时时间;
  • -t ttl:设置TTL(Time To Live)为指定的值。该字段指定IP包被路由器丢弃之前允许通过的最大网段数;
#! /bin/bash

subnet=192.168.4

for ((host=1; host<255; host=host+1))
do
        ping -c 2 -i 0.1 -W 1 $subnet.$host &> /dev/null
        if [ $? -eq 0 ]
        then
                echo "$subnet.$host is up"
        else
                echo "$subnet.$host is down"
        fi
done

运行结果:

【Shell编程练习】编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态_第1张图片

【Shell编程练习】编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态_第2张图片

你可能感兴趣的:(shell)