Windows FTP-Client: Beschränken Sie den Datenportbereich

0

In meinem Unternehmen gibt es ein Tool, das den nativen Windows-FTP-Client (ftp.exe) verwendet. Dieser FTP-Client verwendet manchmal einen Port für die Datenverbindung, der von der Firewall als Peer-to-Peer von der Anwendungssteuerebene erkannt wird.

Ich möchte wissen, ob ich den Portbereich beschränken kann, den der FTP-Client in der Registrierung oder anderswo verwendet.

Danke für deine Hilfe.

Alexandre

abillon
quelle
Nein, das geht nicht.
Martin Prikryl
OK. Danke für die kurze Antwort. Ich habe keine klare Antwort auf dieses Problem gefunden. Nicht sicher, warum 2 Leute abgelehnt haben ...
abillon

Antworten:

2

Es ist nicht möglich.

Können Sie keinen anderen Windows-Befehlszeilen-FTP-Client und einen anderen passiven Modus verwenden? Es würde alle Probleme mit der Firewall lösen.

Zum Beispiel WinSCP ? Es gibt sogar eine Anleitung zum Konvertieren eines Windows FTP-Skripts in ein WinSCP-Skript .

(Ich bin der Autor von WinSCP)

Martin Prikryl
quelle
Derzeit ersetze ich die FTP-Skripts durch Powershell + WinSCP Automation, suche aber in der Zwischenzeit eine Problemumgehung für dieses Problem
abillon
1

Siehe Update unten

Nur bei Active FTP kann der Client über die Ports entscheiden, welche Ports verwendet werden sollen PORT Befehl:

...
PORT 192,168,0,2,7,123
200 PORT command successful
LIST
...

Der Server wird angewiesen, an Port 192.168.0.2 zu verbinden 7 * 256 + 123 = 1915 . Die beiden Zahlen am Ende sind das höhere und das niedrigere 8 Bit der 16-Bit-Portnummer.

Bei Active FTP stellt der Server jedoch eine Verbindung zum Client her. Dies ist nicht für Clients hinter Firewalls oder NAT-Routern geeignet. Bei Passivem FTP ist das Gegenteil der Fall: Der Client öffnet zusätzliche Verbindungen zum Server. Passives FTP ist somit der De-facto-Standard. Aber mit Passivem FTP der Client kann nicht entscheiden Sie, welchen Port Sie verwenden möchten:

...
PASV
227 Entering Passive Mode (192,168,0,3,7,123).
LIST
...

Nun muss der Client eine Verbindung zur IP-Adresse und zum Port herstellen, die in der Serverantwort angegeben sind ( 227 Entering ... ). Firewalls sind zwar immer noch problematisch, da es sich nicht um einen "bekannten" Port handelt, er wird jedoch auf NAT-Routern ohne FTP-Helfer vollständig unterstützt.

tl; dr : Nur bei aktivem FTP. Active FTP funktioniert jedoch nicht.

Aktualisieren

Nun ist klar, dass es um diese Frage geht ftp.exeDie obige Erklärung ist meistens irrelevant, weil ftp.exe unterstützt nur Active FTP. Das Verhalten von ftp.exe kann nicht gesteuert / modifiziert werden. Ein anderer FTP-Client ist erforderlich.

Die meisten Kunden unterlassen Sie Unterstützung der Konfiguration oder Steuerung des Datenportbereichs. Auszug aus der WinSCP-Handbuch :

Da es in WinSCP nicht möglich ist, einen Bereich der für Datenverbindungen verwendeten Ports zu konfigurieren, müssen alle Ports im dynamischen Windows-Portbereich 49152 - 655354) geöffnet werden.

Möglicherweise möchten Sie Ihre gesamte Vorgehensweise beim Übertragen von Dateien überdenken. FTP ist einfach veraltet. Das Übertragen der Datei mit einem Einzelport-Protokoll (SFTP, HTTP, ...) ist möglicherweise eine bessere Methode.

Daniel B
quelle
Ja. Ich spreche von ftp.exe. Kein passiver Modus bei diesem Client
abillon
Aha. Diese Informationen müssen in der Frage stehen. Bitte erläutern Sie auch, wie es verwendet wird. Denn wenn Sie sein Verhalten ändern wollen, brauchen Sie eine andere, richtig Klient.
Daniel B