#1 Le 18/12/2010, à 12:36
- xabilon
[Contourné : Dolphin] KftpGrabber : connexion en FTP actif ?
Salut
J'essaye de me connecter à un serveur FTP en mode actif avec KftpGrabber, sans succès.
J'ai coché dans la configuration de la connexion : "Disable use of extended passive mode" et "Disable use of passive mode"
Dans la configuration générale, j'ai aussi défini une certaine plage de ports pour les connections en mode actif, ports que j'ai ouvert dans ma box.
La connexion commence, mais j'ai des erreurs :
EPRT |1|192.168.1.2|21327
501 Syntax error in IP address
*** Waiting for data connection on port 21.327...
PORT 192,168,1,2,0,79
200 PORT command successful
MLSD
425 Could not open data connection to port 50000: Connection refused
Ainsi qu'un "Error : Could not enter folder /."
Aucun problème en revanche avec Filezilla, mais si je poste ce sujet c'est que j'aimerai bien utiliser KftpGrabber
Ais-je loupé une configuration quelque part ? J'ai consulté la page de doc d'Hizoka (kftpgrabber) mais je n'y ai rien trouvé sur l'utilisation du mode actif.
Merci d'avance
Dernière modification par xabilon (Le 25/12/2010, à 02:50)
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne
#2 Le 20/12/2010, à 22:30
- xabilon
Re : [Contourné : Dolphin] KftpGrabber : connexion en FTP actif ?
Up
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne
#3 Le 20/12/2010, à 23:12
- pode
Re : [Contourné : Dolphin] KftpGrabber : connexion en FTP actif ?
D'un point de vue FTP :
EPRT |1|192.168.1.2|21327
501 Syntax error in IP address
=> le client FTP (192.168.1.2) propose au serveur d'utiliser le mode FTP actif via la commande extended port, en demandant au serveur FTP de se connecter sur le port 21327 ouvert côté client
Le serveur dit syntax error (peut-être le | qui manque après le port 21327 ; l'exemple donné dans la RFC 2428 est en effet : EPRT |1|132.235.1.2|6275|)
PORT 192,168,1,2,0,79
200 PORT command successful
=> le client FTP (192.168.1.2) indique au serveur FTP qu'il souhaite utiliser le FTP en mode actif et qu'il écoute sur le port 79 (0*256+79)
C'est bien bas comme port. D'habitude, on ouvre un port >= 1024 (au-dessus des well known ports)
MLSD
425 Could not open data connection to port 50000: Connection refused
=> suite à la commande envoyée par le client, le serveur FTP a essayé de se connecter sur le port 50000, connexion refusée car le client FTP lui avait demandé d'utiliser le port 79
A tout hasard, je dirais qu'il y a un problème dans la configuration des ports proposés par le client.
Ou bien c'est totalement autre chose (pare-feu, ...)
Hors ligne
#4 Le 20/12/2010, à 23:25
- xabilon
Re : [Contourné : Dolphin] KftpGrabber : connexion en FTP actif ?
Ah, ben quand on a un décodeur, c'est tout de suite plus clair
Merci pode
Pourquoi le port 79 ? Dans la config de KftpGrabber j'ai défini une plage de ports pour les connexions actives, de 21320 à 21330.
Le pare-feu logiciel est désactivé.
Bon, de toute façon le serveur est momentanément down, donc ça sert pas à grand chose que je bataille pour l'instant
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne
#5 Le 20/12/2010, à 23:53
- pode
Re : [Contourné : Dolphin] KftpGrabber : connexion en FTP actif ?
Pourquoi le port 79 ? Dans la config de KftpGrabber j'ai défini une plage de ports pour les connexions actives, de 21320 à 21330.
Mystère...
Si c'est possible, je désactiverais la commande EPRT (utile uniquement pour IPV6, même si c'est prévu pour être compatible avec IPV4).
Quelques pages (en anglais) sur le FTP actif / passif (avec des dessins bien pratiques pour comprendre) :
http://slacksite.com/other/ftp.html
http://www.troubleshootingnetworks.com/ftpinfo.html
Hors ligne
#6 Le 21/12/2010, à 00:01
- xabilon
Re : [Contourné : Dolphin] KftpGrabber : connexion en FTP actif ?
Merci pour les liens, je vais potasser ça dès que le serveur sera accessible
Comme autres options générales, dans le logiciel, j'ai "Force PORT/EPRT to use configured IP", qui est désactivé
Et "Ignore external IP for LAN connections" qui est activé
Dans la config de la connexion j'ai aussi laissé le port 21 par défaut ...
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne
#7 Le 21/12/2010, à 01:03
- jajaX
Re : [Contourné : Dolphin] KftpGrabber : connexion en FTP actif ?
salut à vous
xabilon, t'as essayé avec konqueror ou dolphin de te connecter ?
@+
jajaX
Asus X93SM-YZ157V / Asus X93SM-YZ065V sous KDE Neon
ASUS K95VB sous Kubuntu 22.04 Jammy Jellyfish (64 bits) / ACER Aspire 5612 WLMI sous Kubuntu 18.04 Bionic Beaver (32 bits)
Hors ligne
#8 Le 21/12/2010, à 03:12
- xabilon
Re : [Contourné : Dolphin] KftpGrabber : connexion en FTP actif ?
Ben là je peux pas essayer, le serveur est éteint, mais il ne me semble pas que le kio_slave ftp de KDE gère le ftp actif. En tout cas la config est réduite au minimum : user , adresse, port et dossier.
Pour le ftp passif, pas de souci.
Dernière modification par xabilon (Le 21/12/2010, à 03:13)
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne
#9 Le 21/12/2010, à 08:06
- pode
Re : [Contourné : Dolphin] KftpGrabber : connexion en FTP actif ?
Les sources sont disponibles sous http://www.kftp.org/misc/svn
Dans le fichier network/kftpgrabber/src/engine/ftpsocket.cpp, on voit :
void negotiateActive()
[...]
format.append(QString::number((unsigned char) (address.port & 0xff00) >> 8));
format.append(",");
format.append(QString::number((unsigned char) (address.port & 0xff)));
Voici un fichier test :
$ cat testftpsocket.cpp
#include <iostream>
using namespace std;
int main()
{
short port = 21327;
std::cout << "port : " << port << "\n"; // on suppose que le type port de l'objet SocketAddress est short
std::cout << "port - part 1 : " << ((port & 0xff00) >> 8) << "\n";
std::cout << "port - part 2 : " << (port & 0xff) << "\n";
return 0;
}
$ g++ testftpsocket.cpp
$ ./a.out
port : 21327
port - part 1 : 83
port - part 2 : 79
=> kftpgrabber aurait dû afficher :
PORT 192,168,1,2,83,79
On dirait que le problème vient de la conversion en (unsigned char), ou de l'utilisation de la méthode QString::number, mais mes connaissances en c++ sont très lointaines...
Il y a peut-être un bug dans l'outil kftpgrabber. En tout cas, il y a déjà ce bug : il devrait afficher un | après le dernier champ de la commande EPRT.
Par comparaison, l'outil curl, que j'utilise souvent, fait ceci (fichier lib/ftp.c).
Pour la commande EPRT :
result = Curl_pp_sendf(&ftpc->pp, "%s |%d|%s|%hu|", mode[fcmd],
sa->sa_family == AF_INET?1:2,
myhost, port);
Pour la commande PORT :
snprintf(dest, 20, ",%d,%d", (int)(port>>8), (int)(port&0xff));
la variable port étant un unsigned short
Hors ligne
#10 Le 22/12/2010, à 01:29
- xabilon
Re : [Contourné : Dolphin] KftpGrabber : connexion en FTP actif ?
Tu penses qu'il y a un bug ? Possible, j'utilise une version SVN, qui est simplement le portage vers Qt4, et j'ai pas l'impression que le développement soit très actif (dernière version stable en 2007 ...).
Je vais revenir vers KftpGrabber0.8.1, et sinon je laisserai tomber au profit de Filezilla
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne
#11 Le 22/12/2010, à 09:20
- pode
Re : [Contourné : Dolphin] KftpGrabber : connexion en FTP actif ?
Tu penses qu'il y a un bug ?
A mon avis, oui (et même deux).
Tu peux toujours ouvrir un bug. Le mieux, dans les projets open source, c'est d'ouvrir un bug et de proposer dans la foulée un patch
Hors ligne
#12 Le 25/12/2010, à 02:49
- xabilon
Re : [Contourné : Dolphin] KftpGrabber : connexion en FTP actif ?
Bon, en fait, ça marche avec Dolphin
Il faut juste, dans Configuration système > Config réseau > Paramètres de connexion, décocher "Activer le mode passif"
Toujours rien avec KftpGrabber ... je vais ouvrir un bug, mais je crois que le logiciel est à l'abandon
Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.
Hors ligne