Hab jetzt grad beim Suchen noch eine Option entdeckt die evtl. funktionierten könnte: $telnet->raw_pty(1|0)
Du meinst beim suchen in der Doku?
Ja, genau da hab ich es gefunden, funktioniert aber leider nicht so wie ich mir das vorstelle.
Ich versuch nochmal etwas genauer auf das Problem einzugehen um es verständlicher zu machen:
Ich möchte in LAN A die Dateien von LAN B abrufen können.
Das betrifft z.B. aktuell das Webinterface in LAN B, welches Dateien verschiedener Art (.txt, .tar, .tar.gz, .iso, .jpg) zur Verfügung stellt. Die einzige Möglichkeit zwischen den LANs zu kommunizieren ist von LAN A eine SSH-Session (kein SCP) zu einem Zwischenhop zu spannen und von dort aus eine SSH-Verbindung zum eigentlichen Server in LAN B herzustellen.
Ich habe mir jetzt ein Perl-Script (copsweb.pl - sub get_cops_web) geschrieben, welches über Expect eine Session zum Zwischenhop aufbaut (sub ssh_unix_level1) und sich von dort aus weiter auf den Server in LAN B aufwählt (sub ssh_nipc1).
Das Perl-Script wird von einem PHP-Script (index.php) aufgerufen, da ich meine CGI-Gehversuche kläglich gescheitert sind.
Auf dem Zielrechner in LAN B liegt eine PHP-Datei (coca_overlay.php), welche die über die Konsole übergebenen Argumente entgegennimmt und anschließend die eigentlichen PHP-Dateien des Webinterfaces einbindet.
Über Expect stoße ich dann die coca_overlay.php an und fange den Output des PHP-Scriptes ab.
Das Perlscript gibt die lokal angelegte Datei aus und ändert ggf. noch die URLs, wenn es sich um eine anzuzeigende PHP/HTML-Datei handelt.
Das funktioniert bei Textdateien (.txt und .tar) wunderbar, aber nicht mehr, wenn ich binäre Dateien (.tar.gz, .iso, .jpg) übertragen will.
Dann bekomme ich nur Krautsalat.
Nochmal als Summary:
index.php ->LAN A
|
copsweb.pl ->LAN A
|
FEX.pm (ssh_unix_level1; ssh_nipc1) ->LAN A
|
coca_overlay.php ->LAN B
|
Dateien des Zielhosts -> LAN B
Die Quelltext folgen gleich (Post ist sonst zu groß zum absenden :/ )