Bash TCP 소켓을 사용하여 파일을 읽으려고 합니다.
그래서 저는 호스트 컴퓨터에 있습니다.
nc -l 8888 < /etc/passwd
다른 컴퓨터에서는
echo </dev/tcp/127.0.0.1/8888
하지만 예상대로 파일을 읽지 못하고 빈 줄이 나타납니다.
작동한다는 건 알지만 cat < /dev/tcp/xxx/xxxx
외부 바이너리 없이도 할 수 있나요?
편집하다
$()
그래서 구문을 시험해 보았습니다 .
# echo $(</dev/tcp/127.0.0.1/8888) > file
bash: /dev/tcp/127.0.0.1/8888: No such file or directory
답변1
while
루프를 사용할 수 있습니다 .
while IFS= read -r line; do
printf '%s\n' "$line"
done < /dev/tcp/localhost/8888