• 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"

    脚本执行效果:

  • 相关阅读:
    Docker搭建kafka
    Elasticpostman简单增删改查
    Java版本
    如何体现Elastic高可用
    golang post请求往 elastic 写数据 忽略https的post请求
    Vmware 虚拟机Ubuntu系统,解决忘记用户名和密码解决办法
    MySQL导出数据字典
    oracle 安装报[INS35180]无法检查可用内存
    CentOS7下.Net 5.0 6.0服务调用System.Drawing.Graph生成验证码图片,异常报错处理
    SAP Web Service HTTP 403 "Forbidden"
  • 原文地址:https://www.cnblogs.com/Dy1an/p/11770552.html
Copyright © 2020-2023  润新知