码迷,mamicode.com
首页 > 系统相关 > 详细

ping一堆机器的二种方法(shell或fping)

时间:2015-04-28 18:53:10      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:shell fping

cat ip.sh
#!/bin/bash
#--------------------------------------------------  
#Created:2015-04-28
#Author:jimmygong
#Mail:jimmygong@taomee.com
#Function:ping
#Version:1.0
#--------------------------------------------------
set -o nounset
ipfile=~/iplist.txt
pinglog=~/ping.log
pinglog2=~/ping.log2
[[ -e $ipfile ]] || exit 1
[[ -e $pinglog ]] && `> $pinglog`
function pingfc () {
touch $pinglog
i=1
while read ipline
do
    (
        packet=`ping -s 100 -f -c 10 -q $ipline|awk /transmitted/|awk ‘{print $6}‘`  
    echo "$ipline $packet" >> $pinglog
    )&
    [[ $i%10 -eq 0 ]] && wait
done < $ipfile
wait
grep -v " 0%" $pinglog > $pinglog2 2>&1
}

pingfc
exit 0

==================================说明============================================
bash ip.sh
执行结果
cat ping.log
10.1.1.101 0%
10.1.1.102 0%
10.1.1.104 0%
10.1.1.105 0%
10.1.1.103 100%

cat iplist.txt
10.1.1.101
10.1.1.102
10.1.1.103
10.1.1.104
10.1.1.105

-f 极限检测。大量且快速地送网络封包给一台机器看它的回应。
-f Flood ping. For every ECHO_REQUEST sent a period ?..?..is printed, while for ever ECHO_REPLY received a backspace is printed. This provides a rapid display of how
many packets  are being dropped.  If interval is not given, it sets interval to zero and outputs packets as fast as they come back or one hundred times per second,
whichever is more.  Only the super-user may use this option with zero interval.
-s 字节数指定发送的数据字节数预设值是56加上8字节的ICMP头一共是64ICMP数据字节。
Specifies the number of data bytes to be sent.  The default is 56, which translates into 64 ICMP data bytes when combined with the 8 bytes of ICMP header data.
-c 数目在发送指定数目的包后停止。
-c count
Stop after sending count ECHO_REQUEST packets. With deadline option, ping waits for count ECHO_REPLY packets, until the timeout expires.
-q 不显示任何传送封包的信息只显示最后的结果。
-q Quiet output.  Nothing is displayed except the summary lines at startup time and when finished.

二、需要安装fping命令(apt-get -y install fping --force-yes或yum -y install fping)
fping - sends ICMP ECHO_REQUEST packets to network hosts

fping -ef /root/iplist.txt >ping.log 2>&1
==================================说明============================================
执行结果
cat ping.log
10.1.1.101 is alive (0.66 ms)
10.1.1.102 is alive (1.22 ms)
10.1.1.104 is alive (1.28 ms)
10.1.1.105 is alive (1.26 ms)
10.1.1.103 is unreachable

cat iplist.txt
10.1.1.101
10.1.1.102
10.1.1.103
10.1.1.104
10.1.1.105

-f Read list of targets from a file.
-e Show elapsed (round-trip) time of packets

本文出自 “7928217” 博客,请务必保留此出处http://7938217.blog.51cto.com/7928217/1639753

ping一堆机器的二种方法(shell或fping)

标签:shell fping

原文地址:http://7938217.blog.51cto.com/7928217/1639753

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!