перенаправить вывод команды в сокет на Linux - PullRequest
0 голосов
/ 25 февраля 2019

Я использую netcat для подключения к серверу.
проблема в том, что я хочу отправить somme не для печати на серверные символы.
Я хотел добиться этого с помощью перенаправления команд в linux.
допустим, это команда: nc hostname port
поэтому, когда я проверил файловые дескрипторы команды nc в папке: cd /proc/$(pidof nc)/fd увидел, что появился другой файл с номером 3, который поддерживает сокет.3 -> socket:[1675643] проблема в том, что я хотел перенаправить вывод, скажем, echo -ne '\xff\x0f\xab\xde' > ./3 в сокет.
Я не смог этого сделать, и вывод: bash: ./3: No such device or address

1 Ответ

0 голосов
/ 26 февраля 2019

Нельзя вывести что-то в сокет, который открывается только другим процессом.

Чтобы сначала использовать интерактивный ввод / вывод, а затем отправить строку эха, вы можете сделать:

(cat; echo -ne '\xff\x0f\xab\xde')|nc <i>hostname port</i>

(нажмите клавишу EOF Ctrl - D , чтобы завершить ввод и начать echo).

...