telnet

Pourquoi ?

Comment utiliser les protocoles les plus courant avec telnet.
Pleins de raisons, en voici deux qui me semble pas trop mauvaise :

  1. Comprendre comment ça fonctionne
  2. Si si mine de rien de temps en temps ça permet de dépanner

Sinon la plupart du temps utiliser un client qui va bien est bien plus simple.

Comment ?

J'utilise le telnet du paquet netkit-telnetd
Vous pouvez aussi vous faire le votre dans n'importe quel langage, il existe d'ailleurs tout ce qu'il faut sur ce site pour faire ça.

Comment je sais tout ça ?

La première source d'information sont les rfc (documentation officiel des protocoles)
Pour ceux qui n'aiment pas la langue de Shakespear un site présentant quelques rfc traduite en dans celle de Molière.
abdrfc.free.fr

Et sinon il aussi possible d'utiliser sont client habituel (par exemple firefox pour http, irssi pour irc...) et de voir ce qu'ils se racontent avec les serveurs en question.

Pour cela soit émuler un serveur avec telnet... Un peu plus compliqué. Un coup on joue le serveur => regarde ce que le client dit, un coup on joue le client en envoyant ce qu'avait envoyé au "vrai client" au coup précédent.

Ou beaucoup plus simple utiliser un sniffer : Wireshark (anciennement Ethreal) ou tcpdump

HTTP en telnet

Comment telecharger une page :

  1. $ telnet clubnix.fr 80
  2. GET / HTTP/1.1
  3. Host:clubnix.fr

Vous l'aurez compris le "/" à la ligne 2 correspond à l'index de la base du site, pour avoir la page de ce tuto il aurait fallu mettre "/node/182"

Envoyer un formulaire

Méthode POST

  1. $ telnet clubnix.fr 80
  2. POST /~trax/php/plop.php HTTP/1.1
  3. Host: clubnix.fr
  4.  
  5. plop=salut

(ne pas oublier le saut de ligne a la ligne 4)

Méthode GET

  1. telnet clubnix.fr 80
  2. Trying 147.215.81.100...
  3. Connected to clubnix.fr.
  4. Escape character is '^]'.
  5. >GET http://clubnix.fr/~trax/php/plop.php?plop=bonjour HTTP/1.1
  6. >Host:clubnix.fr
  7. >

IRC avec telnet

S'identifier

  1. $ telnet irc.rezirc.net 6667
  2. USER plop les gens trax
  3. NICK trax

Envoyer rejoindre un salon

  1. JOIN #clubnix

(sans / devant le JOIN)

Envoyer un message sur un salon

  1. PRIVMSG #clubnix :plop les gens

(les ":" servent a dire qu'il y aura plus d'un mot envoyé, pas mal de serveur font passer la phrase entière quand même)

Envoyer un message a un utilisateur

  1. PRIVMSG le_nick :ramènes toi sur jabber !!!

Quitter un salon

  1. PART #clubnix :bye touS le monde

Quitter le serveur

  1. QUIT

Quitter

  1. PRIVMSG le_nick :ramene toi sur jabber !!!!

Pour plus d'information voir la rfc 1459

Mail (smtp) avec telnet

  1. Le protocole utilisé pour envoyer un mail est le smtp => première chose à faire : trouver un serveur smtp qui veuille bien de vous. Vous pouvez prendre celui de votre FAI, de votre école , ou demander a votre meilleurs (et seul ami) google. Attention certains serveurs ont une liste limité d'ip : si vous êtes chez moos et essayez d'utiliser le smtp de mamadou, il vous jettera !
  2. Vous avez votre serveur et il vous aime bien. Le protocole smtp utilise le port 25

    1. $ telnet smtp.nexitepas.fr 25
    2. Trying 147.215.1.3...
    3. Connected to mail.esiee.fr.
    4. Escape character is '^]'.
    5. 220 smtp.nexitepas.fr

    Sympa ça cause

  3. Commencer par les politesses d'usage : dire bonjour

    1. >HELO MAN
    2. 250 mail.esiee.fr

    (les lignes précédés d'un ">" sont celles que vous devez taper, les autres sont les réponses du serveur)

    Oui il n'y a qu'un "L" a HELO
    MAN ou n'importe quoi

  4. Qui suis-je ? Et à qui envoie t on le mail ?

    1. >MAIL FROM:<trax@clubnix.fr>
    2. 250 2.1.0 Ok
    3. >RCPT TO:<trax@clubnix.fr>
    4. 250 2.1.5 Ok

    MAIL FROM : adresse de l'expéditeur
    RCPT TO : adresse du destinataire

  5. Corps du message :

    1. >DATA
    2. 354 End data with <CR><LF>.<CR><LF>
    3. >bonjour les gens,
    4. >ceci est un mail test
    5. >@+
    6. >trax
    7. >.
    8. 250 2.0.0 Ok: queued as 1C6A719A25

    La ligne 2 vous indique que pour finir l'envoie du mail il faudra insérer un retour chariot retour a la ligne un point "." et encore le couple chariot retour a la ligne
    (en gros appuyer sur enter "." enter")

    Le serveur répond à la ligne 8 qu'il a bien enregistrer votre mail sous le numéro de série "1C6A719A25"

  6. Finir par une dernière politesse : dire au revoir !

    1. >QUIT
    2. 221 2.0.0 Bye

Pour plus d'information lire les rfc qui vont bien ! (pour commencer RFC 821)