Telnet

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Telnet (homonymie).
Pile de protocoles
7. Application
6. Présentation
5. Session
4. Transport
3. Réseau
2. Liaison
1. Physique

Modèle Internet
Modèle OSI

Telnet (TErminal NETwork ou TELecommunication NETwork, ou encore TELetype NETwork) est un protocole réseau utilisé sur tout réseau prenant en charge le protocole TCP/IP. Il appartient à la couche application du modèle OSI et 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 a d'abord été disponible sur les systèmes Unix, puis elle est apparue sur la plupart des systèmes d'exploitation.

Détails du protocole[modifier | modifier le code]

Telnet est un protocole de type client-serveur s'appuyant sur TCP. Les clients se connectent généralement sur le port 23 du serveur.

Parmi les caractères envoyés par le serveur Telnet, il y a évidemment les caractères de texte à afficher, mais il y a aussi des séquences de caractères qui permettent de contrôler l'affichage, par exemple pour effacer le contenu de la ligne courante. Par souci de portabilité, Telnet définit des séquences d'échappement qui ne dépendent pas du type de terminal. Le protocole de présentation correspondant est appelé NVT (Network Virtual Terminal). Le client Telnet est censé interpréter ces séquences portables de contrôle du terminal.

NVT s'appuie sur :

  • des caractères de contrôle empruntés au code ASCII, comme le caractère Form Feed de code hexadécimal 0C pour effacer l'écran ;
  • des séquences de plusieurs caractères introduites par le code hexadécimal FF appelé IAC ("Interpret As Command"), comme la séquence hexadécimale FF F8 pour effacer une ligne.

NVT va au-delà des fonctionnalités d'affichage et permet par exemple d'envoyer de façon urgente des signaux d'interruption au serveur pour interrompre l'application en cours. Il permet aussi de négocier des options entre le client Telnet et le serveur Telnet : on peut ainsi négocier le type de terminal, ce qui permet d'utiliser des séquences de contrôle de l'affichage comme celles du terminal VT100 qui soient moins rudimentaires que celles que NVT propose.

NVT est conçu pour des caractères de texte sur 7 bits et n'est par défaut pas adapté à une transmission sur 8 bits. Ce protocole est repris sous une forme simplifiée pour la connexion de contrôle du protocole de transfert de fichier FTP.

Utilisation[modifier | modifier le code]

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 commande 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. Cette utilisation est progressivement devenue marginale car le protocole Telnet n'est pas sécurisé (cf. Non sécurisé).

La commande telnet reste 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 tels que SMTP, HTTP, POP, IMAP, etc. en utilisant alors le port du protocole au lieu du port telnet standard.

Telnet est indispensable pour paramétrer certains matériels réseau n'ayant pas d'interface de gestion web, et reste utile en complément d'une telle interface. On peut ainsi configurer des commutateurs, des routeurs, des serveurs d'impression, des téléphones IP, etc.

Utiliser Telnet sous Windows Vista et Windows 7[modifier | modifier le code]

Depuis Windows Vista, le protocole Telnet n'est plus activé par défaut. Microsoft explique son choix de le désactiver pour des raisons de sécurité, mais aussi car de moins en moins d'utilisateurs y feraient appel. Il reste malgré tout possible de l'activer, que ce soit sous Windows Vista ou Windows 7 : il faut exécuter la commande pkgmgr.exe /iu:TelnetClient ou pkgmgr /iu:"TelnetClient" en tant qu'Administrateur. De la même manière, on peut installer le serveur Telnet en exécutant la commande pkgmgr.exe /iu:TelnetServer ou pkgmgr /iu:"TelnetServer". La commande telnet peut aussi être activée dans le panneau de configuration Programmes/programmes et fonctionnalités, section à gauche de la fenêtre, Activer ou désactiver des fonctionnalités Windows, en cochant Client Telnet et Serveur Telnet.

Non sécurisé[modifier | modifier le code]

Le côté sommaire de Telnet fait que toute communication est transmise en clair sur le réseau, mots de passe compris. Des sniffeurs comme tcpdump ou Wireshark permettent d'intercepter les communications de la commande telnet. Des protocoles chiffrés comme SSH ont été développés pour fournir un accès distant remplaçant Telnet et dont l'interception ne fournit aucune donnée utilisable à un éventuel espion du net.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

RFC[modifier | modifier le code]

Liens externes[modifier | modifier le code]