파일을 읽고 쓰는 데 모두 열었으며 파일 설명자 3
(즉 exec 3<>/dev/udp/10.10.10.1/161
)과이 파일을 연결했습니다. 만들어진 UDP 패킷을 파일 설명자 3
으로 리디렉션하고 회신을받을 때 파일 설명자 3
에서 어떻게 읽을 수 있습니까? cat
또는 read
과 같은 일반적인 도구는 응답으로받은 UDP 패킷 (본질적으로 비트 스트림)이 줄 바꿈 또는 EOF가 없으므로 잘 작동하지 않습니다. 예를 들어 cat
은 예상 할 데이터가 더 이상 없다는 것을 모릅니다. (EOF가없는 "cat"비트 스트림
$ cat <&3
0Gpublic�:�0,0+C1841.local^C
$
내가 10.10.10.1에서받은 UDP 데이터가 있다면 확인하고 싶은 이것은 파일 기술자 3
일부 데이터가 포함되어있는 경우 의미합니다 : 여기에 예를 들어, 당신은 내가 SIGINT
에 고양이를했다 방법을 볼 수 있습니다 심지어 단일 비트), 응답이 수신되었습니다.
'cat' 대신'head -c1'을 사용해 보셨습니까? –
아마도'netcat'을 시도할까요? – Barmar
@Felix Frank'head -c1'은 파일에 데이터가있는 한 제대로 작동합니다. 데이터가없는 경우 (예 : UDP 응답이 수신되지 않은 경우) 'head'는 입력을 기다립니다. 이것은'head'가'read'와 비슷한 타임 아웃 ('-t') 옵션을 가지고 있다면 해결할 수 있습니다 .. – Martin