/dev/tcp/host/port, /dev/udp/host/port 이것은 어떤 커널 모듈입니까?

/dev/tcp/host/port, /dev/udp/host/port 이것은 어떤 커널 모듈입니까?

나는 bash(1) 매뉴얼 페이지에서 이것을 발견했습니다. 이 인터페이스를 제공하는 운영 체제나 커널 모듈이 있습니까? 내 Debian 설치에서 이것을 시도했는데 장치가 없습니다.

감사해요

      /dev/tcp/host/port
             If host is a valid hostname or Internet address, and port is an integer  port  number  or  service
             name, bash attempts to open the corresponding TCP socket.
      /dev/udp/host/port
             If  host  is  a  valid hostname or Internet address, and port is an integer port number or service
             name, bash attempts to open the corresponding UDP socket.

솔루션/답변: 이것은 작동하며 쉘의 기능입니다. 테스트하려면:

$ nc -l -p 5555

echo Hello > /dev/tcp/localhost/5555

$ nc -l -p 5555
Hello

아주 멋지다.

답변1

Jeff가 말했듯이 이것은 함수입니다.Bash에 의해 구현됨, 커널이 아닙니다. 이는 쉘 스크립트나 쉘 명령줄에서만 작동하며 다른 프로그램에서는 열 수 없습니다 /dev/tcp/....

이를 커널 모듈로 구현하려면 새로운 가상 파일 시스템을 제공해야 합니다.

실제로 작동하는 모습을 보려면 Bash와 netcat을 결합하면 됩니다. 달리기

nc -l -p 5555

터미널에서는

echo Hello > /dev/tcp/localhost/5555

다른 한편으로는 실행 중인 터미널에 "Hello"가 표시됩니다 nc.

관련 정보