Linux下使用ping快速检测存活主机
该shell脚本主要是通过ping来批量检测网段内存活主机,执行结果保存在脚本当前目录下的IPinfor目录中,写的比较匆忙,希望大家留下更好的建议。
#!/usr/bin/env bash
#######################################################
#Blog:http://www.cnblogs.com/shenlanqianlan/
# function: Batch detection of live hosts
# Email:10353512@qq.com
# QQ:10353512
# version:1.1
# Author : 刘琪
################################################
LANG="zh_CN.UTF-8"
export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
c1=$1
c2=$2
function CheckInput(){
if [ $# -ne 2 ] ; then
return 1
else
return 0
fi
}
function PingIp(){
ping -c 2 -W 2 $1 &>/dev/null
if [ $? -eq 0 ] ; then
echo $1 >> $TMP_ACTIVE
else
echo $1 >> $TMP_DOWN
fi
}
function PingAll(){
count=0
for c in `seq $c1 $c2`;do
for d in `seq 1 254`;do
if [[ "$count" -ge 50 ]] ;then
count=0
sleep 5 #执行50次以后停止5秒后继续执行
fi
let count+=1
IP="10.144.$c.$d"
PingIp $IP &
sleep 0.02 #每次执行命令间隔
done
done
}
function SortIp(){
while :
do
PING_NUM=$(ps -ef|grep ping|grep -v 'grep'|wc -l)
if [ $PING_NUM -eq 0 ] ; then
`cat $TMP_ACTIVE| sort -t"." -k1,1n -k2,2n -k3,3n -k4,4n > ./IPinfor/active.host`
`cat $TMP_DOWN| sort -t"." -k1,1n -k2,2n -k3,3n -k4,4n> ./IPinfor/down.host`
rm -f $TMP_ACTIVE
rm -f $TMP_DOWN
break
fi
done
}
function main(){
CheckInput $*
if [ $? -ne 0 ] ; then
echo -e $"请输入网段范围 如192.168.1.0-192.168.2.0 则需要需要在脚本后加参数 *.sh 1 2"
else
if [ ! -d "./IPinfor" ]; then
mkdir ./IPinfor
fi
TMP_ACTIVE=$(mktemp)
TMP_DOWN=$(mktemp)
>./IPinfor/active.host
>./IPinfor/down.host
PingAll $*
SortIp
fi
}
main $*
Linux下使用ping快速检测存活主机的更多相关文章
- zz linux 下查看局域网内所有存活主机和MAC进址
用namp对局域网扫描一遍,然后查看arp缓存表就可以知道局域内ip-mac的对应了namp比较强大也可以直接扫描mac地址和端口 进行ping扫描,打印出对扫描做出响应的主机: nmap -sP 1 ...
- Windows 和 Linux 下 禁止ping的方法
Windows 和Linux 下 禁止ping的方法 目的: 禁止网络上的其他主机或服务器ping自己的服务器 运行环境: Windows 03.08 linux 方法: Windows 03下: ...
- linux下实用的快速随机生成复杂密码
linux下实用的快速随机生成复杂密码 [root@test.db-audit.1 ~]# </dev/urandom tr -dc '1234567890!@#$%abcdefghigklmn ...
- Unix/Linux提权漏洞快速检测工具unix-privesc-check
Unix/Linux提权漏洞快速检测工具unix-privesc-check unix-privesc-check是Kali Linux自带的一款提权漏洞检测工具.它是一个Shell文件,可以检测 ...
- Linux下Rootkit的另类检测
Linux下Rootkit的另类检测 当黑客获取管理员权限时,首先是抹掉入侵系统的相关记录,并且隐藏自己的行踪,要实现这一目的最常用的方法就是使用Rootkits,简单的说,Rootkits是一种经 ...
- Linux下实现ping功能
实现ping功能,就肯定要用到ping命令,那么在Linux下ping命令为: ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面&g ...
- Linux下的NFS快速配置教程与安全策略
[51CTO专稿]在Linux下实现文件共享有多种方式,NFS就是其中之一.网络文件系统(NFS)协议是由Sun MicroSystem在20世纪80年代为了提供对共享文件的远程访问而设计和实现的.该 ...
- Linux—服务器SSL/TLS快速检测工具(TLSSLed)
一.下载TLSSLed [root@localhost ~]# yum install tlssled 二.服务器SSL/TLS快速检测工具TLSSLed 现在SSL和TLS被广泛应用服务器的数据加密 ...
- linux安装后ping不通局域网其他主机的解决方式
安装了linux后尝试进行机器间的相互通讯,发现自己虚拟机并不能查看ip地址,也不能够ping通任何一台局域网内的主机 上网查了一下发现是网卡并没有打开,需要进行如下配置 查看ls 一下/etc/sy ...
随机推荐
- centos6.4下面安装postgresql以及客户端远程连接
一.安装 centos6.4服务器IP:192.168.220.131 window7客户端IP:192.168.199.218 在centos官网http://www.postgresql.org/ ...
- 【笔记】ListView的使用
1.0 ListView三要素 1.0.1 创建基本步骤 1.在布局文件中创建一个ListView组件,并在Activity中声明这个组件. 2.在Activity中,创建一个合适的Adapter. ...
- 了解JavaWeb,一篇就够
把HTML.CSS.JSP.JS.JavaScript,JQuery,STRUTS,String,MVC,DOM 柔和起来,贯穿成一篇完整的内容,让读者明白JavaWeb的前前后后. 从Servlet ...
- 学习SVG系列(3):SVG Stroke属性
SVG stroke 属性 1.stroke 2.stroke-width 3.stroke-linecap 4.stroke-dasharray 5.stroke-opacity 6.stroke- ...
- 黑马程序员——【Java高新技术】——代理
---------- android培训.java培训.期待与您交流! ---------- 一.“代理概述”及“AOP概念” (一)代理概述 1.问题:要为已存在的多个具有相同接口的目标类的各个方法 ...
- SQL排序
- 用H5和js写一个移动端自定义播放器
前言 由于html5自带的播放器样式不怎么好看,大多数人都是自己写一个来满足业务需求.这一次的需求如下: 1.不要上一曲下一曲 2.有进度条和播放暂停按钮 3.有时间显示 demo实现功能 1.进度条 ...
- java 集合:实现
集合本来就是为了方便开发的,实现了一些基本数据结构,一般来说数据结构有两种物理的实现:数组和链表.数组是连续的空间,链表是不连续的.基于这两种又扩展了很多的数据结构.队列,栈,hash表,树. 在ja ...
- 十分钟了解分布式计算:Spark
Spark是一个通用的分布式内存计算框架,本文主要研讨Spark的核心数据结构RDD的设计思路,及其在内存上的容错.内容基于论文 Zaharia, Matei, et al. "Resili ...
- cs231n笔记:线性分类器
cs231n线性分类器学习笔记,非完全翻译,根据自己的学习情况总结出的内容: 线性分类 本节介绍线性分类器,该方法可以自然延伸到神经网络和卷积神经网络中,这类方法主要有两部分组成,一个是评分函数(sc ...