GNU/Linux >> Tutoriels Linux >  >> Linux

Diagnostiquer les problèmes de connectivité avec la commande Linux ping

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.


Linux
  1. Planification des tâches avec la commande Linux cron

  2. Regardez les commandes et les tâches avec la commande Linux watch

  3. Remplacez les guillemets intelligents par la commande Linux sed

  4. Premiers pas avec la commande Linux tac

  5. Premiers pas avec la commande Linux cat

Comment utiliser la commande who sous Linux avec des exemples

Comment utiliser la commande Linux Ping

Commande Ping sous Linux

Commande Linux ip avec exemples

Comment rechercher des fichiers avec la commande fd sous Linux

Commande ping Linux