zoukankan      html  css  js  c++  java
  • CENTOS 7 内网网段在用IP地址检测Shell脚本优化版

    脚本内容

    #!/bin/bash
    
    #############################################################################
    # 用途:网段IP地址检测
    # 作者:Dylan
    # 日期:2019年10月31日 11:56
    #############################################################################
    
    #############################################################################
    # 定义颜色输出
    #############################################################################
    COLOR_TEXT() {
      echo -e " e[0;$2m$1e[0m"
    }
    
    ECHO_RED() {
      echo $(COLOR_TEXT "$1" "31")
    }
    
    ECHO_GREEN() {
      echo $(COLOR_TEXT "$1" "32")
    }
    
    ECHO_YELLOW() {
      echo $(COLOR_TEXT "$1" "33")
    }
    
    ECHO_BLUE() {
      echo $(COLOR_TEXT "$1" "34")
    }
    
    #############################################################################
    # 变量定义
    #############################################################################
    # IP 地址段
    NETWORK_SEGMENT=192.168.100
    # 检测次数
    PING_COUNT=3
    # 开始检测范围:默认从1开始
    IP_START=1
    # 结束检测范围:默认从255结束
    IP_STOP=255
    # 输出横线
    LINE='-----------------------------------------------------------------------'
    
    #############################################################################
    # 开始检测
    #############################################################################
    echo ${LINE}
    ECHO_YELLOW "开始检查:`date`"
    echo ${LINE}
    
    # 开始循环检测
    while [ ${IP_START} -lt ${IP_STOP} ];do
      FULL_IP=${NETWORK_SEGMENT}.${IP_START}
      echo ${LINE}
      echo "IP地址 [ ${FULL_IP} ] 开始检测!"
      echo ${LINE}
      /usr/bin/ping ${FULL_IP} -c ${PING_COUNT} >/tmp/ping_tmp.txt
      sleep 1
      SUCCESS_PING=`tail -2 /tmp/ping_tmp.txt |head -1 |awk -F, '{print$2}' |cut -c 2-2`
    
      # 输出使用情况
      if [ ${SUCCESS_PING} -gt 0 ];then
        echo -e "IP地址 [ e[0;32m${FULL_IP}e[0m ] 正在使用!"
        echo "${FULL_IP}" >> /tmp/ip_use.txt
      else
        echo -e "IP地址 [ e[0;31m${FULL_IP}e[0m ] 没有使用!"
        echo "${FULL_IP}" >> /tmp/ip_not_use.txt
      fi
    
      # 自加1开始下一个
      IP_START=$((IP_START+1))
    done
    
    # 检测完成
    ECHO_YELLOW "检查结束:`date`"
    echo ${LINE}
    ECHO_YELLOW "在用IP列表:"
    echo ${LINE}
    cat /tmp/ip_use.txt
    echo ${LINE}
    ECHO_YELLOW "没用IP列表:"
    cat /tmp/ip_not_use.txt
    echo ${LINE}
    ECHO_YELLOW "更多详情可以查看文件:"
    echo ${LINE}
    echo "在用IP地址列表文件:/tmp/ip_use.txt"
    echo "没用IP地址列表文件:/tmp/ip_not_use.txt"

    脚本执行效果:

  • 相关阅读:
    支付宝小程序开发——踩坑实录
    支付宝小程序开发——rich-text富文本组件支持html代码
    SFTP 文件上传下载工具类
    码农修真传
    Spring Data学习中心
    深入理解JDBC设计模式: DriverManager 解析
    Redis(十一):哨兵模式架构设计分析
    Redis(十):pub/sub 发布订阅源码解析
    Redis(九):主从复制的设计与实现解析
    线程池技术之:ThreadPoolExecutor 源码解析
  • 原文地址:https://www.cnblogs.com/Dy1an/p/11770552.html
Copyright © 2011-2022 走看看