LINUX.ORG.RU

специалистам по netcat

 


0

1

Захотелось мне на ночь глядя странного, открыть с помощью netcat входящее соединение, дождаться запроса, обработать данные и выдать результат в качестве ответа:

 nc -l $port | grep GET | тут-хитрая-обработка | ??? 
Но встал вопрос как завернуть результат обработки обратно в nc?

★★★
Ответ на: комментарий от mm3

выкурив ман просветления не наступило, нужный пример не распарсил.

Тогда только вдоль

anonymous
()

Учитывая различия версий, в netcat-bsd есть опция -c. А в скрипт уже все что хочешь

minakov ★★★★★
()

открой другой nc. Но вообще одной строкой врядли получится.

anonymous
()
Ответ на: комментарий от mm3

1)

  mkfifo myfifo # лучше во временном каталоге, см. mktemp(1)
  nc -l -p ... < myfifo | 'обработчик' > myfifo
2)...лениво...
3) bash(1) /Coprocesses
4) настоящий (не GNU- и не openbsd-) netcat имеет
параметры '-e' и '-c', netcat6 - '-e'.

ABW ★★★★★
()
Ответ на: комментарий от ABW

1) что-то работать отказывается
2) ???
3) ???
4) педевикия утверждает, что эти параметры выпилили якобы для безопасности, но их можно добавить пропатчив netcat, а у меня до кучи самый извращённый вариант, в бубунте, который даже ничего не слышал про флаг -p

mm3 ★★★
() автор топика

Специалистам по tr, виртуозам echo.

anonymous
()
Ответ на: комментарий от mm3

уже бы давно на тикле написал пресловутые пять строк.

nanoolinux ★★★★
()
Ответ на: комментарий от mm3

1) что-то работать отказывается

осиливай дальше: nc -l -p 8080 < fifo | { grep -q GET && echo GOT } > fifo

в другой оболочке: echo GET | nc lo 8080

Возможно была проблема с gpep-ом. Eсли хочется нормально обрабатывать GET-запросы - нужно отдавать хотябы HTTP ... и Content-Length - заголовки.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.