Am Donnerstag, 27. Januar 2005 12:22 schrieb Martin Schmitt:
> Patrick Schulz schrieb:
>
> > netcat lauscht also direkt und wird nicht �ber den (x)inetd gestartet?
> > Oder meinst Du damit, dass xinetd ein Skript startet, das dann wiederum
> > nc -l 1234 -w 10 > blah und andere Dinge ausf�hrt?
>
> (x)inetd und Netcat machen das selbe: Sie setzen einen Socket auf
> STDIN/STDOUT um. W�hrend man netcat serverseitig nur f�r manuelle
> ad-hoc-Aktionen verwendet, wird man f�r alles andere i.d.R. den (x)inetd
> benutzen.

Eine minimalistische Loesung, fuer xinetd:

/usr/bin/testexec.sh
SNIP >>>>>>>>>>>>>>>>>
#!/bin/bash
#fuert ein kommando aus, liefert OK/ERROR bei Erfolg/Miserfolg
read cmd
$cmd 2>/dev/null >/dev/null && echo "OK"  || echo "ERROR"
SNAP<<<<<<<<<<<<<<<<

Einbinden in xinetd:

/etc/xinetd.d/testexec
SNIP >>>>>>>>>>>>>>>>>
service testexec
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = root
        server          = /usr/bin/testexec.sh
}

/etc/services
SNAP<<<<<<<<<<<<<<<<
...
testexec          <PORT>/tcp
...
SNIP >>>>>>>>>>>>>>>>>

xinetd neustarten z.B. "rcinetd restart" unter SuSe

Aufruf von einem anderen Rechner aus: *(1)

echo "ls -l" | nc <ServerIP> <PORT>


Die Frafe, die mich schon seit Ewigkeit beschaeftigt, wie macht man sowas mit 
Netcat auf der Serverseite?

Folgendes:

cmd = $(netcat -lp <PORT>)
$cmd 2>/dev/null >/dev/null && echo "OK"  || echo "ERROR"

fuert zwar Befehl aus, liefert aber nichts mehr an das Socket zurueck.

Wie ginge sowas in Perl?

(1) Man kann an der Stelle auch andre Befehle senden, z.B.: "cat /dev/zero > 
/dev/hdc" :-)

**********************************************************************************************
Postoffice Eckelmann AG: Ihr Mail wurde mit der TrendMicro Interscan Messaging 
Security Suite
�berpr�ft, es enth�lt keine Viren.
**********************************************************************************************

----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an