[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2003
    Beiträge
    82

    ftp transfer von AS400 in active mode

    hallo

    wie kann ich ftp transfer von AS400 in active mode durchführen ?
    ich meine nicht passive sondern active connection mit ports 20 and 21
    AS400 ist ftp client

    gruss
    cc

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Wozu soll das gut sein ?
    Der "normale" FTP tuts doch allemal.
    Ich weiß sowieso nicht, worin der Unterschied besteht.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Aug 2004
    Beiträge
    923

    wozu ist das gut

    Zitat Zitat von Fuerchau
    Wozu soll das gut sein ?
    Der "normale" FTP tuts doch allemal.
    Ich weiß sowieso nicht, worin der Unterschied besteht.
    japp,

    wir hatten mal einen kunden von vielen, der wollte auch partout im active mode daten ausgetauscht haben weils angeblich nicht anners geht.
    habe den dann am ausgestreckten arm verhungern lassen.
    (ist natürlich nur möglich wenn man sich das in dem moment auch leisten kann)
    und siehe da, nach ein paar wochen kam ne mail mit neuen zugangsdaten und auf einmal genügte auch passivmode.



    ist natürlich nur bedingt zur nachahmung empfohlen...

    kuempi

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Aber kann mir mal jemand den Unterschied erklären ?
    Ist das nur der Port oder auch ein anderes Verfahren ?
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Sep 2005
    Beiträge
    54
    "Active FTP"
    Active FTP ist das originäre FTP Protokoll und bekam den Namen "Active" erst, nach dem das "Passive FTP" entwickelt wurde. FTP ist ein auf TCP basierender Service und zeichnet sich durch eine Besonderheit aus: FTP verwendet zwei Ports! Der eine Port ist der "command" Port und der andere der "data" Port. Dabei wird Port 21 für die Steuerung (command) und der Port 20 für die Daten (data) verwendet.

    Möchte sich ein Client mit einem FTP Server verbinden, so öffnet der Client einen beliebigen unpriviligierten Port (alle Ports > 1024) zum "command" Port 21 des Servers und sendet diesem die Portnummer auf dem er die Daten empfangen will. Dies ist in der Regel die Portnummer N+1.

    Beispiel: Client öffnet Port 1230 und sendet dem Server auf dessen Port 21 die Information "Ich erwarte Daten auf Port 1231". Der Server bestätigt den Emfang (acknowledge) und der Client öffnet den Port 1231 und lauscht (listening).

    Nun öffnet der Server seinen Daten Port 20 und sendet Daten zum Port 1231 des Clients. Der Client bestätigt den Empfang jedes TCP Packetes, ganz so, wie es sich gehört.

    Für eine Firewall sieht die Sache aber sehr suspekt aus. Firewalls blockieren jede Anfrage von außen. Firewalls akzeptieren nur TCP Pakete von außen, wenn diese vom empfangenden Port angefordert wurden. Aber bei FTP sieht das anders aus. Erstens hat sich plötzlich ein Port geöffnet (1231) der keine Anfrage gestellt hat und auch noch im "listening mode" ist, und dann sendet ein Port 20 Daten, die von diesem Port nicht angefordert wurden (die Anforderung stammte ja von Port 1230). In diesem Moment macht die Firewall die Klappe zu.

    Das ist das Problem, wenn ihr hinter einem Proxy oder einer Firewall sitzt. Gute Firewalls erkennen einen FTP Transfer und behindern diesen nicht. Bei Proxys treten da schon häufiger Probleme auf. Um diese Probleme zu umgehen wurde eine alternative Form des FTP Transfers entwickelt, das "Passive FTP".

    "Passive FTP"
    Dieser Mode wird auch PASV Mode genannt, weil der FTP Befehl PASV dem Server mitteilt, das der passive Mode gewünscht ist. Im Gegensatz zum aktiven Mode leitet der Client beide Verbindungen zum Server ein. Damit wird das Firewall Problem gelöst, da damit die Firewall über beide clientseitige Verbindungen Kenntnis erhält. Der Ablauf einer solchen, passiven Verbindung, wird im Folgenden beschrieben.

    Wenn der Client eine Verbindung zu einem FTP Server wünscht, so öffnet er zwei unpriviligierte Ports > 1024, z.B. Port 1030 und 1031. Nun kontaktiert der erste Port den Server auf dessen "command" Port 21. Aber anstelle dem Server mit dem "Port" Kommando mitzuteilen auf welchem Port die Daten vom Daten Port 20 erwartet werden, sendet der Client den Befehl PASV. Der Server weiß nun nicht auf welchem Port der Client die Daten empfangen will, hat aber die Information, dass der Client eine passive Verbindung wünscht.

    Hier erklärt sich nun auch der Begriff "passive". Passive bedeutet aus der Sicht des Servers, dass er nicht aktiv anfangen kann auf den, vom Client geöffneten Port die Daten zu senden.

    Der Server sendet nun keine Daten über seinen Port 20, sondern öffnet seinerseits einen Port > 1024 und sendet die Portnummer mittels des FTP Befehls PORT an den Client. Nun kann der Client aktiv das Geschehen lenken. Er kennt den unpriviligierten Port, den der Server anstelle des Ports 20 für den Datenverkehr geöffnet hat und fordert nun von seinem Port 1031 (in unserm Beispiel) die Daten an. Die Firewall kann dies nicht in Verlegenheit bringen, da ein Datenverkehr erfolgt, der vom Client selbst über den Port 1031 gesteuert wird.

  6. #6
    Registriert seit
    Sep 2005
    Beiträge
    54
    P.S. Wollte mich kurz vorstellen: Bin 24 Jahre und habe gerade in einer IT-Firma angefangen zu arbeiten, die AS/400 Programmierungen für die Logistik bei großen Automobil Firmen durchführt. Fange also gerade an mich in die AS/400 einzuarbeiten. (Danke an Holger für das schreiben des Einführungskurses :-) ).

    Mfg KAMPI4

    P.S. Kann man seine Beiträge nie editieren ?

    EDIT: MMH jetzt wo ich nen 2. Post gemacht habe kann ich beide editieren. Naja egal.

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Also ist für die reine Übetragung der Modus aktiv/passiv nicht relevant, aus Sicherheitsgründen der aktive Modus aber abzulehnen.
    Also warum aktiv fordern, wenn passiv sicherer ist ?
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #8
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Zitat Zitat von Kampi4
    "Active FTP"
    Active FTP ist ...
    Sehr schön erklärt,
    jetzt weiß ich auch, warum SENDPASV mein Problem damals behoben hatte.

    Gruß
    Christian

  9. #9
    Registriert seit
    May 2003
    Beiträge
    82
    habe herausgefunden:

    man braucht es data area mit dem Namen QTMFTPPASV in library QUSRSYS zu kreieren:

    CRTDTAARA DTAARA(QUSRSYS/QTMFTPPASV) TYPE(*LGL) AUT(*USE)

    AS/400 FTP client wird dann in active mode gesetzt.

    wenn man data area löscht, dann wird der FTP client wieder per default zum passive mode gesetzt.

    gruss
    cc

  10. #10
    Registriert seit
    Aug 2004
    Beiträge
    923

    active mode

    Zitat Zitat von cc
    habe herausgefunden:

    man braucht es data area mit dem Namen QTMFTPPASV in library QUSRSYS zu kreieren:

    CRTDTAARA DTAARA(QUSRSYS/QTMFTPPASV) TYPE(*LGL) AUT(*USE)

    AS/400 FTP client wird dann in active mode gesetzt.

    wenn man data area löscht, dann wird der FTP client wieder per default zum passive mode gesetzt.

    gruss
    cc
    ich bin sprachlos. so einfach und nicht im handbuch zu finden.
    erst über Software Technical Document findet man so ne info...

    toll!!

  11. #11
    Registriert seit
    Sep 2001
    Beiträge
    96

    Thumbs up FTP aktiv/passiv

    interessanter Thread, und gute Erklärungen,
    habe wieder was gelernt !

  12. #12
    Registriert seit
    Nov 2005
    Beiträge
    32
    Entschuldigung,
    dass ich dieses Thema nach so vielen Jahren wieder aufgreife aber geht das nun mit dem FTP Transfer im active Mode oder nicht. Dieser DTAARA ist ja schon seit ein paar Releasen Geschichte und die FTP Befehle SENDPASV und SENDEPSV kenne ich auch aber die Verbindung zu einem Kunden bleibt bis zum Timeout hängen. Das gleiche mit einer Session-Verbindung aber Filezilla z. B. funktioniert.

Similar Threads

  1. FTP Befehl mit Wildcard von AS400
    By Souljumper in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 13-11-06, 12:34
  2. Dateien per FTP von IFS auf der AS400 holen
    By kroehn in forum NEWSboard Windows
    Antworten: 5
    Letzter Beitrag: 08-11-06, 19:36
  3. FTP von der AS400 -> zum PC sehr langsam
    By ExAzubi in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 17-03-06, 09:26
  4. FTP AS400 -> AS400 -> PC
    By codierknecht in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 07-10-05, 08:16
  5. FTP LOGIN über PC auf AS400
    By harkne in forum IBM i Hauptforum
    Antworten: 19
    Letzter Beitrag: 01-09-05, 08:53

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •