FTP-Verbindung klappt mit FTP.exe nicht

Status
Für weitere Antworten geschlossen.

Brovning

Benutzer
Mitglied seit
03. Mrz 2013
Beiträge
23
Punkte für Reaktionen
1
Punkte
3
Hallo Zusammen,
ich habe das Problem, dass ich per Filezilla beispielsweise erfolgreich eine FTP-Verbindung aufbauen kann und auch Daten transferieren. Jedoch in meinem Batch-Skript klappt es per FTP.exe von Windows nicht Dateien hochzuladen.
Die Frage ist jetzt warum?

Ich öffne die Verbindung erfolgreich:
Rich (BBCode):
OPEN <domain> <port>
<user>
<pass>

Wechsle in den Passiv-Modus:
Rich (BBCode):
quote PASV

Wähle das Lokale- und das Remote-Verzeichnis aus:
Rich (BBCode):
CD backup
LCD D:\backup

Deaktiviere die Rückfragen:
Rich (BBCode):
PROMPT

Starte den Transfer:
Rich (BBCode):
MPUT *.rar

Doch leider erhalte ich immer folgende Fehlermeldung:
200 PORT command successful.
425 Can't build data connection: Connection timed out.

Was mich irritiert ist, dass es bspw. mit Filezilla am gleichen PC tadellos funktioniert...
Macht die FTP.exe etwas anders als Filezilla?
Hat jemand eine Idee?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
kann es sein, dass PASV bei dir nicht aktiviert ist und Filezilla als Fallback in den Akrtiv-Modus geht? In den FTP Optionen im DSM muss man Passiv-Modus glaub explizit aktivieren
 

Brovning

Benutzer
Mitglied seit
03. Mrz 2013
Beiträge
23
Punkte für Reaktionen
1
Punkte
3
Hallo,
meine FTP-Einstellungen findest du im Anhang.

Wenn ich in Filezilla als Transfer Mode "Aktiv" auswähle, erhalte ich:
Response: 200 PORT command successful.
Command: LIST
Error: Connection timed out
Error: Failed to retrieve directory listing

Wenn ich den Transfer Mode auf "Passiv" stelle, funktioniert der Login und der Dateitransfer mit Filezilla:
Directory listing successful

Kann es sein, dass die FTP.exe den Passiven-Modus nicht richtig umsetzt?
 

Anhänge

  • FTP-Settings.png
    FTP-Settings.png
    14,8 KB · Aufrufe: 42

borg2k

Benutzer
Mitglied seit
08. Mai 2012
Beiträge
1.789
Punkte für Reaktionen
0
Punkte
0
probier mal nach dem qoute PASV noch ein binary einzufügen, damit das proggy weiß dass du binärdateien übertragen möchtest.
 

Brovning

Benutzer
Mitglied seit
03. Mrz 2013
Beiträge
23
Punkte für Reaktionen
1
Punkte
3
Hallo,
Danke für den Tipp. Eingefügt vor MPUT.
Leider ebenfalls ohne Erfolg.
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.165
Punkte für Reaktionen
414
Punkte
393
Hallo,
die erste Version von NcFTP stammt aus dem Jahr 2000, da mag die Aussage, daß der Windows FTP Client kein pasv beherrscht stimmen. Gerade mit Win7 getestet und passive Verbindung zu meiner DS von extern problemlos erstellt.
Welche Antwort erhältst Du nach pasv?

Gruß Götz
 

Brovning

Benutzer
Mitglied seit
03. Mrz 2013
Beiträge
23
Punkte für Reaktionen
1
Punkte
3
Hallo,
das Verbinden klappte bei mir auch noch. Jedoch schlug der Dateitransfer fehl.
Versuche mal etwas zu übertragen, nachdem du dich per FTP.exe im Passiven Modus verbunden hast.

Mit NcFTP funktioniert der Dateitransfer tadellos.
 

goetz

Super-Moderator
Teammitglied
Sehr erfahren
Mitglied seit
18. Mrz 2009
Beiträge
14.165
Punkte für Reaktionen
414
Punkte
393
Hallo,
mput hat auch problemlos funktioniert.

Gruß Götz
 

Brovning

Benutzer
Mitglied seit
03. Mrz 2013
Beiträge
23
Punkte für Reaktionen
1
Punkte
3
Das ist komisch. Ich habe FTP.exe nicht zum übertragen der Dateien überzeugen können.
Bei mir kam immer:
200 PORT command successful.
425 Can't build data connection: Connection timed out.

Naja, mit NcFTP funktioniert es jetzt auch.

Danke für eure Bemühungen!
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo,

vermutlich blockiert dich deine eigene Firewall. Du hast leider nicht geschrieben welche Windowsversion. Unter Windows7 solltest Du in den erweiterten Einstellungen auch unter den eingehenden Verbindungen einen Eintrag "Programm zur Dateiübermittlung" finden und entsprechend anpassen können.

Frank
 

Brovning

Benutzer
Mitglied seit
03. Mrz 2013
Beiträge
23
Punkte für Reaktionen
1
Punkte
3
Hallo Frank,
und warum sollte die Firewall nur die ftp.exe und keine filezilla.exe oder NcFTPput.exe blockieren?
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Hallo Frank,
und warum sollte die Firewall nur die ftp.exe und keine filezilla.exe oder NcFTPput.exe blockieren?

Weil Du dort auch die Anwendung angeben kannst. Nur Ports war vorgestern ;)

Gruß Frank
 

Brovning

Benutzer
Mitglied seit
03. Mrz 2013
Beiträge
23
Punkte für Reaktionen
1
Punkte
3
Klar, darum ist auch ncftpput.exe vorkonfiguriert...
 

fpo4711

Benutzer
Mitglied seit
26. Mai 2010
Beiträge
2.772
Punkte für Reaktionen
1
Punkte
0
Klar, darum ist auch ncftpput.exe vorkonfiguriert...

Tolle Antwort. :mad:

Es ist definitv so das Du anwendungsbezogene Firewallregeln unter Windows7 hast! Wirf einen Blick rein und es sollte dir klar werden. Allerdings hätte mir bei meiner Ausführung auffallen müssen das diese Regeln im Eingangsfilter vorhanden waren. Somit verhindern sie nur die Herstellung der Datenleitung im Aktivmodus. Gleiche Fehlermeldung.

Das Kommando "quote pasv" stellt nur den Modus beim Server um und somit ist ein Ablauf ohne Fehlermeldung auch korrekt da der Server ja Passiv kann. Der fpt-Client von Windows schickt aber auch vor jeder Datenverbindung das Port Kommando welches dann unweigerlich wieder in den Aktiv-Modus schaltet.

Somit beherrscht auch der aktuelle ftp-Client von Windows kein Passiv. Und hier noch ein offizielles Statement von Microsoft.


Gruß Frank
 

Brovning

Benutzer
Mitglied seit
03. Mrz 2013
Beiträge
23
Punkte für Reaktionen
1
Punkte
3
Das Kommando "quote pasv" stellt nur den Modus beim Server um und somit ist ein Ablauf ohne Fehlermeldung auch korrekt da der Server ja Passiv kann. Der fpt-Client von Windows schickt aber auch vor jeder Datenverbindung das Port Kommando welches dann unweigerlich wieder in den Aktiv-Modus schaltet.

Somit beherrscht auch der aktuelle ftp-Client von Windows kein Passiv. Und hier noch ein offizielles Statement von Microsoft.
Vielen Dank für deine erfolgreiche Recherche. Das würde also die Vermutung bestätigen.

Hier noch das Zitat von Microsoft:
The FTP clients that ship with Windows do not support passive mode. Therefore, they always need to negotiate a data port when issuing a command that returns data.

Was mich jedoch wieder stutzig macht, ist das Datum und die OS-Liste:
Article ID: 271078 - Last Review: March 1, 2007 - Revision: 2.3
APPLIES TO
Microsoft Windows 2000 Service Pack 1
Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Service Pack 1
Microsoft Windows NT Server 4.0 Standard Edition
Microsoft Windows NT 4.0 Service Pack 1
Microsoft Windows NT 4.0 Service Pack 2
Microsoft Windows NT 4.0 Service Pack 3
Microsoft Windows NT 4.0 Service Pack 4
Microsoft Windows NT 4.0 Service Pack 5
Microsoft Windows NT 4.0 Service Pack 6
Microsoft Windows NT 4.0 Service Pack 6a
Microsoft Windows NT Workstation 4.0 Developer Edition
Microsoft Windows NT Workstation 4.0 Developer Edition
Microsoft Windows NT Workstation 4.0 Developer Edition
Microsoft Windows NT Workstation 4.0 Developer Edition
Microsoft Windows NT Workstation 4.0 Developer Edition
Microsoft Windows NT Workstation 4.0
Microsoft Windows NT Workstation 4.0 Developer Edition
Microsoft Windows NT Workstation 4.0 Developer Edition

P.S.: Der Artikel ist in englisch lesbarer, als in der maschinell übersetzten deutschen Variante:
http://support.microsoft.com/kb/271078/en-us
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat