Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
772 connectés 

  FORUM HardWare.fr
  Windows & Software

  [FTP] Commande PORT

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[FTP] Commande PORT

n°2152221
Benzo29
Groundation c'est bien !
Posté le 09-09-2005 à 10:09:12  profilanswer
 

Alors, j'ai fait un petit script pour ma boite qui va se connecter sur différents serveur ftp (jusque la tout va bien), puis qui se place dans un répertoire, et qui ramene un fichier.
 
Ce matin je lance le script comme tout les matins, impossible de télécharger le moindre fichier.  :fou:  
Et de même sur tous les serveur ftp  :sweat:  
 
Pour voir d'ou ca vient je me connect manuellement avec FileZilla, j'essaye de télécharger un fichier avec du Drag&Drop et stupeur, ca fonctionne...
 
Pour aller plus loin, je décide de tapper à la main dans FileZilla les commandes nécessaires pour télécharger le même fichier, et la c'est le drame :  
 
http://img377.imageshack.us/img377/4642/bugftp5xp.gif
 
 
 :heink:  
 
Si quelqu'un a déjà eu le problème ou a une petite idée  :hello:


Message édité par Benzo29 le 09-09-2005 à 10:23:47
mood
Publicité
Posté le 09-09-2005 à 10:09:12  profilanswer
 

n°2152235
Benzo29
Groundation c'est bien !
Posté le 09-09-2005 à 10:25:07  profilanswer
 

A priori le problème viendrait de la commande PORT, si quelqun peut m'expliquer comment fonctionne cette commande ?
 
Je sais que pour PORT 10,0,0,1,12,239
10,0,0,1 correspond à l'adresse IP, mais le 12 et le 239  :??:


Message édité par Benzo29 le 09-09-2005 à 10:25:18
n°2152240
Prems
Just a lie
Posté le 09-09-2005 à 10:29:36  profilanswer
 

C'est le port utilisé pour la connexion, sur 2 octets.


---------------
Ratures - Cuisine
n°2152246
petoulachi
A fortiori, brigadier chef
Posté le 09-09-2005 à 10:35:56  profilanswer
 

Ton script est en quel langage ?
 
Sinon tu fais un téléchargement en actif, pourquoi pas en passif ?
 
Le principe de la commande PORT est assez simple :
A,B,C,D,X,Y
Tu envois ton IP (A,B,C,D), et deux nombres qui permettent de calculer le port sur lequel le serveur vient se connecter. Pour le calculer, on fait X*256 + Y (3311 dans ton cas).
 
Par contre c'est bizarre que ça marche avec filezilla et pas avec ton script. Tu peux le donner ?

n°2152254
Benzo29
Groundation c'est bien !
Posté le 09-09-2005 à 10:42:44  profilanswer
 

mmmh, ca marche qu'a moitié avec FileZilla, si, à la main en entrant les commandes, (les même que FileZilla utilise à priori) j'essai de télécharger un fichier ca ne marche pas (voir screenshot).
Pour mon script, c'est du Python, mais bon, il est composé d'une 10aine de classes différentes, un truc pas forcement facile à comprendre... Je te met un bout de code simplifié au cas ou tu connaisse la librairie ftplib de python...

Code :
  1. for file in files:
  2. fullname = os.path.join(localdir, file)
  3. # If file already exist, delete it
  4. if Fs.isFile(fullname):
  5.  Fs.deletePath(fullname)
  6. # Download file
  7.  self.ftp.retrbinary('RETR ' + file, open(fullname, 'ab'))


 
 
 
Je vais voir si le fait de passer en passif change quelquechose  :jap:


Message édité par Benzo29 le 09-09-2005 à 10:47:06
n°2152262
Benzo29
Groundation c'est bien !
Posté le 09-09-2005 à 10:51:23  profilanswer
 

Passif ou Actif, même combat :(

n°2152265
petoulachi
A fortiori, brigadier chef
Posté le 09-09-2005 à 10:55:07  profilanswer
 

En effet je ne connais pas Python, mais bon ça revient au même.
Par contre tu fais un self.ftp.retrbinary, j'imagine qu'avant cela il y a forcement une initialisation de ton objet self.ftp non ?
 
De plus, il faudrait plus de détail sur la machine qui héberge le script, sur le serveur FTP, sur ce qui les sépare (équipements réseaux...). Tu as une heure pour rendre ta copie :D

n°2152286
Benzo29
Groundation c'est bien !
Posté le 09-09-2005 à 11:14:53  profilanswer
 

Mouarf :)  
oui, j'initialise l'objet avant, (dans une autre classe :o) mais je pense franchement pas que ca vienne du code, ca fait 6 mois que je l'utilise et c'est seulement maintenant que ça plante...
 
la machine qui héberge le script : un pc sous windows (celui avec lequel je post ici :))
 
le serveur FTP voilà le mieux que je puisse te donner c'est le trace de FileZilla après une connexion :

Code :
  1. Etat : Connexion à 10.***.***.*** ...
  2. Etat : Connecté à 10.***.***.***. Attente du message d'accueil...
  3. Réponse : 220 DeltaNet ftp server (c) 1995 Chris Poole. 1.58 (04-Mar-97). S/N 193.
  4. Commande : USER ***
  5. Réponse : 331 Password required for ***.
  6. Commande : PASS ***
  7. Réponse : 230 User *** logged in.
  8. Commande : FEAT
  9. Réponse : 502 Command not known FEAT.
  10. Etat : Connecté
  11. Etat : Récupération de la liste de répertoires...
  12. Commande : PWD
  13. Réponse : 257 "/" is current directory
  14. Commande : PORT 10,0,0,1,5,165
  15. Réponse : 200 PORT command successful.
  16. Commande : TYPE A
  17. Réponse : 200 ASCII type selected.
  18. Commande : LIST
  19. Réponse : 150 LIST OK, opening ASCII mode data connection.
  20. Réponse : 226 Transfer complete.
  21. Etat : Succès du listage du répertoire


 
ce qui les sépare : je me connecte avec une liaison RTC et un vieux modem 33k (d'ou la complexité du code), et je suis donc en liaison direct avec le serveur Ftp...


Message édité par Benzo29 le 09-09-2005 à 11:15:54
n°2152299
petoulachi
A fortiori, brigadier chef
Posté le 09-09-2005 à 11:28:15  profilanswer
 

Vraiment bizarre... Tu as testé en faisant un ftp avec la commande DOS voir ce que ça donnait ?

n°2152346
Benzo29
Groundation c'est bien !
Posté le 09-09-2005 à 12:19:45  profilanswer
 

Merci petoulachi pour ton aide mais le problème venez de ma boite...
Le chemin de destination des fichiers (qui est sur le serveur interne) a changé, sans que personne ne soit averti, et surtout pas mon script...
Après l'erreur que me retournait mon script : "Permission denied" était pas très explicite  [:tinostar] Et on avait tous penché pour un problème coté serveur ftp.
 
Bref, pb résolu... encore merci :)
 
ps : Ca reste étrange pour le screenshot d'en haut quand même  :o


Message édité par Benzo29 le 09-09-2005 à 12:20:01

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software

  [FTP] Commande PORT

 

Sujets relatifs
Commande pour l'extinction du moniteurcommande disquette
Brancher un disque dur sur le port USB de la freeboxCommande Switch User sous Windows ...
FTP CuteFtpPro v.2.0port non utilisable par une application
software de port forwarding[Résolu] Probleme port 80
Réseau freebox + port + PCCréer un serveur FTP derrière un routeur
Plus de sujets relatifs à : [FTP] Commande PORT


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR