Telnet est un protocole réseau utilisé sur tout réseau supportant le protocole TCP/IP. Il appartient à la couche session du modèle OSI et à la couche application du modèle ARPA. Il est normalisé par l’IETF (RFC 854 et RFC 855). Selon, l’IETF, le but du protocole Telnet est de fournir un moyen de communication très généraliste, bi-directionnel et orienté octet.
telnet est aussi une commande permettant de créer une session Telnet sur une machine distante. Cette commande était disponible d’abord sur les sytèmes Unix puis elle apparu sur la plupart des systèmes d’exploitation.
Détails du protocole
Telnet est un protocole de type client-serveur basé sur TCP. Les clients se connectent généralement sur le port 23 du serveur.
Utilisation
Une des utilisations majeures de la commande telnet était de se connecter à des serveurs telnet, qui demandaient un identifiant, puis un mot de passe, et donnaient une ligne de commmande sur la machine distante en échange. Pour cela elle nécessitait le lancement d’un démon sur la machine hôte, souvent appelé telnetd.
La commande telnet reste malgré tout une commande très pratique pour tester des serveurs. Vu la flexibilité du programme, il est possible d’utiliser la commande telnet pour établir une connexion TCP interactive avec d’autres services tel que SMTP ou HTTP.
Exécution de Telnet
Telnet est fourni en standard sous diverses plateformes, dont UNIX, Windows95, WindowsNT, Linux...
La commande pour initier une session Telnet est généralement la suivante :
telnet nom_du_serveur
nom_du_serveur représente bien évidemment le nom de la machine distante à laquelle on désire se connecter. Il est aussi possible de donner son adresse IP, par exemple :
telnet 125.64.xxx.xxx
Enfin il est également possible de préciser le port à utiliser en faisant suivre l’adresse IP ou le nom du serveur par le numéro de port :
telnet 125.64.xxx.xxx 80
Commandes sous Telnet
Une fois que vous vous connectez à la machine distante, un nom d’utilisateur (login) et un mot de passe (password) vous seront demandés pour des raisons de sécurité afin de restreindre l’accès aux seules personnes autorisées. En effet, Telnet est un protocole puissant puisqu’il permet l’exécution de commandes à distance. Les commandes pouvant être exécutées sous une session Telnet sont définies par l’administrateur réseau. Il s’agit généralement de commandes UNIX étant donné que la plupart des serveurs Telnet fonctionnent sous UNIX. Les commandes standard sont les suivantes :
Commande
Description
? Affiche l’aide
close Termine la session Telnet
display Affiche à l’écran les paramètres de la
connexion (type de terminal, port)
environ Permet de définir les variables
d’environnement du système d’exploitation
logout Permet de se déconnecter
mode Bascule entre les modes de transfert ASCII (transfert d’un fichier en mode texte) et BINARY (transfert d’un fichier en binaire)
open Permet de lancer une autre connexion à partir de la connexion en cours
quit Quitte l’application Telnet
set Modifie les paramètres de la connexion
unset Charge les paramètres de connexion par défaut
Défaut de sécurité
Le côté basique de telnet fait que toute communication est transmise en clair sur le réseau, mots de passe compris. Des sniffer comme tcpdump ou ethereal permettent d’intercepter les communications de la commande telnet.
Il est préférable d’utiliser des protocoles cryptés (comme SSH) pour obtenir des accès en ligne de commande sur des machines distantes, à la place de Telnet.