Pinger plusieurs adresses IP en même temps : gping, noping et fping

,

La commande ping ne surveille qu’une seule adresse à la fois. Pour suivre en parallèle la passerelle, un serveur et un DNS public, ou pour repérer quelles machines répondent sur un sous-réseau, trois outils des dépôts Debian font le travail directement dans le terminal : gping, noping et fping.

Les commandes ci-dessous ont été vérifiées sur Debian 13 (Trixie) avec gping 1.19.0, oping 1.10.0 et fping 5.1.

Lequel choisir ?

  • gping : un graphique de latence en temps réel, une courbe colorée par hôte. Idéal pour comparer 2 à 6 cibles.
  • noping : un tableau de bord ncurses, un cadre de statistiques par hôte. Reste lisible avec une dizaine de cibles ou plus.
  • fping : pas d’interface, une sortie texte. Parfait pour balayer une plage d’adresses ou pour un script.

gping : le graphique de latence

gping trace le temps de réponse de chaque hôte sous forme de courbe dans le terminal. Il s’appuie sur la commande ping du système, il ne demande donc aucun droit particulier.

apt install gping
gping 192.168.1.254 192.168.1.10 1.1.1.1

Chaque hôte reçoit sa propre couleur. On quitte avec Ctrl+C.

Options utiles :

-n 1          intervalle entre deux pings, en secondes (0.2 par défaut)
-b 120        durée affichée dans le graphique, en secondes (30 par défaut)
-4 / -6       forcer IPv4 ou IPv6
-i eth0       choisir l'interface de sortie
-s            graphisme simple, pour les terminaux sans caractères braille Unicode
-c red,blue   imposer les couleurs, dans l'ordre des hôtes
--clear       effacer le graphique en quittant

Exemple : surveiller une coupure pendant deux minutes, un ping par seconde :

gping -n 1 -b 120 192.168.1.254 1.1.1.1

gping sait aussi mesurer la durée d’exécution d’une commande plutôt qu’un ping, avec --cmd :

gping --cmd "curl -so /dev/null https://www.debian.org"

Au-delà de cinq ou six courbes, le graphique devient difficile à lire : passez alors à noping.

noping : le tableau de bord ncurses

noping est fourni par le paquet oping, avec oping, son équivalent en sortie texte. Il envoie les requêtes ICMP en parallèle, en IPv4 et IPv6, et affiche un cadre par hôte : paquets envoyés et reçus, pourcentage de perte, latence, et un graphique.

apt install oping
noping 192.168.1.254 192.168.1.10 192.168.1.20 1.1.1.1

Pas besoin de sudo : à l’installation, le paquet Debian donne la capacité cap_net_raw aux binaires (ou le bit setuid si setcap n’est pas disponible). Vérification :

getcap /usr/bin/noping
# /usr/bin/noping cap_net_raw=ep

Les temps de réponse sont colorés : vert pour les valeurs habituelles, jaune pour les valeurs inhabituelles, rouge pour les valeurs aberrantes. Un paquet perdu s’affiche sous forme de point d’exclamation rouge.

Touches pendant l’exécution :

g     changer le type de graphique
+ -   agrandir ou réduire les cadres
a     ajouter un hôte à la volée

On quitte avec Ctrl+C.

Pour une liste d’équipements à surveiller régulièrement, mettez-les dans un fichier, une adresse par ligne :

vi ~/hotes.txt
192.168.1.254
192.168.1.10
192.168.1.20
192.168.1.30
noping -f ~/hotes.txt

Options utiles :

-i 0.5        intervalle entre deux pings, en secondes
-g histogram  type de graphique : prettyping (défaut), histogram, boxplot ou none
-H 3          hauteur des cadres, de 1 à 5 lignes (réduire pour voir plus d'hôtes)
-O ping.csv   enregistrer chaque mesure dans un fichier CSV (horodatage, hôte, latence)
-b            bip à chaque réponse, pratique pour suivre le redémarrage d'une machine

Exemple : cadres compacts pour faire tenir plus d’hôtes à l’écran, avec enregistrement des mesures :

noping -H 2 -O ~/ping-$(date +%F).csv -f ~/hotes.txt

fping : balayer une plage et scripter

fping n’a pas d’interface graphique, mais il est imbattable pour savoir rapidement qui répond sur un réseau.

apt install fping

Lister les machines actives d’un sous-réseau, avec leur temps de réponse :

fping -a -e -g 192.168.1.0/24 2>/dev/null
192.168.1.10 (0.164 ms)
192.168.1.20 (0.059 ms)
192.168.1.254 (0.201 ms)

La plage peut aussi s’écrire avec une adresse de début et de fin : fping -a -g 192.168.1.1 192.168.1.50. L’option -u fait l’inverse et liste les cibles qui ne répondent pas.

Envoyer 3 pings à chaque hôte et n’afficher que le bilan :

fping -c 3 -q 192.168.1.254 192.168.1.10 192.168.1.20
192.168.1.254 : xmt/rcv/%loss = 3/3/0%, min/avg/max = 0.201/0.253/0.303
192.168.1.10  : xmt/rcv/%loss = 3/3/0%, min/avg/max = 0.118/0.139/0.153
192.168.1.20  : xmt/rcv/%loss = 3/3/0%, min/avg/max = 0.043/0.048/0.053

Surveiller en continu avec un bilan toutes les 10 secondes :

fping -l -Q 10 -f ~/hotes.txt

Le même fichier d’hôtes que pour noping fonctionne avec -f.

En résumé

gping 192.168.1.254 1.1.1.1                # comparer quelques hôtes sur un graphique
noping -f ~/hotes.txt                       # tableau de bord pour une liste d'équipements
fping -a -e -g 192.168.1.0/24 2>/dev/null   # qui répond sur le réseau ?

Sources

Commentaires

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.