Réalisation d'un mini serveur FTP

OSS114 Messages postés 1 Date d'inscription jeudi 1 décembre 2011 Statut Membre Dernière intervention 4 décembre 2011 - 4 déc. 2011 à 16:00
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 - 4 déc. 2011 à 16:42
Bonjour à tous!

Je suis débutant en informatique et je dois réaliser dans le cadre d'un projet un mini serveur FTP ainsi qu'un client.

SUJET : Miniclient ftpclient et miniserveur FTP ftpserveur

Il convient de développer un miniserveur FTP ftpserveur ainsi qu’un miniclient FTP ftpclient
pour tester le miniserveur FTP.
Un serveur FTP utilise un port pour les commandes/réponses ASCII et un autre port pour le
transfert de fichiers.
On utilisera ce dernier principe et l’on se propose de créer une version simplifiée d’un vrai
serveur FTP.

Le miniserveur FTP ftpserveur implémentera les commandes FTP suivantes :
- GET : récupérer un fichier du miniserveur FTP.
- QUIT : quitter le miniserveur FTP.
Le miniserveur FTP ftpserveur enverra une bannière d’accueil à la connexion :
220 FTP ftpserver ready.

Le miniserveur FTP ftpserveur implémentera la commande FTP:
- GET filename : lit le contenu du fichier filename dans le répertoire courant pour
l’envoyer au miniclient FTP ftpclient.

Sa réponse pourra être :
- 550 Requested action not taken. : le fichier n’existe pas dans le répertoire
courant.
- 226 Transfer complete. : transfert du fichier vers le miniclient FTP ftpclient
terminé.

Le miniserveur FTP ftpserveur implémentera la commande FTP:
- QUIT.
Sa réponse sera :
- 221 Goodbye. : fin de la connexion FTP.

Le miniserveur FTP ftpserveur renverra :
- 500 Syntax error, command unrecognized. : en cas d’erreur de syntaxe pour
les 2 commandes GET et QUIT ou en cas de commande FTP inconnue.

Le miniserveur FTP ftpserveur utilisera le port n (par exemple 2000) pour les
commandes/réponses FTP et le port n+1 (par exemple 2001) pour le transfert de fichier. Le
miniserveur FTP ftpserveur a un seul argument : le numéro de port d’écoute des
commandes/réponses FTP.

Le miniclient FTP ftpclient est un programme qui :
- se connecte au miniserveur FTP sur le port n et affiche la bannière d’accueil envoyée par
le miniserveur FTP ftpserveur.
-Lit les commandes saisies au clavier par l’utilisateur et les envoie au miniserveur FTP
ftpserveur sur le port n.
-Affiche les réponses du miniserveur FTP ftpserveur depuis le port n et les affiche à
l’écran.
-Récupère le fichier envoyé par le miniserveur FTP ftpserveur depuis le port n+1 et le
sauvegarde dans le répertoire courant.

Le miniclient FTP ftpclient a 2 arguments : nom de la machine qui héberge le miniserveur
FTP et le numéro de port d’écoute des commandes/réponses FTP.
Un exemple de dialogue entre le miniclient ftpclient et le miniserveur ftpserveur est donné ci-
après. On lance au préalable le miniserveur FTP ftpserveur dans un terminal (numéro de port :
2000) :
% ./ftpserveur 2000
Dans un autre terminal, on utilise le miniclient FTP ftpclient :
% ls
ftpclient* ftpclient.c
% ./ftpclient localhost 2000
220 FTP ftpserver ready.
HELP
500 Syntax error, command unrecognized.
LIST
500 Syntax error, command unrecognized.
GET t
550 Requested action not taken.
GET test
226 Transfer complete.
QUIT
221 Goodbye.
% ls
ftpclient* ftpclient.c test

Apparemment ceci est très rapide à réaliser mais je n'ai aucune idée de comment m'y prendre. Je remercie d'avance ceux qui auront le temps et le courage de lire cela voire d'essayer de le réaliser!


[i]Shut up. Kiss my ass!
D'accord, faisons comme ça./i

1 réponse

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
4 déc. 2011 à 16:42
Bonjour,

tu peux lire ceci


Whismeril
0
Rejoignez-nous