循环ping的方式扫描网段在线主机和离线主机

1 #!/bin/bash
  2 
  3 #================================================================
  4 #   Copyright (C) 2021 . All rights reserved.
  5 #   
  6 #   文件名称:saomiaowangduan.sh
  7 #   创 建 者:gan
  8 #   创建日期:2021年04月17日
  9 #   描    述:
 10 #
 11 #=============================================================
 12 function finish () {
          
   
 13 
 14 echo "sh exit at `date +%F_%T`" | tee -a /tmp/finsish.log
 15 exit                                                                                                                                                                           
 16 
 17 }
 18 
 19 trap finish int quit kill
 20 
 21 NET=172.18
 22 M=0
 23 N=1
 24 UPNUM=0
 25 DOWNNUM=0
 26 while (( M<=255  ));do
 27 
 28     while (( N<=254  ));do
 29 
 30         ping -c 1 -w 1  "${NET}.${M}.${N}" &> /dev/null
 31         if (( $? == 0  ));then
 32             echo "${NET}.${M}.${N} is up!"
 33             let UPNUM++
 34 
 35         else
 36              let  DOWNNUM++
 37         fi
 38         let N++
 39     done
 40 
 41     let M++
 42     N=1
 43 
 44 done
经验分享 程序员 微信小程序 职场和发展