Скрипт оболочки в прослушивателе NetCat, чтобы разговаривать с клиентом

Я бы перенаправил STDOUT на файл, а затем используйте тестирование метки времени monit , чтобы перезапустить процесс, если mtime файла превышает пороговое значение.

1
21.12.2018, 21:43
2 ответа

Итак, я создал небольшой пример:

#!/bin/bash

while read -p 'Tell me your name: ' ln;
  do 
    echo "I got $ln";
  done

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

На сервере

nc -l -p 4444 -k --sh-exec./yourscript

Здесь -kсохраняет соединение открытым, поэтому нет необходимости в петле, которую вы там получили.

На клиенте

nc hostname 4444
foo bar

Это должно сработать.

2
27.01.2020, 23:15

Кажется, открыто -BSD netcat не поддерживает команды -eили --exec, которые помогают нам выполнить файл после установления соединения. Поскольку это может привести к тому, что удаленная машина запустит потенциально опасную команду для подключенной машины, эти команды считаются опасными.
В качестве обходного пути я просто удалил Open -BSD netcat и установил традиционный сервер -netcat, следуя решению на сайтеhttps://stackoverflow.com/questions/10065993/how-to-switch-to-netcat-traditional-in-ubuntu. Это дало мне доступ к команде exec -. Команда, которую я запускаю на сервере: :nc -l -p порт -номер -e Файл -Сценарий -до -выполнить

3
27.01.2020, 23:15

Теги

Похожие вопросы