Ping 1 - 254

Voici un script Linux pour effectuer 254 pings sur les adresses du réseau local afin de voir quelles adresses sont utilisées :

ping1254.sh
#!/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 : Premiere version.
# - v0.71 : 12/11/2009 : Ajout de la date et de l'heure au debut deu 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

Le script n'attend qu'un seul paramètre optionnel pour préciser les 3 premiers octets du réseau, par exemple ./ping1254.sh 10.254.87 pour les adresses de 10.254.87.1 à 10.254.87.254 ou encore ./ping1254.sh 192.168.0 pour les adresses de 192.168.0.1 à 192.168.0.254.

Par défaut, si aucun paramètre n'est donné le script utilise le réseau 192.168.1, c'est à dire les adresses de 192.168.0.1 à 192.168.0.254.

Et voici un exemple d'utilisation sur un réseau local en 192.168.1.0/24, c'est à dire de 192.168.1.1 à 192.168.1.254 :

> ping1254.sh 192.168.1
25-04-2020 15:34:13 Ping1254.sh (c) Cyril GREWIS - Version 0.9 du 17/11/2015.
Ping sur les adresses de 192.168.1.1 a 192.168.1.254.
  1 X    2      3      4      5      6      7      8    
  9     10     11 X   12     13     14     15     16    
 17     18     19     20     21     22     23     24    
 25 X   26     27     28     29     30     31     32    
 33     34     35     36     37     38     39     40    
 41     42     43     44     45     46     47     48 X  
 49     50     51     52     53 X   54     55     56    
 57     58     59     60     61     62     63     64    
 65     66     67     68     69     70     71     72    
 73     74     75     76     77 X   78     79     80 X  
 81     82     83     84     85 X   86     87     88    
 89     90     91     92     93     94     95     96    
 97     98     99    100    101    102    103    104    
105    106    107    108    109    110    111    112    
113    114    115    116    117    118    119    120    
121    122    123    124    125    126    127    128    
129    130    131    132    133    134    135    136    
137    138    139    140    141    142    143    144    
145    146    147    148    149    150    151    152    
153    154    155    156    157    158    159    160    
161    162    163    164    165    166    167    168    
169    170    171    172    173    174    175    176    
177    178    179    180    181    182    183    184 X  
185    186    187    188    189    190    191    192    
193    194    195    196    197    198    199    200    
201    202    203    204    205    206    207    208    
209    210    211    212    213 X  214    215    216    
217    218    219    220 X  221    222    223    224    
225    226    227    228    229    230    231    232    
233    234    235    236    237    238    239    240    
241    242    243    244    245    246    247    248    
249    250    251    252    253    254    
---------------------------------
Nombre total d'adresses     : 254
Nombre d'adresses utilisees : 11
Nombre d'adresses libres    : 243
---------------------------------


[ Adresse Bitcoin pour les dons BTC : 1KCZGe7PtxwaWEJf1dHcoqsxbrzypNTvEw ]