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"

脚本执行效果:

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

时间: 2024-07-28 18:13:31

CENTOS 7 内网网段在用IP地址检测Shell脚本优化版的相关文章

脚本输出一段连续的ip地址

例子: 输出一段连续的IP地址 192.168.30.10 .11 ... ... ... .33 192.168.30.34 解答: for i in 192.168.30.{10..34};do echo $i;done

最简单的统计appche站点IP访问量的shell脚本

经常需要根据IP地址统计apache站点访问量,最基本的脚本. 根据IP访问量降序排列: #!/bin/bash #Script_name: access_count acc_log=/usr/local/apache2/logs/access_log /bin/awk '{print $1}' $acc_log  | sort | uniq -c | sort -nr 执行效果: [[email protected] ~]# sh access_count   94989 192.168.10

修改Windows系统IP地址的快捷脚本

修改Windows系统IP地址的快捷脚本,以后再也不用为来回改地址发愁了!!! @echo off cls color 0A Echo ******************************************************************************* Echo           正在修改IP地址为174.16.4.125,请耐心等待---- Echo **************************************************

最新手机号段归属地,IP地址归属地数据库

最新手机号段归属地数据库-购买  http://qqzeng.com IP地址数据库-代码   SDK API 多语言解析Dat 导入数据库脚本 https://github.com/zengzhan/qqzeng-ip IP地址数据库-最新   微信 qqzeng-ip官网 http://qqzeng.com演示 http://qqzeng.com/ip

java正则表达式小练习(IP地址检测、排序,叠词的处理,邮件地址的获取)

import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; class MyComparator implements Comparator<String>{ public int compare(String ip1, String ip2) { Pattern p

查看IP访问量的shell脚本汇总

第一部分,1,查看TCP连接状态 netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}' netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}' netstat -n | a

虚拟机CentOS复制到其他主机vm下IP地址无效(Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization)

Bringing up interface eth0:  Device eth0 does not seem to be present, delaying initialization 在虚拟机VM下安装的CentOS遇到这个问题,我是将centos.vmx放到其他的VM下打开 #dhclient #service network restart Shutting down loopback insterface:                                        

配置IP地址及HOSTNAME脚本

#!/bin/bash #修改IP及HOSTNAME ETHCONF=/etc/sysconfig/network-scripts/ifcfg-eth0 HOSTS=/etc/hosts NETWORK=/etc/sysconfig/network DIR=/root/backup/`date +%Y%m%d` NETMASK=255.255.255.0 function Change_ip () { if [ ! -d $DIR ];then mkdir -p $DIR fi echo "No

获取本机IP地址的小脚本

获取本机私网地址(1个) 1 #!/bin/bash 2 # Author : standby 3 # Date : 2017-05-18 4 # Description : Get private ip address of local machine. 5 6 arr=(`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`) 7 #private_ip