[FTP] Schema de fonctionnement

Résolu
ZedMaTrix Messages postés 178 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 14 août 2008 - 24 oct. 2006 à 00:01
ZedMaTrix Messages postés 178 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 14 août 2008 - 27 oct. 2006 à 22:29
Bonjours à tous !

Bon je me fais ma petite classe FTP donc, et là je bloque un peu sur les commandes PORT et PASV.
Y a un moment j'avais déjà tout codé niquel, mais j'ai effacé les sources ( sans faires expret, je suis pas SM )

Donc je voulais vous exposer ma manière de voire, et vous me corrigiez please...

1) Création d'une socket ( Socket 1 )
2) Connexion à une IP et le port 21
3) Lecture de la socket 1. Si on recoit un message avec 220 au début...
4) on écrit sur la socket 1 "USER login"
5) Lecutre de la socket 1. Si on recoit un message avec 331 au début...
6) on écrit sur la socket 1 "PASS motdepasse"
7) Lecture de la socket 1. Si on recoit un messae avec 215 au début, on est loggé...
-- Ici on peut demande le SYST, change le TYPE, demande le PWD si l'on veux --
-- Maintenant, essayons en mode passif ( Le serveur nous invite chez lui )
    8) on écrit sur la socket 1 "PASV"
    9) Lecture de la socket 1. Si on recoit un message avec 257 au début... la commande PASV est passé.
    On lis la ligne et on récupère l'adresse ip où l'on doit se rendre ( 4 premier octets ) puis les deux nombres pour le port ( 2 derniers octets ) le tout séparé par des "," entre "(" ")".
    Maintenant que nous avons l'adresse IP de connexion et le port....
    10) Création d'une socket ( Socket 2 )
    11) Connexion à l'adresse IP et le port de la commande PASV
    12) Ecriture sur la socket 1 de "LIST"
    13) Lecture sur la socket 2, reception de la liste des fichiers.

-- Maintenant, essayons en mode actif ( On invte chez nous le serveur )    8) On écrit sur la socket 1 "PORT x,x,x,x,a,b" ( les x l'adresse ip de la carte réseau, a et b port )
    9) On créer une socket 2
    10) On met la socket 2 en listen
    11) On blind la socket 2
    12) Lis la socket 2, accept la connexion du serveur
    13) Ecriture sur la socket 1 de "LIST"
    14) Lecture sur la socket 2 de la liste des fichiers.

Voilà, est ce que pour vous c'est ok ou pas ??

Moi je le fais donc sous linux, et aprés avoir eut l'adresse ip et le port, je créer une socket, que je connect à l'ip et le port, mais il refuse la connexion

ZedMaTriX

2 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 oct. 2006 à 09:35
me semble correct....
le mieux étant de consulter les RFC concernées

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
ZedMaTrix Messages postés 178 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 14 août 2008
27 oct. 2006 à 22:29
Ok merci Renfield !

D'autres avis pour confirmer ??

ZedMaTriX
0
Rejoignez-nous