Bonjour, je suis etudiant en info, simple parenthese, on nous fait faire des scripts sans avoir jamais fait de l'algorithme. Autant dire que les bases sont quasi nulles. Je veux bien apprendre mais, ce seras avec le temps.

Revenons a ma question,

J'ai une base de script que je doit modifier:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
 
check_IP()
{
    if [[ $1 =~ ^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$ ]] ; then
        echo "L'adresse donnée semble bien structurée comme une IPV4"
    else
        echo "L'adresse IP donnée ne semble pas être conforme au format IPV4"
        exit 1
    fi
}
 
 
if [ $# -eq 0 ]; then
    IFACE=`netstat -nr | awk '{print $NF}' | tail -1`
    set - `ip addr show $IFACE | grep "inet\s" | awk '{print $2}' | awk -F"/" '{print $1}'`
fi
 
echo "L'adresse IP donnée est $1"
 
check_IP $1 
 
SUBNET=`echo $1 | cut -d"." -f1-3`
if [ $SUBNET == "" ]; then
    echo "Il doit y avoir un problème avec l'adresse IP donnée [$1]"
    echo "Je n'arrive pas à en faire un subnet ..."
    exit 1
fi
 
echo "Le réseau est ${SUBNET}.0"
 
check_IP ${SUBNET}.0
 
read -p "[enter] pour continuer"
 
for ((i=1 ; i<256 ; i++)) ; do
    echo "ping ${SUBNET}.$i"
done
ceci est le script donné, a partir de celui-si je doit “scanner” le réseau en utilisant la commande “ping”
Dans votre boucle de 0 à 255 au lieu de m’afficher “ping 192.168.1.10” vous devrez afficher uniquement les adresses IP qui sont joignables.
Si aucune adresse IP n’est joignable alors vous devrez afficher un message d’erreur.

Je ne voit pas du tout ce que je doit modifier...

Merci par avance.