“scanner” le réseau en utilisant la commande “ping”
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:
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.