Connaitre les protocoles : POP
Maintenant sur http://linux-attitude.fr/post/Connaitre-les-protocoles-%3A-POP
Niveau:

Résumé : telnet pop.mail.net 110
Connaître le protocole
Connaître un protocole peut toujours servir.
Connaître le protocole POP
Je ne vais vous parler que des bases. Pour la suite, lisez la RFC :)
Une session POP est relativement simple (en gras ce que vous tapez) :
[...] étant remplacé par le contenu du mail. Pour le reste je pense que vous avez compris.
Maintenant automatisons la suppression des mails.
Scripting
Nous utiliserons nc à la place de telnet car il est plus pratique pour le script
Nous allons préparer un fichier de commandes à envoyer au serveur.
Préparation :
Pourquoi 2 fichiers ? Parce que nous aurons besoin de temporiser après le login, sinon le serveur nous jette.
Pourquoi inclure le QUIT ? Parce que le serveur POP ne valide pas les commandes DELE si la connexion ne se termine pas proprement.
Maintenant le tout :
On envoit à la suite file1, l'entrée standard (vous) puis file2. La sortie standard n'ayant pas changé (vous) il vous est possible de constater ce qui se passe.
Une fois le login accepté, il suffit de terminer les données sur l'entrée standard (avec ctrl-d) pour passer à l'envoi de file2.
Notez une technique différente avec moins de contrôle mais plus d'autonomie :
Niveau:
Résumé : telnet pop.mail.net 110
Connaître le protocole
Connaître un protocole peut toujours servir.
- Vous pourrez ainsi tester les services que vous mettez en place
- Vous pourrez diagnostiquer le problème quand un ami vous dira "Ça marche pas !"
- Si vous-même avez un problème vous pourrez probablement le résoudre à la main.
Connaître le protocole POP
Je ne vais vous parler que des bases. Pour la suite, lisez la RFC :)
Une session POP est relativement simple (en gras ce que vous tapez) :
$ telnet pop.mail.net 110
Trying 127.0.0.1...
Connected to pop.mail.net.
Escape character is '^]'.
+OK <23594.1175023984@pop.mail.net>
USER toto
+OK
PASS xxx
+OK
LIST
+OK
1 1235
.
RETR 1
[...]
+OK
DELE 1
+OK
QUIT
Connection closed by foreign host.
Trying 127.0.0.1...
Connected to pop.mail.net.
Escape character is '^]'.
+OK <23594.1175023984@pop.mail.net>
USER toto
+OK
PASS xxx
+OK
LIST
+OK
1 1235
.
RETR 1
[...]
+OK
DELE 1
+OK
QUIT
Connection closed by foreign host.
[...] étant remplacé par le contenu du mail. Pour le reste je pense que vous avez compris.
Maintenant automatisons la suppression des mails.
Scripting
Nous utiliserons nc à la place de telnet car il est plus pratique pour le script
Nous allons préparer un fichier de commandes à envoyer au serveur.
Préparation :
$ # la partie login
$ echo "USER toto" > file1
$ echo "PASS xxx" >> file1
$ # la partie suppression
$ for i in $(seq 1 15000); do echo DELE $i ; done > file2
$ # la fin
$ echo "QUIT" >> file2
$ echo "USER toto" > file1
$ echo "PASS xxx" >> file1
$ # la partie suppression
$ for i in $(seq 1 15000); do echo DELE $i ; done > file2
$ # la fin
$ echo "QUIT" >> file2
Pourquoi 2 fichiers ? Parce que nous aurons besoin de temporiser après le login, sinon le serveur nous jette.
Pourquoi inclure le QUIT ? Parce que le serveur POP ne valide pas les commandes DELE si la connexion ne se termine pas proprement.
Maintenant le tout :
$ cat file1 - file2 | nc pop.mail.net 110
On envoit à la suite file1, l'entrée standard (vous) puis file2. La sortie standard n'ayant pas changé (vous) il vous est possible de constater ce qui se passe.
Une fois le login accepté, il suffit de terminer les données sur l'entrée standard (avec ctrl-d) pour passer à l'envoi de file2.
Notez une technique différente avec moins de contrôle mais plus d'autonomie :
$ (cat file1 ; sleep 2; cat file2) | nc pop.mail.net 110
Publicité