Apprenez les commandes Telnet pour tester et résoudre les problèmes de connexion
Le protocole Telnet : Analyse et Utilisation
Telnet, un protocole réseau autrefois très répandu, permet d'établir une connexion virtuelle avec un ordinateur distant. Apparu en 1969, il représente l'une des premières méthodes de communication à distance.
Aujourd'hui, le protocole SSH (Secure Shell) a largement supplanté Telnet, offrant une méthode de connexion sécurisée pour les administrateurs réseau et système. SSH assure une liaison sécurisée avec les machines distantes.
Cependant, Telnet conserve son utilité, particulièrement pour le diagnostic et la résolution de problèmes de connexion. La maîtrise des commandes Telnet peut s'avérer précieuse pour la gestion des réseaux.
Cet article explore en profondeur la commande Telnet, détaillant son fonctionnement et son rôle dans le dépannage des connexions. Débutons cette analyse.
Qu'est-ce que le Protocole Telnet ?
Telnet, acronyme de Teletype Network, est un protocole réseau qui fournit une interface en ligne de commande pour interagir avec un serveur distant. Les administrateurs système et réseau utilisent cette communication de terminal à terminal pour administrer à distance et exécuter diverses tâches, telles que la configuration initiale d'un appareil.
L'utilisation de Telnet requiert un client Telnet, qui permet aux utilisateurs de se connecter et d'utiliser des applications sur des systèmes distants via le protocole TCP/IP. Le client Telnet interagit avec une application serveur Telnet pour effectuer les opérations. De plus, le client Telnet est accessible sur la majorité des systèmes d'exploitation modernes comme Windows, Linux et macOS.
Note : Dans cet article, lorsque nous faisons référence à « Telnet », nous parlons du « Client Telnet », sauf indication contraire.
La Sécurité de Telnet : Un Enjeu
À ses débuts en 1969, la sécurité n'était pas une priorité lors des opérations réseau. C'est pourquoi Telnet ne chiffre pas les données. Cette absence de sécurité rend son utilisation pour les connexions distantes via TCP/IP déconseillée, car elle expose les informations à des interceptions. SSH offre une alternative sécurisée pour l'accès distant aux serveurs.
Fonctionnement de Telnet : Vue d'Ensemble
Le fonctionnement du protocole Telnet est illustré ci-dessous :
Telnet établit une communication textuelle, créant un système interactif bidirectionnel (protocole client-serveur). Il utilise une connexion de huit octets pour la transmission de données. De plus, un clavier et un écran connectés au terminal sont nécessaires pour interagir avec Telnet.
L'utilisateur saisit une commande depuis son terminal pour se connecter à un ordinateur distant. Une fois la connexion établie, Telnet permet de contrôler le serveur, ses fichiers et ses processus.
Pour initier une connexion avec un serveur distant, il faut saisir "telnet" dans l'invite de commande. La syntaxe est la suivante :
telnet nom_hote port
Une fois connecté, l'utilisateur peut entrer d'autres commandes Telnet via l'invite Telnet.
Telnet peut être utilisé pour :
- Vérifier les ports ouverts
- Modifier des fichiers, exécuter des programmes
- Configurer des équipements réseau (commutateurs, routeurs, etc.)
Pour mettre fin à une session, il suffit de saisir "quit" dans l'invite Telnet.
Activation du Client Telnet sous Windows/Linux et macOS
Le client Telnet est disponible sur toutes les grandes plateformes et systèmes d'exploitation. Il est cependant nécessaire de l'activer ou de l'installer avant de l'utiliser.
#1. Windows
Sous Windows 7 et versions ultérieures (8, 10, 11) ou Windows Vista, il est possible d'activer le client Telnet en suivant ces étapes :
- Accédez au menu Démarrer et recherchez le Panneau de configuration. Il est également possible d'ouvrir le Panneau de configuration en appuyant sur Win + R et en saisissant « control ».
- Sélectionnez « Programmes » > « Programmes et fonctionnalités ».
- Cliquez sur « Activer ou désactiver des fonctionnalités Windows » dans le panneau de gauche.
- Cochez la case située à côté de « Client Telnet », puis cliquez sur « OK ».
- Cliquez sur « Fermer » lorsque Windows affiche le message « Windows a terminé la modification demandée ».
Note : Le client Telnet peut être utilisé immédiatement, sans qu'il soit nécessaire de redémarrer l'ordinateur.
#2. Linux
Tout comme Windows, Linux ne vient pas avec Telnet préinstallé.
Pour installer Telnet sous Ubuntu, il faut utiliser la commande suivante :
# sudo apt-get install telnet
Note : La commande peut varier en fonction de la distribution Linux utilisée.
#3. macOS
MacOS prend également en charge Telnet. L'installation se fait via Homebrew. Si Homebrew n'est pas préinstallé, la commande suivante permet de l'installer :
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
L'installation nécessite la saisie du mot de passe administrateur pour autorisation.
Une fois Homebrew installé, la commande suivante permet d'installer Telnet sur macOS :
brew install telnet
Utilisation de Telnet pour Tester et Dépanner les Connexions Réseau
Bien que Telnet ne soit pas optimal pour la connexion distante sécurisée, il reste un outil utile pour tester et dépanner les connexions réseau.
Avant d'aller plus loin, rappelons la syntaxe de Telnet :
telnet <adresse IP du serveur/hôte> <port>
Ici, l'adresse IP du serveur/hôte désigne le serveur auquel on souhaite se connecter. Le port est le numéro de port TCP.
Par exemple, pour se connecter à l'adresse IP du serveur example.com sur le port 80, il faut saisir la commande suivante :
telnet example.com 80
Il est donc nécessaire de connaître l'adresse IP/le nom et le numéro de port du serveur distant pour effectuer un dépannage.
Passons à la pratique.
Dépannage de Serveurs Web
Telnet facilite le test de la connectivité d'un serveur. Il suffit de se connecter à l'adresse IP du serveur/hôte et au port concerné.
Par exemple, pour se connecter à 23.45.75.22 sur le port 532, il faut utiliser la commande suivante :
telnet 23.45.75.22 532
À ce stade, trois scénarios sont possibles :
- La connexion au serveur est établie avec succès, affichant un message de confirmation ou attendant une saisie supplémentaire.
- La connexion au serveur échoue, ce qui peut générer des messages d'erreur tels que "Échec de la connexion" ou "Connexion refusée".
- Telnet ne retourne aucun message.
Plusieurs raisons peuvent expliquer l'échec d'une connexion Telnet. Si aucun message d'erreur n'est affiché, cela peut indiquer la présence d'un pare-feu ou d'un antivirus bloquant la connexion du côté client ou serveur.
En cas de connexion réussie à geefklare.com sur le port 80, une connexion instantanée est établie et attend de nouvelles commandes.
telnet geefklare.com 80 Connected to toptips.fr.com. Escape character is '^]'.
Il faut ensuite saisir la commande suivante :
GET / HTTP/1.1 Host: toptips.fr.com
Le serveur renverra la réponse suivante :
HTTP/1.1 200 OK Date: Fri, 18 Nov 2022 04:40:33 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 16 X-Frame-Options: SAMEORIGIN Referrer-Policy: same-origin Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 [Additional server output follows]
Voyons maintenant un exemple de connexion infructueuse :
telnet 23.45.75.222 532 Connecting To 23.45.75.222...Could not open a connection to the host on port 532: Connect failed
Vérification de l'Ouverture d'un Port
Telnet peut également être utilisé pour vérifier si un port est ouvert sur un serveur accessible à distance.
La commande à utiliser pour vérifier si un port est ouvert sur votre serveur est la suivante :
telnet <adresse IP du serveur> <port>
Par exemple, si l'adresse IP de votre serveur est 23.45.47.53 et que le port à vérifier est 532 :
telnet 23.45.47.53 532
En cas de succès, un écran vide signifie que le port est ouvert. Si un message d'erreur s'affiche, cela indique que le port n'est pas ouvert.
Connection to 23.45.47.53:532 - fail Error #110 (Connection timed out)
Dépannage de Serveurs de Messagerie SMTP
Le protocole SMTP (Simple Mail Transfer Protocol) gère la communication entre les serveurs de messagerie.
Il est possible de dépanner les serveurs SMTP avec Telnet pour vérifier leur capacité à recevoir et envoyer des messages, en envoyant des requêtes manuelles au serveur SMTP. En cas de fonctionnement normal, une réponse est attendue.
Telnet permet de tester la connexion SMTP de deux manières :
- Test du flux de messagerie entre internet et votre serveur de messagerie.
- Test du flux de messagerie de votre serveur de messagerie vers un autre serveur.
Pour un exemple d'échange, saisissez la commande suivante dans votre terminal :
telnet mail.toptips.fr.com 25 Trying 192.168.0.68… Connected to mail.toptips.fr.com Escape character is '^]'. 220-mail.toptips.fr.com ESMTP Exim 4.7 220-We do not authorize the use of this system to 220 transport unsolicited and/or bulk e-mail.
EHLO mail.toptips.fr.com 250-toptips.fr.com Hello toptips.fr.com [192.168.3.200] 250-AUTH PLAIN LOGIN QUIT
Ici, les deux commandes saisies par l'utilisateur sont :
- EHLO mail.toptips.fr.com
- QUIT
La commande EHLO identifie le nom de domaine avant l'utilisation de la commande MAIL FROM. La commande QUIT permet de quitter la session Telnet.
Pour des commandes plus avancées, consultez cet article sur l'utilisation de Telnet pour tester la communication SMTP sur les serveurs Exchange.
Dépannage de Serveur FTP
Tout comme les serveurs SMTP et Web, les serveurs FTP peuvent être dépannés à l'aide de Telnet. Il faut simplement saisir l'adresse IP du serveur FTP et se connecter au port 21.
telnet ftp.toptips.fr.com 21
Une connexion réussie donne accès au serveur. En cas d'échec, un message d'erreur s'affiche.
Error #0 (php_network_getaddresses: getaddrinfo failed: No address associated with hostname)
Dépannage SSH
SSH, la version moderne et sécurisée de Telnet, remplace ce dernier. Telnet peut cependant servir à vérifier si un serveur exécute SSH.
Pour cela, la commande Telnet avec l'adresse IP du serveur et le port 22 est nécessaire.
telnet toptips.fr.com 22 Trying 192.168.0.62… Connected to toptips.fr.com. Escape character is '^]'. SSH-2.0-OpenSSH_5.3
Mot de la Fin
Telnet demeure un outil pratique pour le dépannage des connexions réseau, offrant une alternative simple aux outils ou lignes de commande plus complexes. Telnet permet notamment de vérifier l'accessibilité d'un serveur web, l'ouverture d'un port, et le bon fonctionnement de SSH et FTP.
Pour résoudre l'erreur "Commande telnet introuvable", cet article pourrait s'avérer utile.