ls-Befehl in ftp> funktioniert nicht!

ls-Befehl in ftp> funktioniert nicht!

Ich habe FTP geübt, aber bin auf ein Problem gestoßen: Der Befehl ls funktioniert nicht unter ftp>. Warum? Ich habe es auf zwei Remote-Servern überprüft, aber ls funktionierte auf keinem und gab unterschiedliche Ausgaben aus, als ls ausgeführt wurde. Die beiden Remote-Boxen finden Sie unten.

Unten sehen Sie meinen Remote-Server, auf dem ich heute vsftpd installiert habe.

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> 

Das Folgende ist für einen anderen Remotecomputer, an den ich einige Dateien senden muss.Aber da ls auf ftp> nicht funktioniert, wie übertrage ich Dateien von meiner lokalen Box auf diese Box, da ich ohne ls nicht bestätigt werden kann, ob die Dateien übertragen wurden oder nicht.

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

Beachten Sie bitte, dass bei der oben genannten Maschine die Eingabeaufforderung nicht erneut angezeigt wurde, nachdem ich „ls on ftp>“ ausgeführt habe.

Auf beiden Remote-Rechnern erhielt ich unterschiedliche Ausgaben, wenn ich ls auf ftp> ausführte.

Antwort1

FTP ist ein altes Protokoll. Es basiert auf zwei TCP-Verbindungen: einerSteueranschlussüber die Befehle ausgetauscht werden, undDatenverbindungenfür den Inhalt von Dateien und auch für die Ausgabe von Befehlen wie ls. Was hier passiert, ist, dass die Steuerverbindung hergestellt wird, die Datenverbindungen jedoch nicht durchkommen.

Standardmäßig (aktiver Modus) werden Datenverbindungen vom Sender zum Empfänger hergestellt. Für die Ausgabe von lswerden die Daten vom Server gesendet, sodass der Server versucht, eine Verbindung zum Client herzustellen. Dies funktionierte gut, als FTP erfunden wurde, aber heutzutage befinden sich Clients oft hinter einer Firewall oder NAT, die aktives FTP unterstützen können, aber nicht müssen. Wechseln Sie in den passiven Modus, in dem der Client immer die Datenverbindung initiiert.

Lesen Sie im Handbuch Ihres ftpBefehls nach, wie Sie standardmäßig in den passiven Modus wechseln. Für eine einmalige Aktion passivereicht es normalerweise aus, den Befehl einfach einzugeben.

Möglicherweise möchten Sie zu einem besseren FTP-Client wechseln, wiencftpoderlftp.

Antwort2

Vollständige Komplettlösung für „ftp 500 Illegal PORT command“. Klicken Sie auf den folgenden Link:http://www.ucodice.com/articles/ftp-500-illegal-port-command/.

Auszug

Beim Versuch, eine Verbindung zum FTP-Server herzustellen, wird der Befehl „500 Illegal Port“ angezeigt. Dieses Problem kann auftreten, wenn das FTP-Programm nicht für den passiven Modus konfiguriert ist.

Möglicherweise erhalten Sie einen Fehlerausschnitt wie den folgenden:

COMMAND:>              [3/11/2015 1:17:05 PM] PORT 192,168,0,101,196,215    
                       [3/11/2015 1:17:05 PM] 500 Illegal PORT command.    
ERROR:>                [3/11/2015 1:17:05 PM] Syntax error: command unrecognized.    
ERROR:>                [3/11/2015 1:17:05 PM] Failed to establish data socket.

Um dieses Problem zu beheben, können Sie den Port oder FTP in der Konfigurationsdatei des FTP-Servers definieren und die IP-Adresse oder den PASV-Server definieren.

Überprüfen Sie die Konfigurationsdatei auf die folgenden Einstellungen.

pasv_enable=YES
pasv_promiscuous=YES
pasv_max_port=Enter the max port range allowed on your server.
pasv_min_port=Enter the min port range allowed on your server.
pasv_address=Ip Address of your server.

Starten Sie anschließend den FTP-Dienst neu und überprüfen Sie die FTP-Verbindung.

verwandte Informationen