Bienvenue visiteur (Inscription |  Connexion)
Qui est en ligne ?
Il y a : 15 utilisateurs en ligne, consultez le détail
Auteur Message
Logicien
#0 Message posté le : 07-06-2007 à 00:36:45


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 17-12-2005
Nombre de messages : 460
Bonjour,
Afin de garder ma connexion à accès commuté active et éviter les déconnexions, j'ai fait un tout petit script qui ping www.worldline.ca à toutes les 30 secondes. Il s'exécute en arrière plan et j'ai désactivé la sortie. ping-int.sh:

#!/bin/bash

ping -I ppp0 -i 30 -L -q www.worldline.ca > /dev/null

exit 0

Maintenant comment puis-je savoir si effectivement une requête et une réponse sont émises et reçues toutes les 30 secondes autrement qu'en redirigeant la sortie de la commande vers un fichier ou un terminal? Netstat probablement, si oui comment? Peut-on faire un ping aléatoire sur Internet afin de ne pas surcharger un site de requêtes ICMP? Il y a bien le paramètre -b pour broadcast, mais est-ce possible d'obtenir une réponse à un ping via l'adresse de diffusion de tout le Web 255.255.255.255?

mob 22:08 ~ $ ping -I ppp0 -b 255.255.255.255
WARNING: pinging broadcast address
PING 255.255.255.255 (255.255.255.255) from 66.201.246.89 ppp0: 56(84) bytes of data.

--- 255.255.255.255 ping statistics ---
8 packets transmitted, 0 received, 100% packet loss, time 7009ms

mob 22:19 ~ $


--Message édité par Logicien le 07-06-2007 à 04:33:28--
Azollyx
#1 Message posté le : 07-06-2007 à 20:30:38


Naboo


Forum : Modérateur
Association : Président
Arrivé(e) le : 09-04-2006
Nombre de messages : 2085
Pour savoir si ça a marché, tu peux examiner le code de retour ($?) et utiliser test voire directement Bash (ping... && echo ok || echo PAS DE CONNEXION).

-------------------------------------
toto
Logicien
#2 Message posté le : 07-06-2007 à 23:08:49


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 17-12-2005
Nombre de messages : 460
ping... && echo ok || echo PAS DE CONNEXION

C'est bon Azollyx. Ça marche. Avec cette commande dans une boucle, je saurai le résultat pour chaque requête. Je peux aussi inclure le moment précis de la requête. Merci.

Avec l'option -f, ping affiche un point(.) au terminal quand il envoie une requête et efface le point( ) quand il y a eu réponse. Quand le délai est expiré sans réponse, il lance une nouvelle requête, ainsi de suite. De cette manière, le nombre de points dit le nombre de requêtes sans réponses. À la fin de la commande(-c x, Ctrl+c, etc) les statistiques sont aussi affichées. C'est quand même plus pratique de l'exécuter en avant plan. Il y a les commandes fping et oping qui peuvent envoyer des requêtes ICMP à un liste de destinataires à tour de rôle. Je cherche une bonne interface graphique à tout ça. Ce serait mieux que le terminal. Je n'ai pas encore trouvé, même si NmapFE a une fonction ping.

--Message édité par Logicien le 07-06-2007 à 23:20:45--
Azollyx
#3 Message posté le : 08-06-2007 à 14:55:45


Naboo


Forum : Modérateur
Association : Président
Arrivé(e) le : 09-04-2006
Nombre de messages : 2085
Ce que tu peux faire, c'est mettre un terminal totalement transparent dans un coin de ton écran et ne rien afficher si ça marche puis crier quand t'es plus connecté ; tu peux aussi mettre le terminal en avant-plan...
Si tu veux mieux, tu peux utiliser xOSD ou x/k/g-dialog pour afficher un message quand tu n'as plus la connexion.

-------------------------------------
toto
Logicien
#4 Message posté le : 08-06-2007 à 20:37:42


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 17-12-2005
Nombre de messages : 460
Très intéressant Azollyx. C'est vrai qu'il n'est pas important de savoir que le ping a obtenu une réponse. C'est quand il n'en obtient pas que c'est important. Je vais voir comment je peux faire afficher un message à mon script quand le ping échoue et ce sur tout bureau et terminal virtuel. Merci encore et bonne journée.
Azollyx
#5 Message posté le : 08-06-2007 à 22:12:24


Naboo


Forum : Modérateur
Association : Président
Arrivé(e) le : 09-04-2006
Nombre de messages : 2085
Pour reprendre la commande que je t'ai donné tout à l'heure, ce serait ping... || echo REDALERT.
Ce que tu peux faire aussi, c'est rediriger ça vers un fichiers (>>) et utiliser tail -f pour te tenir au courant, ce qui te permettrais de dissocier l'afficage du test et en plus d'avoir un log (e.g. ping || date >> /var/log/missedpings et tail -f /var/log/missedpings | while read date; do Xdialog --title "plouf" --msgbox "Y'a plus Internet !!!"; done).

--Message édité par Azollyx le 08-06-2007 à 22:16:20--


-------------------------------------
toto