Você pode usar um loop while
:
while IFS= read -r line; do
printf '%s\n' "$line"
done < /dev/tcp/localhost/8888
Estou tentando ler arquivos com o soquete bash tcp,
Então, em um host eu faço,
nc -l 8888 < /etc/passwd
E em outra máquina,
echo </dev/tcp/127.0.0.1/8888
Mas ele não leu o arquivo como esperado, eu tenho uma linha vazia.
Eu sei que cat < /dev/tcp/xxx/xxxx
funciona, mas posso fazer isso sem binários externos?
Então, tentei a sintaxe $()
# echo $(</dev/tcp/127.0.0.1/8888) > file
bash: /dev/tcp/127.0.0.1/8888: No such file or directory
Você pode usar um loop while
:
while IFS= read -r line; do
printf '%s\n' "$line"
done < /dev/tcp/localhost/8888