Простой сервер, который инициировал сценарий и отвечает

ldd вывод показывает это bash ожидание должно найти свои библиотеки в /lib64, нет /lib. Кроме того, это означает, что необходимо скопировать их с /lib64 в соответствующий каталог в тюрьме. Те же файлы найдены в /lib не будет работать.

2
18.03.2019, 04:04
3 ответа

Одна из более тривиальных услуг, которую я могу себе представить, это запуск одной из них из xinetd. Преимущество заключается в том, что xinetd сам по себе относительно легкий, но он все равно будет обрабатывать все сетевые данные, включая протоколирование и ограничения безопасности, такие как ограничение запросов, TCP-обертки и т.д.

Установите xinetd, когда он еще не установлен, и определите пользовательскую службу типа /etc/xinetd.d/helloworld :

service helloworld
{
    disable         = no
    port            = 1234
    socket_type     = stream
    protocol        = tcp
    wait            = no
    user            = nobody
    server          = /usr/local/bin/hello-world.sh
    server_args     = test
    instances       = 1
    type            = unlisted
}

Перезагрузите/перезапустите xinetd, и вы сможете протестировать его с помощью telnet localhost 1234.

На странице руководства man xinetd.conf имеется довольно хорошее описание доступных опций.

.
4
27.01.2020, 21:52

Я бы сделал это в BASH с помощью некоторых простых nc команд:

#!/bin/bash

nc -k -l -p PORT > tempfile

while true
do
    if cat tempfile | grep request;
    then
        # Execute checker script
        # Reply back with nc
        : > tempfile # Clear tempfile
    fi
    sleep 1
done

Это также потребовало бы настройки клиента с помощью nc. Может быть, для получения ответа Success также потребуется настройка команды прослушивания nc на клиенте.

Этот скрипт далек от завершения, и вы также должны написать клиент для него, но он может дать вам некоторые идеи.

Основным здесь является использование nc. С его помощью можно настраивать простые клиент-серверные архитектуры.

.
2
27.01.2020, 21:52

Я столкнулся с этим, когда искал похожее решение:Goexpose .

Это позволяет запускать ряд задач, включая оболочку, на основе вызовов HTTP.

1
27.01.2020, 21:52

Теги

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