내 생각은 연결하면 사용자가 상호 작용할 수 있는 Python 스크립트를 실행하는 netcat 서버를 만드는 것입니다. 예를 들어, 스크립트는 숫자를 요청한 다음 해당 숫자를 3제곱하여 출력합니다. 이것이 어떻게 달성될 수 있습니까? 프로그램을 실행하고 연결된 사용자에게 출력을 리디렉션하고 실시간으로 상호 작용할 수 있도록 하려면 어떻게 해야 합니까?
의사 출력:
$ nc 192.168.1.13
Input a number: 2
8
(end)
스크립트:
print(str(int(input("Input a number: "))**3))
답변1
socat TCP-LISTEN:50011,fork EXEC:'/path/to/script',stderr,pty,echo=0
노트:
50011
청취 포트이므로 직접 선택할 수 있습니다. 나중에 연결하십시오(예: )nc 127.0.0.1 50011
.fork
socat
많은 고객에게 (동시에) 서비스를 제공할 수 있습니다 .- 그렇지 않은 경우 실제로 입력을 맹목적으로 제공한 후에만 가져오는 것이
pty
일반적입니다 .Input a number:
- 내 테스트에 따르면 +
socat
로 종료되면 포트가 한동안 계속 사용될 수 있습니다. 이것이 문제가 된다면 (예를 들어 ) 고려해 보세요.CtrlCreuseaddr
TCP-LISTEN:50011,fork,reuseaddr