Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Eingabe und Ausgabeverarbeitung von Netcat aus einem Script steuern

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
SvenSteal
Gast





BeitragVerfasst am: 21. Apr 2004 12:13   Titel: Eingabe und Ausgabeverarbeitung von Netcat aus einem Script steuern

ich möchte gerne einen Server netcat programmieren - eingepackt in ein bash script. Dafür ist es jedoch notwendig, dass ich sowohl an die Ausgabe, als auch an den stdin - Kanal von netcat heran komme.

So funzt es nicht:

script.sh | nc -l -p ... | script.sh

Hier wird zweimal das Script aufgerufen.

Hat jemand eine Lösung dafür? Vielen Dank im Voraus

Sven
 

rattenkind
Gast





BeitragVerfasst am: 26. Apr 2004 11:58   Titel:

das Konstrukt foo | bar | foobar erwartet 3 executables und wird von links nach rechts abgearbeitet, wobei jeweils STDOUT des vorangegangenenen an den STDIN des nexten geleitet wird. Damit bekommt bar den STDOUT von foo und foobar den STDOUT von bar.
Vergleiche:
ls -l / | grep d | grep x
Wo ist jetzt das Problem genau?

ratte
 

SvenSteal
Gast





BeitragVerfasst am: 27. Apr 2004 14:59   Titel:

Ich möchte nc (netcat) als server vewenden. Das bedeutet, ich muss dessen ausgabe (mit hilfe des scriptes) abhängig von seiner Eingabe machen.

In deinem Beispiel bedeutet das: ich möchte die Ausgabe von "bar" wieder als Eingabe von "foo" haben - also mehr eingeschlossener kreis. "foobar" wäre dabei überflüssig.


Vielen Dank im Voraus
 

rattenkind
Gast





BeitragVerfasst am: 01. Mai 2004 1:51   Titel:

Hi,

das laesst sich AFAIK nicht in einer Kommandozeile loesen, aber in einem Script mit einer rekursiven Funktion, die die Ausgaben in einer Variablen speichert und dann wieder "abgibt" , sollte das machbar sein.

So vielleicht:

Code:

#!/bin/sh
my_func () { # $1 ist die Variable, die den Inhalt des ersten Parameters des Funktionsaufrufs enthaelt
  NC_OUTPUT1=`cat $1 netcat -l -p ... `
}

while true; do my_func $NC_OUTPUT; done


untested, aber vielleicht bringt dich das auf den Weg.

ratte
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy