команда не делает.

ли способ быстро привязаться к TCP-порту / IP-адресу и просто распечатать всю информацию в STDOUT? У меня есть простое решение для отладки, которое записывает вещи в 127.0.0.1:4444, и я хотел бы иметь возможность просто связать порт из bash и распечатать все, что встречается. Есть простой способ сделать это?

Ответы на вопрос(4)

Просто потому, что вы спросили, как это сделать вbash, хотяnetcat Ответ очень действителен:

  $ exec 3<>/dev/tcp/127.0.0.1/4444
  $ cat <&3
 Vijayender05 сент. 2012 г., 13:35
Но это не работает для прослушивания. Я не думаю, что это возможно слушать с использованием строго Баш
 xebeche12 июн. 2013 г., 23:07
Это решение действительно требует прослушивания сервера. Bash не может сделать это с помощью/dev/tcp как объяснено вunix.stackexchange.com/a/49947/13746
 Evi1M4chine24 янв. 2016 г., 00:10
Listening? Вот для чего xinetd! : D

Это работает, как вы ожидаете:

 nc -k -l 4444 |bash

а потом ты

echo "ls" >/dev/tcp/127.0.0.1/4444

тогда вы увидите листинг, выполненный bash.

[Краткое предупреждение по безопасности]
Конечно, если вы оставите на своем компьютере нечто подобное, у вас будет широко открытый шлюз для всех видов атак, потому что команды могут отправляться с любой учетной записи пользователя на любом хосте в вашей сети. Это не обеспечивает никакой безопасности (аутентификация, идентификация) и отправляет все передаваемые команды в незашифрованном виде по сети, поэтому им очень легко злоупотреблять.

 fzbd04 июл. 2018 г., 22:15
Если у вас нет/dev/tcp, Вы можете запустить:echo "ls" | nc 127.0.0.1 4444
 fzbd12 окт. 2018 г., 10:02
@MarcinFabrykowski Правильно, но если вы запустите эти команды на других оболочках, обработчик не будет доступен. Может также произойти сбой, если ваш bash не скомпилирован с--enable-net-redirections.
 Marcin Fabrykowski11 окт. 2018 г., 16:32
@fzbd: нет / dev / tcp. это специальный файл Bash, такls не покажет это

Добавление ответа с помощью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
 Serge Stroobandt12 янв. 2018 г., 18:32
ncat поставляется сnmap и поддерживает одновременные соединения, в то время как наследиеnc команда не делает.
Решение Вопроса
$ nc -k -l 4444 > filename.out

nc(1)

 Nikolai Fetissov19 янв. 2011 г., 19:45
Добавлять-k вариант.
 Sietse van der Molen14 сент. 2015 г., 04:56
Если вы используете ncat вместо nc, вы можете иметь несколько одновременных подключений, используя точно такой же синтаксис.
 Naftuli Kay19 янв. 2011 г., 19:43
Любой способ сделать это, который не требует, чтобы он работал в цикле, то есть связывать, пока не убит? Я неоднократно подключаюсь и отключаюсь к розетке иnc умрет, если я не запустлю это так:while true; do nc -l 4444; done.
 Freedom_Ben07 июл. 2016 г., 20:06
да использоватьncat вместоnc (поставляется в комплекте сnmap и это современное воплощениеnc)
 Rostislav Matl09 апр. 2015 г., 13:38
В некоторых дистрибутивах вам нужно изменить его на 'nc -k -l -p 4444'.

Ваш ответ на вопрос