并发检测主机ip存活脚本
#!/bin/bash
###################
# Check Active Host#######
###################
function CheckInput(){
if [ $# -ne ] ; then
return
else
return
fi
} function CheckIp(){
/bin/ipcalc -s -c $ &>/dev/null
return $?
} function PingIp(){
ping -c -W $ &>/dev/null
if [ $? -eq ] ; then
echo $ >> $TMP_ACTIVE
else
echo $ >> $TMP_DOWN
fi
} function PingAll(){
PrefixIP=$(echo $|awk -F '.' '{print $1"."$2"."$3"."}')
for ip in {..}
do
IP="${PrefixIP}${ip}"
PingIp $IP &
done
} function SelectPing(){
ENDIP=$(echo $|awk -F '.' '{print $NF}')
if [ $ENDIP -eq -o $ENDIP -eq ] ; then
PingAll $*
else
PingIp $*
fi
} function SortIp(){
while :
do
PING_NUM=$(ps -ef|grep ping|grep -v 'grep'|wc -l)
if [ $PING_NUM -eq ] ; then
`cat $TMP_ACTIVE|sort -t '.' -k -n > /tmp/active.host`
`cat $TMP_DOWN|sort -t '.' -k -n > /tmp/down.host`
rm -f $TMP_ACTIVE
rm -f $TMP_DOWN
break
fi
done
} function Show(){
ACTIVEIP=$(cat /tmp/active.host)
DOWNIP=$(cat /tmp/down.host)
if [ -s "/tmp/active.host" ] ; then
echo "Active Host:"
echo $ACTIVEIP|tr " " "\n"
else
echo "Down Host:"
echo $DOWNIP|tr " " "\n"
fi
}
function main(){
CheckInput $*
if [ $? -ne ] ; then
echo -e $"USAGE: $0 {ipaddress}\nExample:\n$0 192.168.1.10 will check 192.168.1.10 only\n$0 192.168.1.0 will check 192.168.1.1 - 192.168.1.254 "
else
CheckIp $*
if [ $? -ne ] ; then
echo "Please input correct ip address . such as 192.168.1.10 or 192.168.1.0"
else
TMP_ACTIVE=$(mktemp)
TMP_DOWN=$(mktemp)
>/tmp/active.host
>/tmp/down.host
SelectPing $*
SortIp
Show
rm -f /tmp/active.host
rm -f /tmp/down.host
fi
fi
} main $*
并发检测主机ip存活脚本的更多相关文章
- Shell脚本实现检测某ip网络畅通情况,实战用例
Shell脚本实现检测某ip网络畅通情况,实战用例 环境准备,linux shell 发送email 邮件:1.安装sendmailyum -y install sendmail安装好sendmail ...
- ctf线下赛中检测外来IP的shell脚本
该脚本可用于ctf线下赛中,用来检测攻击IP的接入,及时做出响应. #!/bin/bash #写自己队的ip ipA="172.22.60.230" ipB="172.2 ...
- Spring Cloud:多环境配置、eureka 安全认证、容器宿主机IP注册
记录一下搭建 Spring Cloud 过程中踩过的一些坑,测试的东西断断续续已经弄了好多了,一直没有时间整理搭建过程,时间啊~时间~ Spring 版本 Spring Boot:2.0.6.RELE ...
- 常用的主机监控Shell脚本
最近时不时有朋友问我关于服务器监控方面的问题,问常用的服务器监控除了用开源软件,比如:cacti,nagios监控外是否可以自己写shell脚本呢?根据自己的需求写出的shell脚本更能满足需求,更能 ...
- 【转】nagios使用带url的check_http检测主机
前一段时间在Cu论坛发现一个提问,问题是nagios关于检测主机http服务的.原帖地址http://bbs.chinaunix.net /forum.php?mod=viewthread&t ...
- 查看KVM宿主机上虚拟机的IP的脚本
查看KVM宿主机上虚拟机的IP的脚本 #!/bin/bash #Auth:liucx #ping当前网段内在线的主机,以便产生arp记录. .{..};do { >& }& do ...
- arp命令(windows ),nmap查看局域网内所有主机IP和MAC
ARP命令详解 ARP是一个重要的TCP/IP协议,并且用于确定对应IP地址的网卡物理地址.实用arp命令,我们能够查看本地计算机或另一台计算机的ARP高速缓存中的当前内容.此外,使用arp命令,也可 ...
- 发起SSH攻击主机IP地址列表
发起SSH攻击主机IP地址列表 东北大学 http://antivirus.neu.edu.cn/scan/ssh.php 以下IP地址对SSH服务进行攻击,严重增加主机成为肉鸡的可能性.强烈建议网管 ...
- 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址;
package com.utils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.htt ...
随机推荐
- apache 单独生成模块
apache 单独生成模块 一般这种模块都是后期自己去生成的,比如一般在安装apache时都会--enable-so ,允许动态加载模块. 这个模块你可以这样去生成. 1.下载一个与当前使用的apa ...
- Android中调用系统所装的软件打开文件(转)
Android中调用系统所装的软件打开文件(转) 在应用中如何调用系统所装的软件打开一个文件,这是我们经常碰到的问题,下面是我所用到的一种方法,和大家一起分享一下! 这个是打开文件的一个方法: /** ...
- Working with the NSOperationQueue Class
Multi-tasking prevents apps from freezing. In most programming languages, achieving this is a bit tr ...
- Java算法题:求素数
题目:判断101-200之间有多少个素数,并输出所有素数. 思路:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数. 具体代码: public Ve ...
- Qt之QStyledItemDelegate类
主要用于自定义项的display和编辑: 通常有两个重载函数: // 决定该单元格的推荐大小 virtual QSize sizeHint(const QStyleOptionViewItem &am ...
- 【转】VirtualBox网卡设置
原文: https://blog.csdn.net/jwpker/article/details/45870903 ------------------------------------------ ...
- 如果你还有以下这些现象,那你仍是PHP菜鸟:
最近看了个文章,写的很精辟,跟大家分享一下,这也是我的目标: 如果你还有以下这些现象,那你仍是PHP菜鸟:1. 不会利用如phpDoc这样的工具来恰当地注释你的代码:2. 对优秀的集成开发环境如Zen ...
- Centos 通过yum的方式升级内核
在安装某些软件时,可能对我们的系统内核版本有要求. 比如在安装docker要满足一定的条件,对于centos系统,要求必须是64位,并且内核版本是3.10以上. 如果你的centos操作系统内核低于3 ...
- Angular 学习笔记——service &constant
<!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...
- vector list map 遍历删除指定元素
#include <stdio.h> #include <stdint.h> #include <vector> #include <list> #in ...