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" "")
} ECHO_GREEN() {
echo $(COLOR_TEXT "$1" "")
} ECHO_YELLOW() {
echo $(COLOR_TEXT "$1" "")
} ECHO_BLUE() {
echo $(COLOR_TEXT "$1" "")
} #############################################################################
# 变量定义
#############################################################################
# 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脚本优化版的更多相关文章
- Linux中检查字符串是否为合法IP地址的shell脚本
#!/bin/bash #判断IP地址是否为有效IP CHKECK_IP () { CHECK_STEP1=`echo $1 | awk -F"." '{print NF}'` i ...
- #实现详细记录登陆过系统的用户,IP地址,shell命令及详细操作的时间
//实现详细记录登陆过系统的用户,IP地址,shell命令及详细操作的时间 将下面代码加入/etc/profile //history USER_IP = who -u am i 2> /dev ...
- 关于虚拟机IP网段和公司内网网段的问题?
开发四年只会写业务代码,分布式高并发都不会还做程序员?->>> 请教一个问题,为了解决电脑换网络环境就连不上虚拟机的问题,我虚拟机使用的nat模式,我的VMnet8IP是192 ...
- 手机号段、ip地址归属地大全,最新手机号段归属地,IP地址归属地数据库
百事通:http://www.114best.com/dh/114.aspx?w=17097232323,联通识别为电信的,1349错 二三四五:http://tools.2345.com/frame ...
- 局域网内一台电脑的ip地址自己会变,怎样让它不变
有两种方法可以让局域网内的电脑拥有固定的ip地址: 方法一:使用DHCP的静态地址分配功能(以TP-Link TL-WR847路由器为例). 打开浏览器,输入路由器LAN口的ip地址和管理员用户名.密 ...
- java正则表达式小练习(IP地址检测、排序,叠词的处理,邮件地址的获取)
import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; import java.util.reg ...
- 查看IP访问量的shell脚本汇总
第一部分,1,查看TCP连接状态 netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn netstat -n | awk '/^tcp/ {++S[ ...
- 内网网段划分ciso交换机配置
内网3750交换机配置: vlan 192 192.168.101.0/24 端口: 1--8vlan 10 10.10.10.0/24 端口: 9--16vlan 172 172.16.172.2/ ...
- 获取本地内网和外网IP地址
public class IPUtil { /// <summary> /// 获取本地内网IP /// </summary> /// <returns></ ...
随机推荐
- weblogic解决jar包冲突
前言 在项目中利用POI开发excel.word的导入导出功能,而POI在解析xlsx及docx两种高版本文档时需要依赖xmlbeans包,但weblogic容器中提供了低版本的xmlbeans,从而 ...
- java之子类对象实例化过程
假设现在有这么一个父类: public class Person{ public Person(){} public String name = "tom"; public int ...
- java之可变个数的形参
//采用数组形参来定义方法 public static void test (int a, String[] books); //采用可变个数形参来定义方法 public static void te ...
- Java实现网络聊天中使用的socket API与Linux socket API之间的关系
尝试着用Java编写一个网络聊天程序,发现总不如网上写的好,所以就直接引用了网上大神的优秀代码.代码如下: package project1; import java.awt.*; import ja ...
- Vue 路由导航解析流程
Vue Router完整的导航解析流程
- sql server多表关联update
一般都是写的单表update语句,很少写多表关联的update,但是事实上,在SQL Server中,update的多表连接更新和select的多表连接查询在使用的方法上其实并没有多大区别. 直接上一 ...
- Python 爬虫从入门到进阶之路(四)
之前的文章我们做了一个简单的例子爬取了百度首页的 html,我们用到的是 urlopen 来打开请求,它是一个特殊的opener(也就是模块帮我们构建好的).但是基本的 urlopen() 方法不支持 ...
- 在线程中显示一个窗口(多个UI线程)
多数耗时操作可以异步执行,推荐async/await. 但和UI相关的部分仅能在UI线程执行,这时UI线程的耗时操作,导致界面卡死,不够友好. 我们可以创建一个单独的UI线程显示一个正在加载的窗口,可 ...
- C# 波浪线绘制
波浪线效果如上 界面绘制操作 private Point? _startPoint = null; private void ContainerCanvas_OnPreviewMouseLeftBut ...
- 解决vscode中golang插件依赖安装失败问题
vscode中安装ms-vscode.go插件后可以开启对go语言的支持,ms-vscode.go插件需要依赖一些工具,安装完成后提示 gocode go-outline go-symbols gur ...