Назад | Перейти на главную страницу

Как запустить netcat в режиме прослушивания с другого хоста?

У меня есть сценарий, с которого я хотел бы начать nc в режиме прослушивания на 10.10.10.11, но я бы хотел сделать это из 10.10.10.10, где у меня этот скрипт

ssh -n 10.10.10.11 nc -l 8023 | mbuffer -s 128k -m 1G | zfs receive $zfsPath
zfs send $newestSnap | mbuffer -s 128k -m 1G | nc -w 60 10.10.10.11 8023

Проблема в том, что если я выполню сценарий из 10.10.10.10 то он не продолжится после выполнения первой строки, потому что nc теперь ожидает / прослушивает соединение на порту 8023.

Вопрос

Я хотел бы выполнить вышеизложенное из 10.10.10.10, но как мне заставить его продолжить после первой строки?

Пытаться

ssh -n 10.10.10.11 "nc -l 8023 | mbuffer -s 128k -m 1G | zfs receive $zfsPath &"
zfs send $newestSnap | mbuffer -s 128k -m 1G | nc -w 60 10.10.10.11 8023

Это запускает команду и помещает ее в фоновый режим, позволяя передать управление следующей строке.

У меня нет системы zfs под рукой, поэтому протестировал ее с помощью

ssh -n remote.tld  "nc -l 8023 | wc -l  >/tmp/test &"
ls | nc -w 60 remote.tld 8023

и правильный вывод появился в удаленном /tmp/test файл.