您的位置:首页 > 运维架构 > Linux

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

2019-10-31 12:43 357 查看

脚本内容

 

#!/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"

 

脚本执行效果:

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: