Les ordinateurs en réseau sont si courants de nos jours que la plupart d'entre nous tiennent pour acquis qu'un ordinateur d'un côté d'une pièce peut contacter un ordinateur de l'autre côté de la pièce, et encore moins l'autre côté du monde. Lorsqu'il fonctionne comme prévu, la mise en réseau est ce qui rend Internet, le cloud, les partages de fichiers, la diffusion multimédia en continu, l'administration à distance, l'impression et bien plus encore. Quand quelque chose ne va pas, il peut parfois être difficile de diagnostiquer. L'un des outils de diagnostic les plus fondamentaux pour la connectivité réseau est le ping
commande.
Plus de ressources Linux
- Aide-mémoire des commandes Linux
- Aide-mémoire des commandes Linux avancées
- Cours en ligne gratuit :Présentation technique de RHEL
- Aide-mémoire sur le réseau Linux
- Aide-mémoire SELinux
- Aide-mémoire sur les commandes courantes de Linux
- Que sont les conteneurs Linux ?
- Nos derniers articles Linux
Le ping de base
Lorsque vous ne parvenez pas à joindre un ordinateur de votre réseau local ou un serveur sur Internet, vous pouvez lui envoyer un ping. Un ping envoie un paquet ICMP (Internet Control Message Protocol) à une adresse IP de destination. ICMP est, de par sa conception, un format rudimentaire utilisé principalement pour les diagnostics :il s'agit essentiellement d'un signal d'appel et de réponse.
Mais il y a un ordre au dépannage, et cela commence aussi près de chez vous que possible. En cas de doute, envoyez d'abord un ping à votre propre ordinateur pour vous assurer que vous utilisez une pile réseau. L'ordinateur que vous utilisez est également appelé votre localhost , et une adresse IP spéciale lui est attribuée pour se parler :12.0.0.1.
Le ping
la commande comprend localhost nom d'hôte, son adresse IP et un raccourci de 0
.
Vous pouvez contrôler le nombre de signaux que vous envoyez avec le -c
(comme dans compter ) option.
$ ping 0 -c1
PING 0 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.069 ms
--- 0 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.069/0.069/0.069/0.000 ms
Une fois que vous avez établi que votre pile de réseau local est opérationnelle, vous pouvez envoyer un ping à votre routeur. L'adresse d'un routeur commence généralement par 192 168 ou 10. L'adresse IP exacte dépend de la configuration de votre routeur.
Lorsque vous ne spécifiez pas le nombre de pings à envoyer, vous pouvez arrêter ping
de s'exécuter avec Ctrl +C .
$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
From 192.168.0.100: icmp_seq=2 Redirect Host(New nexthop: 192.168.0.1)
From 192.168.0.100: icmp_seq=3 Redirect Host(New nexthop: 192.168.0.1)
From 192.168.0.100: icmp_seq=4 Redirect Host(New nexthop: 192.168.0.1)
From 192.168.0.100: icmp_seq=5 Redirect Host(New nexthop: 192.168.0.1)
^C
Si vous pouvez atteindre votre routeur, cela signifie que votre connexion filaire ou sans fil fonctionne.
Qu'en est-il des autres hôtes sur mon réseau ? Vous pouvez envoyer un ping à toutes sortes d'appareils. Tous ne sont pas garantis pour répondre (certains appareils abandonnent les paquets ICMP), mais beaucoup le font. Par exemple, je peux envoyer un ping à mon imprimante :
$ ping 192.168.0.4
Pinging au-delà de votre réseau
En plus d'établir que votre propre réseau fonctionne comme prévu, vous pouvez également envoyer un ping dans le monde au-delà de votre routeur. Encore une fois, tous les serveurs ne sont pas autorisés à recevoir ICMP, et encore moins à y répondre. Cependant, certains le font, et un serveur vital pour le fonctionnement d'Internet est un serveur de noms.
Le serveur DNS de Google est relativement facile à retenir et répond aux pings :
$ ping -c 2 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=53.3 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=53.5 ms
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 53.304/53.424/53.544/0.120 ms
Lorsqu'un site a apparemment disparu, vous pouvez peut-être sonder le réseau DNS mondial pour connaître l'adresse de son serveur hôte, puis envoyer un ping à ce serveur. Cela vous indique au moins si l'hôte est en panne ou s'il s'agit simplement d'un problème de serveur Web.
Par exemple, supposons que vous essayez en vain d'atteindre example.com. Tout d'abord, recherchez l'adresse IP à l'aide de l'host
commande :
$ host example.com
example.com has address 93.184.216.34
example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946
example.com mail is handled by 0
Puis pingez l'hébergeur du site Web par IP :
$ ping 93.184.216.34 -c 1
Ping et IPv6
Ping fonctionne aussi bien sur IPv4 que sur IPv6. L'utilisation explicite d'un seul d'entre eux peut être imposée en spécifiant -4
ou -6
.
Taille du paquet
Vous pouvez modifier la taille des paquets ICMP que vous envoyez avec le -s
option. La taille de paquet par défaut est de 56, ce qui se traduit par 64 octets de données ICMP lorsqu'il est combiné avec l'en-tête de 8 octets. Cette commande envoie 43 octets :
$ ping -s 35 -c 5 8.8.8.8
Vous pouvez imprimer un horodatage avant chaque rapport de ping dans votre terminal avec le -D
option. Cela fournit l'heure d'époque UNIX, plus les microsecondes :
$ ping -D 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
[1634013430.297468] 64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=53.3 ms
[1634013431.298738] 64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=53.1 ms
Temps de ping
Vous pouvez modifier l'intervalle de temps entre les pings à l'aide de -i
option. Cela change l'intervalle de ping à deux secondes :
$ ping -i 2
Vous pouvez également arrêter le ping après une certaine valeur de temps (en secondes) avec le -w
choix :
$ ping -w 6
Variantes
Il existe de nombreuses implémentations de ping. Les iputils
le package fournit un ping
commande, Busybox a un ping
commande, et il y en a une de BSD et d'autres. Il y a même une interface graphique pour ping
:Gping est disponible pour Linux, macOS et Windows. Vous pouvez trouver plus d'informations pour gping
sur Github.
Apprenez à faire un ping
Le ping
commande est simple, mais il peut être des yeux et des oreilles sur la vaste étendue qu'est votre réseau. La prochaine fois que vous rencontrez des problèmes de connectivité, laissez ping
soyez le premier outil vers lequel vous vous tournez.