首页 > 系统服务 > 详细

CENTOS 7 内网网段在用IP地址检测Shell脚本优化版

时间:2019-10-31 13:36:26      阅读:105      评论:0      收藏:0      [点我收藏+]

脚本内容

 

#!/bin/bash

#############################################################################
# 用途:网段IP地址检测
# 作者:Dylan
# 日期:2019年10月31日 11:56
#############################################################################

#############################################################################
# 定义颜色输出
#############################################################################
COLOR_TEXT() {
  echo -e " \e[0;$2m$1\e[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"

 

脚本执行效果:

技术分享图片

 

CENTOS 7 内网网段在用IP地址检测Shell脚本优化版

原文:https://www.cnblogs.com/Dy1an/p/11770552.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!