Je pratiquais le ftp mais j'ai rencontré un problème: la commande ls ne fonctionne pas sur ftp>. Pourquoi? J'ai vérifié sur 2 serveurs distants mais ls ne fonctionnait pas non plus et a donné une sortie différente lorsque ls a été exécuté. Veuillez voir ci-dessous pour les 2 boîtiers distants.
Ce qui suit montre mon serveur distant sur lequel j'ai installé vsftpd aujourd'hui.
ravbholua@ravbholua-Aspire-5315:~$ ftp rs
Connected to ravi.com.
220 (vsFTPd 3.0.2)
Name (rs:ravbholua):
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/home/ravbholua"
ftp> ls
500 Illegal PORT command.
ftp: bind: Address already in use
ftp>
Ce qui suit est pour une machine distante différente où je dois envoyer des fichiers. Mais comme ls sur ftp> ne fonctionne pas, comment vais-je transférer des fichiers de ma boîte locale vers cette boîte parce que je ne peux pas être confirmé sans ls si les fichiers ont été transférés ou non.
ravbholua@ravbholua-Aspire-5315:~$ ftp 125.21.153.140
Connected to 125.21.153.140.
220---------- Welcome to Pure-FTPd [TLS] ----------
220-You are user number 1 of 10 allowed.
220-Local time is now 04:34. Server port: 21.
220-This server supports FXP transfers
220 You will be disconnected after 2 minutes of inactivity.
Name (125.21.153.140:ravbholua): peacenews
331 User peacenews OK. Password required
Password:
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200-FXP transfer: from 123.63.112.168 to 10.215.10.80
200 PORT command successful
Veuillez noter que pour la machine ci-dessus, une fois que j'ai exécuté ls sur ftp>, l'invite n'est pas revenue.
Sur les deux machines distantes, j'ai obtenu une sortie différente lors de l'exécution de ls sur ftp>
man ftp
et trouvé l'-p
option à utiliser pour le mode passif. Commeman ftp
mentionne que ftp est une interface utilisateuri au protocole de transfert de fichiers standard Internet: c'est donc l'interface et non le client ftp !!! Ce que je comprends, c'est que le client ftp utilise cette interface (ftp) pour transférer des fichiers.Réponses:
FTP est un ancien protocole. Il s'appuie sur deux connexions TCP: une connexion de contrôle sur laquelle les commandes sont échangées et des connexions de données pour le contenu des fichiers et également pour la sortie de commandes telles que
ls
. Ce qui se passe ici, c'est que la connexion de contrôle est établie, mais les connexions de données ne passent pas.Par défaut (mode actif), les connexions de données sont établies de l'expéditeur au récepteur. Pour la sortie de
ls
, les données sont envoyées par le serveur, de sorte que le serveur tente d'ouvrir une connexion avec le client. Cela a bien fonctionné lorsque le FTP a été inventé, mais de nos jours, les clients sont souvent derrière un pare-feu ou un NAT qui peut ou non prendre en charge le FTP actif. Passez en mode passif, où le client lance toujours la connexion de données.Consultez le manuel de votre
ftp
commande pour voir comment passer en mode passif par défaut. Pour une chose unique, taper la commande faitpassive
généralement l'affaire.Vous souhaiterez peut-être passer à un client FTP plus agréable tel que ncftp ou lftp .
la source
.netrc
sur ma box locale (j'avais simplement mis du hachage au début de la ligne en .netrc). C'est tout, puis après la question de ls que j'ai rencontrée. Quelle peut être la raison pour laquelle ls fonctionnait bien plus tôt et depuis hier ne fonctionnait pas?lftp
. J'ai de l'expérience avec cela.lftp
est vraiment incroyable. Je voudrais également ajouter que je viens de vérifierlftp
et qu'il fonctionne parfaitement bien sans problème de ls.ls
ici (en lftp) affiche correctement la sortie.Solution complète complète pour "ftp 500 Illegal PORT command". Cliquez sur le lien suivant: http://www.ucodice.com/articles/ftp-500-illegal-port-command/ .
Extrait
Essayer de connecter le serveur ftp et obtenir la commande 500 Illegal port. Ce problème peut se produire lorsque le programme ftp n'est pas configuré pour le mode passif.
Vous pouvez obtenir un extrait d'erreur tel que:
Pour résoudre ce problème, vous pouvez définir le port ou ftp dans le fichier de configuration du serveur ftp et définir l'adresse IP ou le serveur PASV.
Vérifiez le fichier de configuration pour les paramètres ci-dessous.
Après cela, redémarrez le service ftp et vérifiez la connexion ftp.
la source