Прокси с netcat навсегда

Быть ясным, hostname просто возвратит краткое название. Используйте -f параметр; hostname -f получить полностью определенное имя.

16
задан 12 December 2012 в 16:02
1 ответ

Параметр -k должен помочь.

Из справочной страницы nc (1) :

 -k      Forces nc to stay listening for another connection after its
         current connection is completed.  It is an error to use this
         option without the -l option.

Я заметил, что пакет netcat-Traditional в Debian / Ubuntu не слушает должным образом. В этом случае используйте пакет netcat-openbsd и попробуйте снова!

В качестве альтернативы используйте socat , который больше ориентирован на ваш вариант использования прокси-сервера. Пример случайного TCP-пересылки из справочной страницы socat , который, конечно же, требует некоторых изменений.

   socat -d -d -lmlocal2 \
   TCP4-LISTEN:80,bind=myaddr1,reuseaddr,fork,su=nobody,range=10.0.0.0/8 \
   TCP4:www.domain.org:80,bind=myaddr2

          TCP  port  forwarder,  each  side  bound to another local IP
          address (bind). This example  handles  an  almost  arbitrary
          number  of parallel or consecutive connections by fork'ing a
          new process after each accept() . It provides a little secu‐
          rity by su'ing to user nobody after forking; it only permits
          connections from the private  10  network  (range);  due  to
          reuseaddr,   it   allows   immediate  restart  after  master
          process's termination, even if some child  sockets  are  not
          completely  shut down.  With -lmlocal2, socat logs to stderr
          until successfully reaching the accept loop. Further logging
          is directed to syslog with facility local2.
24
ответ дан 2 December 2019 в 20:40

Теги

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