Web server pomocí Netcat

Robik

Web server pomocí Netcat
« kdy: 04. 06. 2012, 16:42:50 »
Dobrý den,

Snažím se rozchodit webserver pomocí netcatu. V prohlížeči zobrazuji výpis složky pomocí ls. mám dva soubory jeden server.sh kde se spouští pouze
Kód: [Vybrat]
nc -l -p 8888 -c test.sh


Přičemž test.sh se nachází v /usr/bin a obsahuje ls -l /home/...  Vše funguje dobře až na to že po znovu načtení stránky spojení spadne. Proto bych se chtěl zeptat jak problém vyřešit? Použití cyklu while ale jak? Něco jako while read REQUEST?


Díky moc za každou pomoc
« Poslední změna: 05. 06. 2012, 16:14:35 od Petr Krčmář »


Lol Phirae

Re:Netcat server
« Odpověď #1 kdy: 04. 06. 2012, 16:45:02 »
 :o ::) ;D :D

Robik

Re:Netcat server
« Odpověď #2 kdy: 04. 06. 2012, 16:50:00 »

Sten

Re:Netcat server
« Odpověď #3 kdy: 04. 06. 2012, 16:52:31 »
1. Proč to děláte pomocí netcatu? Třeba nginx by tohle zvládl IMO mnohem lépe (např. netcat neumí více spojení paralelně).

2.
Kód: [Vybrat]
nc -l -k -p 8888 -c test.sh

Robik

Re:Netcat server
« Odpověď #4 kdy: 04. 06. 2012, 16:59:19 »
1. Proč to děláte pomocí netcatu? Třeba nginx by tohle zvládl IMO mnohem lépe (např. netcat neumí více spojení paralelně).

2.
Kód: [Vybrat]
nc -l -k -p 8888 -c test.sh

Parametr "-k"?


Sten

Re:Netcat server
« Odpověď #5 kdy: 04. 06. 2012, 18:16:27 »
Parametr "-k"?

Přesně tak. Parametr „-k“ dělá to, že netcat neskončí s prvním požadavkem, ale bude naslouchat a vyřizovat požadavky, dokud jej neukončíte.

Robik

Re:Netcat server
« Odpověď #6 kdy: 04. 06. 2012, 19:23:26 »
Parametr "-k"?

Přesně tak. Parametr „-k“ dělá to, že netcat neskončí s prvním požadavkem, ale bude naslouchat a vyřizovat požadavky, dokud jej neukončíte.

Bohuzel taky nefunguje

kagro

Re:Netcat server
« Odpověď #7 kdy: 05. 06. 2012, 09:00:39 »
Ahoj,

neviem, či rozumiem, čo chceč urobiť, toto nepomôže?:

Kód: [Vybrat]
while :
do
nc -l -p 12345 -e ./wsbin
echo "Koniec...."
done


Sten

Re:Netcat server
« Odpověď #8 kdy: 05. 06. 2012, 16:10:00 »
Bohuzel taky nefunguje

Tipuji, že to bude tím, že tam máte keep-alive (neposíláte „Connection: close“). Dokud to spojení není uzavřené, netcat nezačne vyřizovat požadavky od někoho jiného. Proto vám doporučuji třeba ten nginx.

Ale pokud trváte na shellu, tady máte krásný návod  :)