la puissance de telnetchimiphyk.free.fr/cours/cours/speisn/9-reseau/telnet.pdfce a quoi le serveur...

7
chimiphyk.free.fr La puissance de Telnet Le client Telnet doit être installé sur le poste. Si ce n’est pas le cas : - ouvrir l’invite de commande cmd.exe en mode administrateur, - se rendre dans le répertoire c:\windows\system32> - puis tapez : pkgmgr /iu:"TelnetClient" Source : http://technet.microsoft.com/fr-fr/library/cc771275(v=ws.10).aspx Rester dans ce répertoire et continuer la suite du TP. Objectif du TP : 1- Passer des requêtes à un serveur directement par ligne de commande via Telnet 2- Utiliser divers protocoles de communication (protocole http et protocole POP) I/ Communication client-serveur : 1) Présentation de Telnet : « Telnet est un programme simple à base de texte qui vous permet de vous connecter à un autre ordinateur en passant par Internet. Si le propriétaire ou l’administrateur d’un ordinateur vous a accordé le droit de vous y connecter, Telnet vous autorise à entrer les commandes permettant d’accéder aux programmes et aux services qui se trouvent sur l’ordinateur distant, comme si vous y étiez. Telnet offre un large éventail de possibilités, par exemple l’accès au courrier électronique, aux bases de données ou aux fichiers. » http://windows.microsoft.com Telnet permet en particulier de se connecter à un serveur de quel que nature que ce soit et de lui envoyer des requêtes directement en ligne de commandes. Remarque : Telnet est une application s’appuyant sur le protocole du même nom (RFC 854 et 855). Voir aussi : http://fr.wikipedia.org/wiki/Telnet 2) Comprendre par l’exemple : Prenons le cas d’un utilisateur qui ouvre son navigateur. Il inscrit l’adresse suivante http://chimiphyk.free.fr dans la barre d’adresse puis valide. Dès lors, que se passe t-il pour que le navigateur affiche la bonne page web ? En fait, une discussion (invisible pour l’utilisateur) va s’établir entre l’application cliente (le navigateur) et le serveur. Il s’agit d’une communication client-serveur. Le client demande et le serveur répond à la demande. le navigateur envoie donc une requête au serveur abritant le site web. Cette requête contient les informations nécessaires au bon affichage du site sur le poste. Voici un exemple de requête envoyée par le navigateur vers le serveur :

Upload: others

Post on 27-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: La puissance de Telnetchimiphyk.free.fr/cours/cours/speISN/9-reseau/Telnet.pdfCe a quoi le serveur web distant répond : Ligne Valeur Commentaire HTTP/1.1 200 OK Réponse 200 du serveur

chimiphyk.free.fr

La puissance de Telnet Le client Telnet doit être installé sur le poste. Si ce n’est pas le cas :

- ouvrir l’invite de commande cmd.exe en mode administrateur, - se rendre dans le répertoire c:\windows\system32> - puis tapez : pkgmgr /iu:"TelnetClient"

Source : http://technet.microsoft.com/fr-fr/library/cc771275(v=ws.10).aspx

Rester dans ce répertoire et continuer la suite du TP. Objectif du TP :

1- Passer des requêtes à un serveur directement par ligne de commande via Telnet 2- Utiliser divers protocoles de communication (protocole http et protocole POP)

I/ Communication client-serveur :

1) Présentation de Telnet : « Telnet est un programme simple à base de texte qui vous permet de vous connecter à un autre ordinateur en passant par Internet. Si le propriétaire ou l’administrateur d’un ordinateur vous a accordé le droit de vous y connecter, Telnet vous autorise à entrer les commandes permettant d’accéder aux programmes et aux services qui se trouvent sur l’ordinateur distant, comme si vous y étiez. Telnet offre un large éventail de possibilités, par exemple l’accès au courrier électronique, aux bases de données ou aux fichiers. »

http://windows.microsoft.com Telnet permet en particulier de se connecter à un serveur de quel que nature que ce soit et de lui envoyer des requêtes directement en ligne de commandes. Remarque : Telnet est une application s’appuyant sur le protocole du même nom (RFC 854 et 855). Voir aussi : http://fr.wikipedia.org/wiki/Telnet

2) Comprendre par l’exemple : Prenons le cas d’un utilisateur qui ouvre son navigateur. Il inscrit l’adresse suivante http://chimiphyk.free.fr dans la barre d’adresse puis valide. Dès lors, que se passe t-il pour que le navigateur affiche la bonne page web ? En fait, une discussion (invisible pour l’utilisateur) va s’établir entre l’application cliente (le navigateur) et le serveur. Il s’agit d’une communication client-serveur. Le client demande et le serveur répond à la demande. le navigateur envoie donc une requête au serveur abritant le site web. Cette requête contient les informations nécessaires au bon affichage du site sur le poste. Voici un exemple de requête envoyée par le navigateur vers le serveur :

Page 2: La puissance de Telnetchimiphyk.free.fr/cours/cours/speISN/9-reseau/Telnet.pdfCe a quoi le serveur web distant répond : Ligne Valeur Commentaire HTTP/1.1 200 OK Réponse 200 du serveur

chimiphyk.free.fr

Type d’information Appellation de la propriété

adresse complète de la page demandée

http://chimiphyk.free.fr/cours/index.php?classe=Seconde

Chemin de la page sur le site à obtenir

GET /cours/index.php?classe=Seconde HTTP/1.1

racine du site (Host) Host chimiphyk.free.fr

type de navigateur (User-Agent)

User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0

type de document que le navigateur peut recevoir

Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

langages acceptés Accept-Language fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3

type d’encodage Accept-Encoding gzip, deflate

type de connexion Connection keep-alive

Ce a quoi le serveur web distant répond :

Ligne Valeur Commentaire

HTTP/1.1 200 OK Réponse 200 du serveur 200 : Requête traitée avec succès

Server : Apache/ProXad [Apr 20 2012 15:06:05] Il s’agit du type de serveur web utilisé

X-Powered-By PHP/5.1.3RC4-dev

Content-Type : Content-Type: text/html Type de données échangées Codage des caractères

Date : 28 Juin 2014 Date de la requête

Connexion close

A cette réponse du serveur (invisible pour l’utilisateur), s’ajoute le contenu de la page web (c'est-à-dire le code source) que le navigateur interprète et affiche à l’écran. Si on résume :

http://www.commentcamarche.net/contents/520-le-protocole-http

Page 3: La puissance de Telnetchimiphyk.free.fr/cours/cours/speISN/9-reseau/Telnet.pdfCe a quoi le serveur web distant répond : Ligne Valeur Commentaire HTTP/1.1 200 OK Réponse 200 du serveur

chimiphyk.free.fr

3) Quel rapport avec Telnet ?

Telnet est un terminal (une application client) qui permet de se connecter à un serveur (par exemple un serveur web) et de lui envoyer une requête. Cette requête peut être personnalisée puisque c’est l’utilisateur qui la rédige entièrement. Le processus de communication est donc totalement transparent pour l’utilisateur. En revanche, l’interface graphique laisse à désirer. Mais on peut pas tout avoir ! Remarque : il est possible de visualiser les en-têtes directement depuis un navigateur internet. Il suffit d’installer un module complémentaire (extension, plugin). Sur Mozilla Firefox, il peut s’agir par exemple de LiveHTTPHeaders. II/ Envoyer des requêtes vers un serveur web – protocole http :

1) Etablir la connexion au serveur web : telnet laposte.net 80

laposte.net correspond à l’adresse du site web de la poste. 80 correspond au port sur lequel la communication a lieu.

On peut également fournir en commande l’adresse IP du serveur web de la poste. Pour cela, dans l’invite de commande, inscrire :

ping laposte.net

L’adresse IP du serveur pop de la poste est 130.193.27.21 La requête telnet devient :

telnet 130.193.27.21 80

Si dorénavant le texte tapé ne s’affiche plus, il suffit de paramétrer de manière à rendre visible les caractères :

set localecho

2) Envoyer une requête au serveur : head / http/1.1

Host : www.laposte.net

La réponse du serveur est alors la suivante :

Ligne Information Commentaire

http/1.1 200 OK Réponse 200 du serveur Code du statut de la requête 200 : Requête traitée avec succès 400 : mauvaise requête

Server : Apache-Coyote /1.1 Il s’agit du type de serveur web utilisé

Content-Type : Text/html Charset=ISO-8859-1

Type de données échangées Codage des caractères

Date : 28 Juin 2014 Date de la requête

Content-Language En-US langage

Connection Keep-Alive

Set-Cookie

Content-Length 0

Page 4: La puissance de Telnetchimiphyk.free.fr/cours/cours/speISN/9-reseau/Telnet.pdfCe a quoi le serveur web distant répond : Ligne Valeur Commentaire HTTP/1.1 200 OK Réponse 200 du serveur

chimiphyk.free.fr

II/ Accéder à sa boite mail par invite de commande – Protocole POP : Objectifs :

1- montrer que les logiciels de messagerie tels Outlook, Thunderbird (…) ne sont que des applications permettant de mettre en forme les informations provenant du serveur de messagerie.

2- Utiliser le protocole POP

1) Etablir la connexion au serveur de messagerie :

telnet pop.laposte.net 110

pop.laposte.net correspond à l’adresse du serveur mail de laposte.net 110 correspond au port sur lequel la communication a lieu.

On peut également fournir en commande l’adresse IP du serveur pop de la poste. Pour cela, dans l’invite de commande, inscrire :

ping pop.laposte.net

L’adresse IP du serveur pop de la poste est 194.117.213.10 La requête telnet devient :

telnet 194.117.213.10 110

Si tout se passe bien un écran noir apparait. Vous pouvez dès maintenant passer des requêtes au serveur web.

a) Qu’est ce qu’une serveur web ? b) Quel est la protocole impliqué dans la communication avec un serveur web ? c) Pourquoi doit-on spécifier le port ? d) Les autres sites présents sur le web utilise t-il le port 80 ? e) Quel est le port du protocole https ?

2) Accéder à son compte messagerie :

Maintenant que vous êtes sur le serveur pop, nous allons nous identifier pour accéder à notre compte.

USER <nom du compte>

Puis vous allez fournir votre mot de passe :

PASS <mot de passe>

3) Consulter le contenu de la boite : LIST

Page 5: La puissance de Telnetchimiphyk.free.fr/cours/cours/speISN/9-reseau/Telnet.pdfCe a quoi le serveur web distant répond : Ligne Valeur Commentaire HTTP/1.1 200 OK Réponse 200 du serveur

chimiphyk.free.fr

En dessous de +OK apparaissent deux informations : - le nombre de message dans la boite (ici 1), - la taille en octet du message (ici 35 742)

4) Visualiser l’en-tête d’un message : TOP <numéro du message> <nombre de ligne du message à afficher>

On écrira, par exemple, si on veut visualiser la première ligne du message. Cette technique est une astuce pour visualiser l’en-tête du message qui apparait juste avant le message.

5) Lire un message : RETR <numéro du message>

En tapant RETR 1, on accède au contenu du mail n°1. Deux possibilités :

- s’il s’agit d’un message HTML, vous visualiserez le code source de ce message, - s’il s’agit d’un simple message « text » alors vous obtiendrez directement le message texte.

Page 6: La puissance de Telnetchimiphyk.free.fr/cours/cours/speISN/9-reseau/Telnet.pdfCe a quoi le serveur web distant répond : Ligne Valeur Commentaire HTTP/1.1 200 OK Réponse 200 du serveur

chimiphyk.free.fr

6) Gérer sa boite mail :

Vous pouvez par exemple supprimer un message à l’aide de la commande : DELE <numéro du message>

D’autres commandes :

Commande Fonction

USER Il s'agit de l'identifiant du titulaire du compte. En règle générale la partie

à gauche du @ dans l'adresse électronique.

PASS Le mot de passe fourni par le FAI

STAT Donne le nombre de messages présents dans la file d'attente, ainsi que le

volume total des messages en octets.

LIST Donne la liste des messages en attente, avec pour chaque message: *

Son numéro d'ordre dans la file * Sa taille en octets

UIDL Analogue à LIST, mis à part qu'elle retourne non pas la taille du message

mais un identificateur unique

RETR n Permet de récupérer la totalité du message “n” dans la file d'attente.

DELE n Détruit le message “n” dans la file d'attente. le numéro d'ordre des

messages suivants demeure inchangé jusqu'à la fin de la session.

TOP n x

Permet de récupérer les x premières lignes du message “n”. Les ligne

d'en-tête ne sont pas comptabilisées. Cette commande est le plus

souvent utilisée pour récupérer l'en-tête complet et la première ligne du

message, x ne pouvant être égal à 0.

LAST Permet de connaitre le numéro d'ordre du dernier message auquel on a

accédé. (Utile avec une session TELNET).

RSET

Cette commande permet d'annuler toutes les commandes de destruction

de messages envoyées pendant la session. En fait, les commandes DELE

ne sont rendues effectives que si la session a proprement été fermée

(commande QUIT acceptée). Cette méthode permet donc d'annuler les

opérations d'effacement dans la session en cours.

NOOP Cette commande sert à ne rien faire.

QUIT

Clôture la session en cours. Le serveur ferme alors la session TCP et “fait

le ménage” dans la file d'attente, en fonction des ordres DELE qui ont été

donnés.

Sources : http://fr.wikipedia.org/wiki/Post_Office_Protocol http://tools.ietf.org/html/rfc1939 (Anglais) http://abcdrfc.free.fr/rfc-vf/rfc1939.html (Traduction non officielle en français)

Pour aller plus loin :

Pour s’amuser :

telnet towel.blinkenlights.nl

Comprendre Telnet : http://fr.openclassrooms.com/informatique/cours/l-exploit-telnet Protocole SMTP - RFC 5321 Un tutoriel : http://fr.openclassrooms.com/informatique/cours/comprendre-la-messagerie-electronique/decouverte-du-protocole-smtp

Page 7: La puissance de Telnetchimiphyk.free.fr/cours/cours/speISN/9-reseau/Telnet.pdfCe a quoi le serveur web distant répond : Ligne Valeur Commentaire HTTP/1.1 200 OK Réponse 200 du serveur

chimiphyk.free.fr

Protocole IMAP - RFC 3501 : http://tools.ietf.org/html/rfc3501 Protocole FTP - RFC 5321 POST avec Telnet : http://www.developpez.net/forums/d833930/java/developpement-web-java/servlets-jsp/envoi-d-requete-post-partir-d-client-telnet/