Source

generic-bash-scripts / ping_subnet.sh

Matt Reid c63c4f7 






































#!/bin/sh
#Matt Reid matthew@servepath.com / themattreid@gmail.com
#10/10/05
#simple script to interface with Ping and Nmap to support ping of subnets
#$1 is the IP or Subnet, $2 is the ping -c amount

helpMe() {
	echo "Replacement for the Ping command. Uses NMap to support subnet ping scanning."
	echo "Usage: ping [ip/subnet] [ping count]"
	echo "location of Nmap: `which nmap`"
	echo "location of Ping: `which ping`"
}

#check if second arg for ping count was given
pingIp() {
IP=$1
#set COUNT=4 if $2 is not given
COUNT=${2:-4}
$PINGC -c $COUNT $IP
}

checkArg() {
if [ -z "$1" ]; then #no IP/subnet given
    helpMe
else
    if echo $1 | grep -q -v / ; then 
	echo "#### SINGLE IP - NOT A SUBNET - USING PING ####"
	pingIp $1 $2
    else
	echo "#### SUBNET - USING NMAP ####"
        $NMAPC -sP $1
    fi
fi
}

#find locations of necessary commands
PINGC=`which ping`
NMAPC=`which nmap`
#run the functions
checkArg $1 $2
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.