Accès FTP en mode PASSIVE [Résolu]

scottmat 440 Messages postés samedi 24 mai 2003Date d'inscription 23 janvier 2011 Dernière intervention - 7 avril 2008 à 15:33 - Dernière réponse : scottmat 440 Messages postés samedi 24 mai 2003Date d'inscription 23 janvier 2011 Dernière intervention
- 12 avril 2008 à 14:22
Bonjour à toutes et à tous,

je veux accéder à mon serveur auquel j'ai configurer un accès FTP. J'ai deux serveur dont l'un où il faut OBLIGATOIREMENT désactiver le mode passif pour s'y connecter sinon sa ne marche pas.
voici la ligne de code :


My




.Computer.Network.DownloadFile(


"ftp://xxxx.xxxx.xxxx.xxxx/test.txt"

,


"C:\OKMyFiles.txt"

,


"Pseudo"

,


"Password"

)

par default le mode passif doit être activé car il me renvoi l'erreur justement.

En fouinnant dans l'explorateur d'objets je suis tomber sur ces classes : "
Net.FtpWebRequest" & "
Net.WebClient"

Dans la 1ere il y a la propriété
UsePassive de type boolean ! Celle que je cherchais :)

Mais dans la 2eme il y'a les méthodes
DownloadFile :(

Comment faire pour combiner les deux si c'est possible ?

Merci
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 7 avril 2008 à 23:45
3
Merci
Salut
Te complique pas : configure ton routeur correctement :
Quand tu (le client) te connectes sur un serveur FTP (port 21) et que tu es en mode passif, le serveur renvoie le numéro d'un autre port sur lequel le client va pouvoir se connecter et ainsi laisser libre le port 21 pour d'autres clients.
Cette procédure est dictée par le protocole.
Ce que ne dit pas le protocole, c'est la plage d'adresse choisie par le serveur FTP :-(
Alors, soit c'est configurable côté serveur, soit c'est dans la notice du matériel (cas des serveurs NAS)
Le mien par exemple alloue un port parmi 65500 à 65535 (au hasard).

Pour que ton client puisse se connecter sur ces plages ports, il faut, sur le routeur côté serveur, configurer une règle de "PortTriggering" qui dira que :
Si un client arrive pour se connecter sur le port 21, il faut tout de suite ouvrir (temporairement, pendant la durée de la connexion au port 21) les ports 65500 à 65535 afin de permettre la prochaine connexion du client sur un de ces ports.
Une fois que le client s'est connecté sur le port 655xx, le port 21 est bien sûr libéré.
Le routeur s'en aperçoit et referme tous les ports 65500 à 65535, sauf ceux déjà attribués.
Comme ça, ces ports ne restent pas exposés trop longtemps.

En mode FTP passif, ce sont donc les règles de routage côté serveur qu'il faut toucher, rien à faire côté client puisque c'est toujours le client qui est à l'initiative de la connexion (flux sortant pour le routeur client)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de cs_Jack
Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 12 avril 2008 à 02:05
3
Merci
Re
Dans ton message "227", tu as une information intéressante derrière ton IP : 19.137
C'est le n° du port qu'il met à la disposition du client. 19 * 256 + 137 = Port 5001
Il y a donc fort à parier que ton serveur de FTP utilise des adresses entre 5000 et 5100 (100 réserves, c'est largement suffisant)
Donc voilà, c'est cette plage de port qu'il faut configurer dans le routeur dans "Port Triggering".

Oui, bien sur, le parefeu doit être configuré.
Celui de Windows n'étant pas un vrai parefeu, il est facile de le paramétrer en déclarant le programme X (ton serveur FTP) comme un programme de confiance et d'autoriser les connexions de ou vers ce logiciel (voir onglet exceptions dans le parafeu)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de cs_Jack
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 9 avril 2008 à 19:05
2
Merci
Re
Attention, tu parles de FTP : Que ce soit sous WS2003 ou autre, il te faudra un logiciel "serveur FTP".
C'est ce programme qui répondra à une demande de connexion.
C'est dans ses pages de paramétrage que tu trouveras les renseignements concernant la plage de ports à mettre en "Port Triggering", et qu'il utilisera en cas de connexion en mode passif.
Perso, j'utilise un vieux truc (comme moi), GuildFTPd : dans les options, on précise le "Port range", c'est à dire les ports à utiliser.

"Port Triggering" est une option configurable sur ton routeur.
Connecte toi sur ton routeur avec ton explorer internet favori et consulte les pages de configuration proposées.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
scottmat 440 Messages postés samedi 24 mai 2003Date d'inscription 23 janvier 2011 Dernière intervention - 9 avril 2008 à 14:33
0
Merci
Tout d'abord merci beaucoup de m'avoir répondu et d'avoir pris le temps de m'expliquer à quoi consister ce mode en détail !
J'ai un serveur dédié depuis peu, et j'ai tout appris sur le tas (et je continu à en apprendre :) )

J'ai rechercher sur le web ce fameux porttriggering et je n'ai pas trouvé de tutoriaux ou autre en expliquant comment et où aller pour mettre cette règle en place.

Configurable côté serveur ou soit matériel ?

côté serveur sous windows 2003 est-ce que c'est possible tout d'abord ?
dans la console MMC j'ai vue une rubrique "Routage et accès distant", est-ce que c'est bien dans ca ou je suis complètement à coter de la plaque ?

Sinon tu dis au niveau du matériel ? la carte réseau sert de routeur sur des serveurs dédié ?

Arrête moi si je dis des grosses con*****

Merci encore
Commenter la réponse de scottmat
scottmat 440 Messages postés samedi 24 mai 2003Date d'inscription 23 janvier 2011 Dernière intervention - 10 avril 2008 à 15:25
0
Merci
Re
d'accord. Je croyais que Windows suffisait amplement. Comme quoi je continue à en apprendre ^^
j'ai installé ce petit soft qui m'à l'air simple. J’ai configuré à l'aide de tutoriaux sur le net pour éviter de faire des bêtises. J'ai activé le mode passif comme tu me l'a conseillé et mis les ports.

Il m'a mis un message d'erreur que le port 21 été occupé, normal dans IIS il été démarrer, je l'ai arrêté.

Ensuite, j'ai créé un compte utilisateur test et quand je m'y connecte en mode actif ou passif, il me renvoi toujours cette erreur "227 Entering Passive Mode (MonIP.19.137)". Pourtant dans la Tab "Past Connections" je vois mon l'ip de mon pc qui tente de s'y connecter avec le nom de l'utilisateur. Par contre la colonne Nick est vide à chaque tentative de connexion, est-ce normal ?

Qu’est ce que j'aurai oublié d'après toi ?
Mais j'y repense les ports que j'ai configuré, comme toi par exemple qui à mis de 65500 à 65535, ils sont bloqué par default dans mon pare-feu logiquement ??
Je vais peut-être pose une question bête mais est-ce ce soft ouvre les ports automatiquement dans le pare-feu ou doit-on le faire manuellement ? Ce qui pourrait expliquer que je n'arrive pas à me connecter

Merci
Commenter la réponse de scottmat
scottmat 440 Messages postés samedi 24 mai 2003Date d'inscription 23 janvier 2011 Dernière intervention - 12 avril 2008 à 02:28
0
Merci
c'est sa les numéro ! ok je comprend mieux

la pare-feu windows est désactivé c'est IPSecurity qui le remplace, mais bon c'est le même principe ^^

je viens de tester, sa marche parfaitement  et comparer à l'accès FTP qui se trouvant dans IIS sa va beaucoup plus vite maintenant.

En tout cas Merci beaucoup pour m'avoir répondu aussi clairement
Commenter la réponse de scottmat
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 12 avril 2008 à 12:43
0
Merci
De rien Scottmat
Je me suis permis de modifier le texte du titre de ta question pour y faire paraitre le mot PASSIVE
(pour la recherche des autres membres sur un sujet similaire)

Bonne journée
Commenter la réponse de cs_Jack
scottmat 440 Messages postés samedi 24 mai 2003Date d'inscription 23 janvier 2011 Dernière intervention - 12 avril 2008 à 14:22
0
Merci
ok,
tu as bien fait, bonne idée

Merci à toi aussi bonne journée et bon week'end ;)
Commenter la réponse de scottmat

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.