Я хотел бы взять программу, P
которая читает из stdin
& пишет в stdout
, но соединяет ее nc
или что-то подобное, что она читает с определенного порта и выводит на другой порт.
# The reading is easy, here P reads from port 50505
nc -l 50505 | P
Как мне заставить его написать обратно, чтобы сказать порт 60606?
P
и ожидать чтения результатовP
второго TCP-соединения? Почему именно тег UDP?UDP
я думаю, я хотелports
, но это не существующее ключевое слово, поэтому я подумалTCP
, и я думаю, что я добавилUDP
из рефлекса.Ответы:
Я имею в виду, что кто-то может открыть 2 TCP-соединения с вашей машиной, одно - к порту 50505, а другое - к порту 60606, отправить данные по первому каналу, предназначенному для передачи на P, и ожидать чтения вывода P из второго соединения TCP, тогда это будет:
Или с
socat
:Чтобы
P
отправить свой вывод обратно в то же соединение:источник
Вам не нужно
nc
для работы с портами.bash
может сделать это сам:источник
/dev/tcp
часто отключается и не может быть использован для прослушивания . Вам нужно ,zsh
если вы хотите оболочку , которая может создать прослушивание TCP сокетов.ztcp -l
для прослушивания иztcp -a
для приема соединений на слушающем сокете).