FTP „425 Datenverbindung kann nicht geöffnet werden“ tritt nur bei Verwendung der Eingabeaufforderung auf

FTP „425 Datenverbindung kann nicht geöffnet werden“ tritt nur bei Verwendung der Eingabeaufforderung auf

Alle meine Computer sind hinter einem einzigen Router. Auf einem davon läuft ein FileZilla-Server.

Ich versuche, einen Upload auf den Server mithilfe eines Batch-Skripts und der in Windows integrierten ftp.exe zu automatisieren. Ich habe einen dynamischen DNS-Dienst eingerichtet, um von außerhalb des Routers auf meinen Server zugreifen zu können, und ich habe im Router eine Portweiterleitung zu meinem Server eingerichtet. Ich kann problemlos eine Verbindung herstellen und Daten übertragen, indem ich Google Chrome, Windows Explorer und den FileZilla-Client verwende.

Wenn ich jedoch versuche, ftp.exe zu verwenden (entweder manuell oder in einem Batch-Skript), kann ich eine Verbindung zum Server herstellen. Wenn ich jedoch irgendetwas versuche, das eine Datenverbindung öffnet ( LIST, STOR, oder RETR), erhalte ich die folgende Fehlermeldung:425 Can't open data connection.

Ich habe ftp.exe in den Firewalls beider Computer zugelassen. Irgendwelche Ideen, was los ist oder wie ich es beheben könnte? Ich muss ftp.exe nicht verwenden, wenn jemand einen portablen, unabhängigen (nur eine EXE ohne andere Dateien) Befehlszeilen-Client kennt.

BEARBEITENIch weiß, dass mein ISP viele Ports blockiert, darunter 21 und mehrere andere in diesem Bereich. Dies ist alles auf Port 2121 eingerichtet, wobei die passiven Ports auf 2122-2142 eingestellt sind. Alle diese wurden im Router weitergeleitet.
Vielleicht verwendet ftp.exe nur einen bestimmten Port für die Datenverbindung, den mein ISP blockiert hat? Wenn ja, wie kann ich das ändern?

Antwort1

Normales aktives FTP verwendet für Übertragungen eine separate, vom Server initiierte Datenverbindung und verwendet nur die normale Verbindung über Port 21 als Kontrollkanal. Wenn sich der Client jedoch hinter einer Firewall befindet, wird diese Verbindung wahrscheinlich von der Firewall blockiert. Ich vermute, dass Chrome, Explorer, FireZilla usw. intelligent genug sind, den passiven Modus auszuprobieren, in dem die ursprüngliche, vom Client initiierte Verbindung sowohl als Kontroll- als auch als Datenkanal verwendet wird.

Es scheint, dass der standardmäßige CLI-FTP-Client von Windows den passiven Modus nicht unterstützt. Sie müssen also zuNcFTP. Alternativ, und ich denke, die bessere Option, ist es, stattdessen einfach SFTP zu verwenden. FTP ist unsicher und sollte wirklich nur in LANs verwendet werden. SFTP ist vollständig verschlüsselt und verwendet auch nur einen einzigen Kanal für Daten und Befehle. Wenn Sie einen CLI-SFTP-Client benötigen,PSFTPist eine gute Option.

Antwort2

Ich hatte dieses Problem auch. Die Lösung bestand darin, die Firewall des Antivirus (in meinem Fall McAfee) zu stoppen, da sie die FTP-Ports blockierte.

Antwort3

Die Windows FTP-Befehlszeilenschnittstelle unterstützt den PASSIVEN Modus. Verwenden Sie „quote pasv“, um in den passiven Modus zu wechseln.

verwandte Informationen