Есть ли способ быстро привязываться к TCP-порту/ip-адресу и просто распечатывать всю информацию в STDOUT? У меня есть простое решение для отладки, которое пишет вещи до 127.0.0.1:4444, и я хотел бы просто привязать порт из bash и распечатать все, что попадается. Есть ли простой способ сделать это?
Простой сервер Socket в Bash?
Ответ 1
$ nc -k -l 4444 > filename.out
см. nc(1)
Ответ 2
Просто потому, что вы спросили, как это сделать в bash, хотя ответ netcat очень важен:
  $ exec 3<>/dev/tcp/127.0.0.1/4444
  $ cat <&3
		Ответ 3
Это работает так, как вы ожидаете:
 nc -k -l 4444 |bash
а затем вы
echo "ls" >/dev/tcp/127.0.0.1/4444
то вы увидите список, выполненный bash.
[Краткое предупреждение безопасности] 
Конечно, если вы оставите что-то вроде этого на вашем компьютере, у вас есть широкий открытый шлюз для всех видов атак, потому что команды могут быть отправлены из любой учетной записи пользователя на любом хосте в вашей сети. Это не обеспечивает никакой безопасности (аутентификации, идентификации) и передает все переданные команды, незашифрованные по сети, поэтому их можно легко злоупотреблять.
Ответ 4
Добавление ответа с помощью ncat, которое @Freedom_Ben ссылается на:
ncat -k -l 127.0.0.1 4444
и объяснение вариантов из man ncat:
-k, --keep-open            Accept multiple connections in listen mode
-l, --listen               Bind and listen for incoming connections