_FTP_FilePut im Passiv mode => Fehler 12003

  • Heyho Lieblings Community!,

    Ich versuche mich an einem Script das mir zugriff auf meinem 2ten Computer über FTP gibt, den ich anlässlich meines Umzugs an einen Freund gebe(im austausch kann ich ihn weiter als Server benutzen), da ich den Autoit problemen aus dem weg gehen möchte mit der TCP startup methode habe ich mich entschieden dem Computer befehle über einen FTP server zu geben. Dazu verbindet sich der Client mit dem FTP & ladet dort eine Instruction.txt(hier 1.txt) hoch. Diese wird dann von einem 2ten Programm welches auf dem Computer installiert ist ausgelesen & die dortigen anweisungen werden ausgeführt. Ich denke das macht die Communication flüssiger & es ist einfacher für mich dieses Projekt umzusetzen.

    Also habe ich mich hingesetzt & fix ein Script geschrieben um ersteinmal zu sehen ob die methode ratsam & funktional ist. Aber wie das schicksal mich leitet, so gibt es das eine Problem das mir den Verstand raubt. Ich habe einen FileZilla Server per XAMPP installiert & eingerichtet, dort einen Passiv modus eingestellt der die Ports 5064-5164 belegt. Der standart port für den FTP ist 5063(ich dachte dabei das die passiv port range den stardart port nicht überdecken sollte, habe nichts dazu gefunden ob das so richtig ist). Das script funktioniert solange ich versuche lokal auf dem server eine datei abzulegen, sobald ich aber external per no-ip auf meinen rechner zugreifen will spuckt er mir den fehler 12003 aus.
    ich habe mich dazu belesen, jedoch nichts gescheites gefunden, weshalb ich nach 2h herumgrübeln wiedermal euch belästige. :rtfm: (RTFM? der smiley passt zu der Ratlosigkeit)

    Mir ist aufgefallen das der server erst garkein signal für eine datei übertragung bekommt. Außerdem kann ich den Fehler 12003 nicht zuordnen(weshalb ich wohl auch keine informationen über den fehler habe, die mir deutlich weiterhelfen würden)

  • ;~ Local $FURL = "ftp." & $SURL ;<=ftp. = error

    Bei 'http://' machst du es richtig... wieso dann bei 'ftp.' einen Punkt?

    Hier mal ein kleines Script für dich...

    FTP-DEMO

    7 Mal editiert, zuletzt von Bitnugger (9. März 2017 um 12:45)

  • 12003 ist ERROR_INTERNET_EXTENDED_ERROR siehe dazu msdn.
    Lass dir mal mit TCPNameToIp() die aufgelöste IP-Adresse anzeigen und verbinde dich mal damit. Eventuell hat AutoIt einfach Probleme über den no-ip-DNS-Service.

    Das habe ich im vorraus schon probiert weshalb ich zu meiner ip aufgelöst hätte wäre dass, das problem gewesen :)
    ich muss noch sehen wohin mich der fehler 12003 tatsächlich führt.

    Bei 'http://' machst du es richtig... wieso dann bei 'ftp.' einen Punkt?
    Hier mal ein kleines Script für dich...

    wenn ich ich mir ftp adressen so ansehe haben viele dieses ftp. vor ihrer adresse weshalb ich schnell mich dazu verleiten ließ das auch zu testen o:
    also dein 'kleines' script ist etwas das ich jetzt ersteinmal studieren werde, ein wenig herumprobiert habe ich schon damit & ich geriet wiedermals an fehler. (FUNCTION FAILED --> _GetFTP_List) Ich schau mir das mal weiter an, aber danke dir vielmals dafür da sind dinge verbaut die mich sicher auch woanders weiterbringen werden

  • Die Server sind aber dann auch unter ftp. eingetragen! Du kannst nicht einfach ftp. davor setzen und hoffen das es funktioniert.

    Hehe ich hab schlussendlich nur etwas herumprobiert.

    Edit: mir viel auf das der client vom server eine adresse + port zugesendet bekommt, dieser müsste eine externe adresse sein, jedoch kommt am clienten eine Lokale an sowas wie 192,168,178,153,(xxx*256),+xxx) Das verwundert mich etwas.

  • Wie der Server anzusprechen ist, entscheidet sich dadurch, wie er konfiguriert wurde bzw. welche Verbindungen er zulässt.

    Code
    ftp://   | ftpes:// --> FTP - File Transfer Protocol - Verschlüsselung: Wenn verfügbar, explizites FTP über TLS verwenden
             | ftpes:// --> FTP - File Transfer Protocol - Verschlüsselung: Explizites FTP über TLS erfordern
             | ftps://  --> FTP - File Transfer Protocol - Verschlüsselung: Implizites FTP über TLS erfordern   (veraltet - sollte nicht mehr verwendet werden)
    ftp://   |          --> FTP - File Transfer Protocol - Verschlüsselung: Nur unverschlüsseltes FTP verwenden (unsicher)
    
    
    sftp://  | ........ --> SFTP - SSH File Transfer Protocol

    Was ist der Unterschied zwischen FTPS Implizit und Explizit?

    wenn ich ich mir ftp adressen so ansehe haben viele dieses ftp. vor ihrer adresse weshalb ich schnell mich dazu verleiten ließ das auch zu testen o:

    Wenn du dein hostname so konfiguriert hast, dann kannst du ihn auch so angeben... angenommen du hast dir einen kostenlosen Domaineintrag von http://freedns.afraid.org/ besorgt,
    könnte das so aussehen:
    frei.wählbar.aus Liste.auswählen
    CandyLand.mooo.com
    www.CandyLand.mooo.com
    ftp.CandyLand.mooo.com
    ftps.CandyLand.mooo.com
    ftpes.CandyLand.mooo.com

    Und so rufst du sie dann z. B. im Browser/Client auf:
    http://www.CandyLand.mooo.com
    ftpes://ftp.CandyLand.mooo.com

    Wenn dein Server den Clients die externe IP senden soll, muss er auch angewiesen werden, sich diese zu holen, anderfalls verwendet er die interne.

    Mit dem Filezilla-Server machst du das z. B. so:
    Filezilla-Server.png

    11 Mal editiert, zuletzt von Bitnugger (10. März 2017 um 04:43)

  • Danke Bitnugger für deine nette Hilfe, die weiß ich zu schätzen! Ich habe das alles schon genauso konfiguriert wie das bild es mir aufzeigt, nur das sich ein fehler auf getan hat der sich mir nicht erklären ließ. Ich denke mal der fehler kam indem ich die ip von meiner eigenen adresse(http://beispiel.net/) auslesen lassen wollte, der rückgabe wert dann aber eine seite war, nicht so wie bei http://ip.filezilla-project.org/ip.php wo dir eine ip ausgegeben wird. Dementsprechend ist das Problem jetzt gelöst, mit der SSL verschlüsselung sollte ich mich dann aber wohl noch beschäftigen, schließlich möchte ich nicht das jemand die login daten abfängt.

    Das thema werde ich als gelöst markieren & wenn ich die Zeit finde analysiere ich weiter die Debug methode die dein 'kleines' script benutzt. Das ist sehr anschaulich & interessant gestaltet worden von dir, so das ich denke mal darin einige methoden finden werde um in Zunkuft einigen Problemen schneller den Kampf anzusagen :part: