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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CENTOS 7 内网网段在用IP地址检测Shell脚本优化版相关的知识,希望对你有一定的参考价值。

脚本内容

 

#!/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脚本优化版的主要内容,如果未能解决你的问题,请参考以下文章

网关和IP不在同一个网段,怎么添加静态路由?

内网中一台机器IP地址老是自动变更

如何设置电脑只连接内网不连接外网

关于公网IP和内网IP

公司有两条专线,每条给了16个IP,如果要做NAT是内网所有网段都上网的话,配置应该怎么做,最好有命令!

用PAT技术实现不同网段内网PC访问外网服务器