#!/bin/bash # # Petit script pour faire des ping de 1 a 254 sur l'adresse # passee en parametre. # # Par défaut, si aucune adresse n'est passee on utilise 192.168.1 # # Cyril GREWIS, le 06/11/2009. # # Historique des versions : # - v0.7 : 06/11/2009 : Première version. # - v0.71 : 12/11/2009 : Ajout de la date et de l'heure au début du traitement. # - v0.9 : 17/11/2015 : optimisations, ajout d'un bip et correction d'un bug. # Blanc=" " if [ $1 == "" ]; then AdrBase="192.168.1" else AdrBase=$1 fi echo "`date +%d-%m-%Y\ %k:%M:%S` Ping1254.sh (c) Cyril GREWIS - Version 0.9 du 17/11/2015." echo "Ping sur les adresses de $1.1 a $1.254." NbOK=0 for i in `seq 1 254`; do ping -qc1 -w1 -W1 $1.$i >/dev/null resul=`echo $?|sed "s/0$/X/"|sed "s/1$/\ /"` resultat="$resultat $resul" if [ "$resul" == "X" ] ; then [[ -e /usr/bin/beep ]] && /usr/bin/beep (( NbOK = $NbOK + 1 )) fi echo -ne "$Blanc$i $resul " (( Nblig = $Nblig + 1 )) (( Nbtotlig = $Nbtotlig + 1 )) if [ $Nblig == 8 ] ; then Nblig=0 echo fi if [ $Nbtotlig == 9 ] ; then Blanc=" " fi if [ $Nbtotlig == 99 ] ; then Blanc="" fi done echo (( NbPB = $Nbtotlig - $NbOK )) echo "---------------------------------" echo "Nombre total d'adresses : $Nbtotlig" echo "Nombre d'adresses utilisees : $NbOK" echo "Nombre d'adresses libres : $NbPB" echo "---------------------------------" exit 0