IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Serveurs (Apache, IIS,...) Discussion :

FileZilla, Proxy FTP : comment savoir les commandes exactes passées ?


Sujet :

Serveurs (Apache, IIS,...)

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 9
    Points : 16
    Points
    16
    Par défaut FileZilla, Proxy FTP : comment savoir les commandes exactes passées ?
    Bonjour,

    Je dois coder dans une appli C# un envoi de fichier sur un FTP en passant à travers un proxy FTP.

    J'ai un FileZilla correctement paramétré pour cela, et on m'a demandé de faire la même chose dans mon code.

    Le problème est que je ne trouve pas les commandes exactes envoyées au serveur FTP par FileZilla, et donc je suis dans l'impossibilité de les reproduire...


    Ci-dessous le journal de FileZilla (j'ai juste rendu anonymes les users et serveurs mais le tout fonctionne) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Statut :	Utilisation du Proxy XX.XXX.X.X
    Statut :	Connexion à XX.XXX.X.X:21...
    Statut :	Connexion établie, attente du message d'accueil...
    Réponse :	220-
    Réponse :	220-Net SecurityMaster firewall
    Réponse :	220-
    Réponse :	220-FTP proxy (NSM 3.2)
    Réponse :	220 FTP proxy ready.
    Commande :	USER X-XXXXX-XXX
    Réponse :	331 Password required for X-XXXXX-XXX.
    Commande :	PASS ********
    Réponse :	230 User X-XXXXX-XXX logged in.
    Commande :	SITE XXXX.XXXX.fr
    Réponse :	220-
    Réponse :	220-You are now connected to your destination host.
    Réponse :	220-
    Réponse :	220-Beginning FTP session
    Réponse :	220-
    Réponse :	220-You'll be disconnected if you're idle for more than 1 day(s) 0 hour(s) 0 minute(s) 0 seconds.
    Réponse :	220-
    Réponse :	220 batz FTP server (Version wu-2.6.2(1) Thu Jan 31 15:10:35 MET 2002) ready.
    Commande :	USER XXXXX
    Réponse :	331 Password required for XXXXX.
    Commande :	PASS ********
    Réponse :	230 User XXXXX logged in.  Access restrictions apply.
    Commande :	SYST
    Réponse :	215 UNIX Type: L8
    Commande :	FEAT
    Réponse :	500 Command not understood.
    Statut :	Connecté
    Statut :	Récupération du contenu du dossier...
    Commande :	PWD
    Réponse :	257 "/user26745" is current directory.
    Commande :	TYPE I
    Réponse :	200 Type set to I.
    Commande :	PORT 172,16,182,182,5,132
    Réponse :	200 PORT command successful.
    Commande :	LIST
    Réponse :	150 Opening BINARY mode data connection for /bin/ls.
    Réponse :	226 Transfer complete.
    Statut :	Succès de la lecture du contenu du dossier

    Le proxy FTP est de type SITE. J'ai tenté d'écrire un cmd qui se connecte au proxy (ça fonctionne) mais ensuite la commande SITE n'est pas reconnue, alors qu'elle l'est par FileZilla...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    open #proxy#
    #user_proxy#
    #pwd_proxy#
    SITE #FTP_host#
    #user_FTP#
    #pwd_FTP#
    put test_push_08062010.txt
    Ici la commande SITE m'envoie bouler.

    Merci d'avance pour votre aide.


    Cordialement,
    Tom

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    SITE est une commande FTP mais qui n'est pas reconnue par tous les clients, en particulier le client FTP de base de Windows appelé depuis un cmd. Pour savoir ce que le client FTP de base Windows sait faire, lance le et tape :
    Tu auras la liste suivante :
    Citation Envoyé par Commandes FTP
    Les commandes peuvent être abrégées. Ces commandes sont :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    !               delete          literal         prompt          send
    ?               debug           ls              put             status
    append          dir             mdelete         pwd             trace
    ascii           disconnect      mdir            quit            type
    bell            get             mget            quote           user
    binary          glob            mkdir           recv            verbose
    bye             hash            mls             remotehelp
    cd              help            mput            rename
    close           lcd             open            rmdir
    SITE n'est pas dans la liste. Ca ne veut pas dire que le serveur FTP ne la connaît pas, au contraire

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    salut,

    il faut utiliser "quote" ou "literal" avant la commande FTP distante lorsque la requête est lancée depuis le client ftp.exe Windows.


  4. #4
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 9
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par minnesota Voir le message
    salut,

    il faut utiliser "quote" ou "literal" avant la commande FTP distante lorsque la requête est lancée depuis le client ftp.exe Windows.

    Super !! Merci infiniment, ça résout le problème de la commande SITE. Par contre l'upload n'est pas encore complètement fonctionnel.

    Mon script a cette tête maintenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    OPEN [IP_proxy]
    [user_proxy]
    [pwd_proxy]
    quote SITE [url_FTP]
    quote USER [user_FTP]
    quote PASS [pwd_FTP]
    quote PWD
    quote TYPE I
    quote CWD /user26745/UPLOAD
    quote PWD
    quote LCD d:\FTPTEST
    quote PORT X,X,X,X,5,29
    quote STOR test_push.txt
    quit
    La commande PORT me renvoie un retour positif, code 200, command succesful (pour l'IP et le numéro de port, j'ai pris un exemple dans le log de FileZilla), le fichier est créé sur le FTP, mais il est vide...

    Si j'essaye un quote PASV pour tenter le mode passif, ça ne fonctionne pas (timeout puis déconnexion)


    Une idée sur le pourquoi du comment ? Je sens que je ne suis pas loin de la solution ...


    Merci d'avance,
    Tom

  5. #5
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 9
    Points : 16
    Points
    16
    Par défaut
    C'est bon j'ai trouvé... après une multitude de prises de têtes, il suffisait de faire un PUT et non un STOR...

    Le code final du batch devient donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    open [IP_proxy]
    [user_proxy]
    [pwd_proxy]
    quote site [url_FTP]
    quote user [user_FTP]
    quote pass [pwd_FTP]
    quote cwd /LeDossierDistant/QueJeVeux
    lcd d:\LeDossierLocal\QueJeVeuxAussi
    put NomFichier.txt
    quit

    Je passe le sujet en résolu... Merci pour votre aide précieuse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [bash][ftp] comment gérer les erreurs
    Par Merfolk dans le forum Linux
    Réponses: 2
    Dernier message: 31/07/2008, 09h17
  2. comment recuperer les commandes
    Par shenz dans le forum E-Commerce
    Réponses: 0
    Dernier message: 31/01/2008, 23h50
  3. Réponses: 3
    Dernier message: 18/11/2007, 12h26
  4. Comment avoir les commandes en mémoire ?
    Par Kylen dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 02/10/2007, 12h26
  5. Réponses: 3
    Dernier message: 23/11/2006, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo