Tester sa connexion à internet

Petit script pour tester la présence d’une connexion à internet. A réutiliser dans n’importe quel script sous bash.

Voici un petit script utile dans le cas où l’on veut exécuter un petit script en fonction de la disponibilité d’un réseau. On pourra, par exemple, mettre à jour une base de donnée seulement si on est sur un réseau spécifique ou bien si il y a un ordinateur sur ce réseau.

Pour ma aprt, je suis en train de me faire un petit script que je mettrai en ligne plus tard afin d’envoyer l’adresse ip publique de mon ordinateur portable lorsque celui-ci est connecté à internet (peut être utile en cas de vol). Petit script qui nécessitera un serveur web.

On va simplement utiliser la commande ping avec quelques options.

La commande ping

Voici la ligne qui fera le test de ping :

ping -q -c 2 www.google.fr >/dev/null 2>&1

On va venir envoyer deux paquets (option c de la commande ping), l’option q permet de ne rien afficher. La dernière partie >/dev/null 2 >&1  permet de rediriger toutes les données que nous n’avons pas besoin dans un device spécifique à Linux.

A la plac de l’adresse de google, vous pouvez mettre n’importe adresse même ipv4.

Le test sur la commande ping

Maintenant le code complet, le test se fera avec un if :

ping -q -c 2 www.google.fr >/dev/null 2>&1
if [ $? -eq 0 ]; then 
     echo "Connexion établie"
else
     echo "Pas de connexion"
fi

Pas de grande difficulté, on exécute le ping, et on si la valeur retournée (contenu dans la variable $?) est égale à zéro (Bonne exécution de la commande) alors on est connecté.

Voilà un petit script utile, à vous de l’adapter à vos besoin.

Laisser un commentaire