Title: Applications R
1Applications Réseaux en Java
Li Xinran Mancone Nicolas
2Sommaire
- Présentation
- Réalisation
- Amélioration
- Conclusion
3Présentation
- Le but de ce projet est de mettre en pratique
ce qui a été vu en théorie sur la couche
application du modèle OSI . Pour cela nous avons
mis en œuvre 3 applications Java - Un simulateur de serveur
- Un client SMTP
- Un redirecteur de mail
4Réalisation
La conception du code a été faite grâce au
partage des classes -Linterface graphique -Le
code de connexion -Le code de traitement de
donnée
5Simulateur de serveur
6Algorithme
7principe de fonctionnement
8Linterface graphique
9Client SMTP
10SMTP
- Simple Mail Transfer Protocol
- Protocole permettant le transfert du courrier
électronique - Agent utilisateur (UA)
- Agent de transfert (MTA)
- Port 25
11SMTP Commands
220 relay-em.wanadoo.fr ESMTP Postfix
- HELO
- MAIL FROM
- RCPT TO
- DATA
- QUIT
HELO smtp.wanadoo.fr
250 relay-em.wanadoo.fr
MAIL From xinran_gtr_at_wanadoo.fr
250 Ok
RCPT To nico4486_at_gmail.com
250 Ok
DATA
354 End data with ltCRgtltLFgt.ltCRgtltLFgt
Message .
250 Ok
QUIT
221 Bye
12SMTP principe de fonctionnement
13SMTP principe de fonctionnement
- Socket sock new Socket(host,25)
- outDatanew BufferedWriter(new OutputStreamWriter(
sock.getOutputStream()) - inDatanew BufferedReader(new InputStreamReader(so
ck.getInputStream()))
14SMTP principe de fonctionnement
- 220 relay-em.wanadoo.fr ESMTP Postfix
- HELO smtp.wanadoo.fr
- 250 relay-em.wanadoo.fr
- msg"HELO "host"\r\n" envoi_Data(msg)
attendre_Data("250")
15SMTP principe de fonctionnement
- MAIL FROM xinran_gtr_at_wanadoo.fr
- 250 Ok
- msg "MAIL FROMlt" fromAddress "gt""\r\n"
envoi_Data(msg) attendre_Data("250")
16SMTP principe de fonctionnement
- RCPT To nico4486_at_gmail.com
- 250 Ok
- msg"RCPT TOlt" toAddress "gt""\r\n"envoi_Da
ta(msg)attendre_Data("250")
17SMTP principe de fonctionnement
- DATA
- 354 End data with ltCRgtltLFgt.ltCRgtltLFgt
- msg "DATA""\r\n"
- envoi_Data(msg)attendre_Data("354")msg
contenu"\r\n.\r\n"envoi_Data(msg)
18SMTP principe de fonctionnement
- msg "DATA""\r\n"
envoiData(msg) waitData("354")
Date sentDate new Date()
SimpleDateFormat formatter1 new
SimpleDateFormat("EEE,d MMM yyyy hhmmss z")
msg "Date "
formatter1.format(sentDate)"\r\n"
envoiData(msg)
msg"From " fromAddress"\r\n"
envoiData(msg)
msg"To "toAddress"\r\n"
envoiData(msg)
msg "Subject "subject"\r\n"
envoiData(msg)
msg content envoiData(msg)
msg "\r\n.\r\n"
envoiData(msg)
19SMTP principe de fonctionnement
- QUIT
- 221 Bye
- envoiData(msg)attendre_data(221)outData.close(
)sock.close()
20Redirecteur de mail
21Redirecteur de mail--POP3
22POP3
- Post Office Protocol
- Protocole permettant d'aller récupérer son
courrier sur un serveur distant - Agent de transfert (MTA)
- Port 110
23POP3 Commands
OK connected to pop3 on 1704
- USER
- PASS
- STAT
- LIST
- RETR x
- DELE x
- QUIT
USER xinran.li
OK Name is a valid mailbox
PASS qwerty123
OK Maildrop ready
STAT
OK 2 320
LIST
OK 2 messages (320 octets) 1 120 2 200
QUIT
OK dewey POP3 server signing off (maildrop empty)
24POP3 principe de fonctionnement
- Socket sock_pop new Socket(pop,110)
- pop_out new BufferedWriter(new
OutputStreamWriter(sock_pop.getOutputStream())) - pop_innew BufferedReader(new InputStreamReader(so
ck_pop.getInputStream()))
25POP3 principe de fonctionnement
- OK connected to pop3 on 1704
- USER xinran.li
- OK Name is a valid mailbox
- attendre_data("\n",pop_in)
envoi_data("user"plogin"\r\n",pop_out)attendre
_data("OK",pop_in)
26POP3 principe de fonctionnement
- PASS qwerty123
- OK Maildrop ready
- envoi_data("pass "ppass"\r\n",pop_out)attendre
_data("OK",pop_in)
27POP3 principe de fonctionnement
- LIST
- OK 2 messages (320 octets)
- 1 120
- 2 200
- envoi_data("list\r\n",pop_out) String
listingrecup_jusqua(".\r\n",pop_in)
28POP3 principe de fonctionnement
- QUIT
- OK dewey POP3 server signing off (maildrop
empty) - envoi_data("QUIT",pop_out)attendre_data("OK",po
p_in)pop_out.close()sock_pop.close()
29Algorithme
30principe de fonctionnement
31LInterface graphique
32Le fichier des comptes
Pour récupérer tous les comptes du fichier et les
mettre dans un tableau
count est la variable contenant le nombre de
compte dans le ficher
33Amélioration possible
Redirecteur de mails -Gérer d'autres protocoles
de messagerie (IMAP,APOP)-Optimiser le
transfert -Ajouter un fichier de rapport
dévénement
34Amélioration possible
Client SMTP -Encoder le contenu du mail et mettre
l'option d'ajout de fichier
35Amélioration possible
Simulateur de serveur -Les connections au
serveur ce limite au nombre de port distant (à la
base il ne devait accepter qu'un seul client) -La
gestion des connections par des onglets -Gestion
de fichier de configuration
36Conclusion
- Sites de références
- http//www.ethereal.com/ Analyseur de réseaux
- http//abcdrfc.free.fr/ La plupart des RFC en
français - http//netcat.sourceforge.net/ Le couteau suisse
pour le réseau - http//www.google.fr !
- Merci