6 Utilitaire Linux pour tester la connectivité réseau

Vous vous demandez comment vérifier la connectivité entre deux points de terminaison du réseau ?

L’une des tâches courantes de l’administrateur système consiste à vérifier la connectivité pour résoudre les problèmes de réseau. Il peut s’agir de quelque chose comme l’application ne peut pas se connecter au service backend, incapable de récupérer des données à partir d’une URL externe, de vérifier si le flux est ouvert, etc.

Quoi qu’il en soit, les utilitaires/commandes suivants vous aideront. Ils sont testés sur CentOS, et je ne vois aucune raison de ne pas travailler sur une autre distribution Linux.

Explorons…

telnet

L’une des commandes largement utilisées pour tester la connectivité essentielle entre les serveurs, du serveur à l’adresse IP d’un autre périphérique réseau. La syntaxe de la commande est simple.

telnet $destinationIP $PORT

Supposons que vous souhaitiez tester si vous pouvez vous connecter au port 8080 sur l’adresse IP 10.0.0.1 ; alors la commande serait.

telnet 10.0.0.1 8080

S’il n’y a pas de problème de connexion, vous devriez voir le message connecté.

Trying 10.0.0.1...
Connected to 10.0.0.1.
Escape character is '^]'.

Remarque : si vous obtenez une commande introuvable lors de l’exécution de telnet, vous devez installer telnet comme je l’ai expliqué ici.

Dans la plupart des scénarios, telnet devrait aider. Cependant, si vous avez besoin d’une autre option, voici quelques alternatives telnet.

ncat ou nc

Ncat (alias nc) est un utilitaire réseau puissant doté de nombreuses fonctionnalités telles que lier et accepter une connexion, exécuter des commandes à distance, écrire et lire des données, etc. Il fonctionne sur IPv4 et IPv6, les deux.

  Comment jouer à Minecraft sur Linux

Pour faire un test simple pour vérifier si le port est ouvert ou non, vous allez exécuter ce qui suit.

nc -vz $HOSTNAME $PORT

Prenons un exemple de test du port 443 sur toptips.fr.com.

[[email protected] ~]# nc -vz toptips.fr.com 443
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 104.25.133.107:443.
Ncat: 0 bytes sent, 0 bytes received in 0.02 seconds.
[[email protected] ~]#

Comme mentionné, vous pouvez également utiliser nc pour lier la connexion à écouter sur un port particulier. Cela peut être pratique lorsque vous n’avez pas de services en cours d’exécution, mais que vous souhaitez vous assurer que la connectivité existe.

Pour commencer à écouter sur un port :

nc -l $PORTNUMBER

Il liera le port à un numéro donné.

Si ncat n’est pas installé, vous pouvez le faire avec yum install nc sur les serveurs CentOS/RHEL.

wget

wget est une commande utile pour télécharger/tester HTTP, HTTPS et FTP. Si vous travaillez en tant qu’ingénieur Web ou si vous traitez souvent des problèmes liés au Web, wget est votre ami. Tester avec wget est simple.

wget $URL

Voici un exemple de tests tools.toptips.fr.com

[[email protected] ~]# wget tools.toptips.fr.com
--2019-05-09 20:40:01--  http://tools.toptips.fr.com/
Resolving tools.toptips.fr.com (tools.toptips.fr.com)... 104.25.134.107, 104.25.133.107, 2606:4700:20::6819:866b, ...
Connecting to tools.toptips.fr.com (tools.toptips.fr.com)|104.25.134.107|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://tools.toptips.fr.com/ [following]
--2019-05-09 20:40:01--  https://tools.toptips.fr.com/
Connecting to tools.toptips.fr.com (tools.toptips.fr.com)|104.25.134.107|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: 'index.html.2'

    [ <=>                                                                                                                                  ] 15,139      --.-K/s   in 0.001s  

2019-05-09 20:40:02 (12.8 MB/s) - 'index.html.2' saved [15139]

[[email protected] ~]#

S’il affiche connecté, cela signifie qu’il n’y a pas de problème de connectivité.

  Les 5 meilleurs enregistreurs d'écran pour Linux

Consultez ceci pour voir quelques-uns des exemples de commandes wget fréquemment utilisés.

boucle

Une boucle est un outil polyvalent.

Savez-vous que vous pouvez telnet sur un port en utilisant curl ?

Eh bien, maintenant vous savez.

curl -v telnet://$IP:$PORT

Ce qui suit est un exemple de travail.

[[email protected] ~]# curl -v telnet://chandan.io:443
* About to connect() to chandan.io port 443 (#0)
*   Trying 104.31.68.106...
* Connected to chandan.io (104.31.68.106) port 443 (#0)

Et, lorsqu’il n’y a pas de problème de port d’écoute ou de pare-feu, alors vous verrez essayer…

[[email protected] ~]# curl -v telnet://chandan.io:4434
* About to connect() to chandan.io port 4434 (#0)
*   Trying 104.31.68.106...

Vous pouvez également utiliser curl pour télécharger les données. Il prend en charge plusieurs protocoles – HTTP, HTTPS, FTP, IMAP, LDAP, POP3, SCP, SFTP, GOPHER, etc.

nmap

Un outil populaire avec des centaines de fonctionnalités. Ceci est souvent considéré comme un outil de sécurité, nmap vous permet de tester une seule adresse IP/port ou dans la plage.

Pour tester un seul port

nmap -p $PORT $IP

Un exemple de test du port 443 sur siterelic.com

[[email protected] ~]# nmap -p 443 siterelic.com
Starting Nmap 7.70 ( https://nmap.org ) at 2019-05-10 06:55 UTC
Nmap scan report for siterelic.com (104.27.174.50)
Host is up (0.0079s latency).
Other addresses for siterelic.com (not scanned): 104.27.175.50 2606:4700:30::681b:ae32 2606:4700:30::681b:af32

PORT    STATE SERVICE
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds
[[email protected] ~]#

Regardez la colonne d’état. Si vous voyez ouvert signifie que la connexion est ok. Et, si l’état est filtré, cela signifie que la connectivité n’existe pas.

  Comment enregistrer votre bureau Linux avec Kooha

Ping

L’une des commandes les plus utilisées consiste à vérifier si un hôte distant répond ou non à ICMP ECHO_REQUEST. Gardez à l’esprit que cela peut ne pas vous donner des résultats précis lorsque ICMP est bloqué au niveau du pare-feu du réseau distant. En supposant que ce n’est pas le cas, vous pouvez envoyer un ping au point de terminaison du réseau IPv4 ou IPv4 comme ci-dessous.

ping $ipaddress
ping $url

Par exemple, le résultat de réussite de toptips.fr.com

[email protected] ~ % ping toptips.fr.com
PING toptips.fr.com (104.27.119.115): 56 data bytes
64 bytes from 104.27.119.115: icmp_seq=0 ttl=53 time=7.944 ms
64 bytes from 104.27.119.115: icmp_seq=1 ttl=53 time=8.870 ms

Par exemple, résultat d’échec de l’IP interne.

[email protected] ~ % ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1

Si le point de terminaison prend en charge IPv6, vous pouvez utiliser la commande ping6 comme ci-dessous.

[email protected] ~ % ping6 toptips.fr.com
PING6(56=40+8+8 bytes) 2a01:4b00:88e4:8700:d8ca:bf50:159c:2a1d --> 2606:4700:20::681b:7673
16 bytes from 2606:4700:20::681b:7673, icmp_seq=0 hlim=250 time=8.650 ms
16 bytes from 2606:4700:20::681b:7673, icmp_seq=1 hlim=250 time=8.738 ms

Si vous avez besoin d’effectuer un ping à distance sur Internet, vous pouvez utiliser l’outil de ping en ligne.

Conclusion

telnet est progressivement supprimé dans la dernière version de Linux. Merci à l’alternative telnet ci-dessus.

Si vous êtes nouveau sur Linux et que vous cherchez à apprendre, consultez ceci Cours Udemy.