GNU/Linux >> Tutoriels Linux >  >> Linux

Comment vérifier l'accès à Internet à l'aide du script bash sous Linux?

Utilisation de wget :

#!/bin/bash

wget -q --tries=10 --timeout=20 --spider http://google.com
if [[ $? -eq 0 ]]; then
        echo "Online"
else
        echo "Offline"
fi

Si l'école éteint son routeur au lieu de rediriger tout le trafic vers une page "pourquoi n'êtes-vous pas au lit", il n'est pas nécessaire de télécharger une page Web entière ou d'envoyer des en-têtes HTTP. Tout ce que vous avez à faire est d'établir une connexion et de vérifier si quelqu'un écoute.

nc -z 8.8.8.8 53

Cela affichera "Connexion au port 53 8.8.8.8 [tcp/domaine] réussie !" et renvoie une valeur de 0 si quelqu'un écoute.

Si vous souhaitez l'utiliser dans un script shell :

nc -z 8.8.8.8 53  >/dev/null 2>&1
online=$?
if [ $online -eq 0 ]; then
    echo "Online"
else
    echo "Offline"
fi

#!/bin/bash

INTERNET_STATUS="UNKNOWN"
TIMESTAMP=`date +%s`
while [ 1 ]
 do
    ping -c 1 -W 0.7 8.8.4.4 > /dev/null 2>&1
    if [ $? -eq 0 ] ; then
        if [ "$INTERNET_STATUS" != "UP" ]; then
            echo "UP   `date +%Y-%m-%dT%H:%M:%S%Z` $((`date +%s`-$TIMESTAMP))";
            INTERNET_STATUS="UP"
        fi
    else
        if [ "$INTERNET_STATUS" = "UP" ]; then
            echo "DOWN `date +%Y-%m-%dT%H:%M:%S%Z` $((`date +%s`-$TIMESTAMP))";
            INTERNET_STATUS="DOWN"
        fi
    fi
    sleep 1
 done;

la sortie produira quelque chose comme :

bash-3.2$ ./internet_check.sh
UP   2016-05-10T23:23:06BST 4
DOWN 2016-05-10T23:23:25BST 19
UP   2016-05-10T23:23:32BST 7

le nombre à la fin d'une ligne indique la durée de l'état précédent, c'est-à-dire 19 en haut, 7 secondes en bas


Linux
  1. Comment utiliser un mot de passe crypté dans le script Linux Bash Shell

  2. Comment déboguer un script bash ?

  3. Linux - Comment restreindre l'accès à Internet pour un utilisateur particulier sur le réseau local à l'aide d'Iptables sous Linux ?

  4. Comment vérifier la sous-chaîne dans Shell Script Bash?

  5. Comment vérifier syslog dans Bash sous Linux ?

Comment vérifier l'utilisation de l'espace disque sous Linux à l'aide de Ncdu

Comment vérifier la vitesse d'Internet sous Linux à l'aide de Speedtest CLI

Comment synchroniser des fichiers dans les deux sens à l'aide du script Osync sous Linux

Comment vérifier la vitesse d'Internet sous Linux

Comment exécuter un script bash

Comment vérifier la syntaxe d'un script Bash sans l'exécuter ?