터널의 Socat 실행 스크립트

터널의 Socat 실행 스크립트

저는 다음과 같이 터널을 운영하고 있습니다.

socat TCP-LISTEN:9090,fork TCP:192.168.1.3:9090

문자열이 터널을 통과하는 코드를 실행하는 스크립트를 실행하고 싶습니다.

스크립트는 문자열을 변경하지 않고 단지 독립적으로 처리하지만 두 끝 사이를 변경하지 않고 통과할 수 있도록 허용합니다.

가능합니까?

답변1

그것은이제 가능socat v2를 사용하면 socat v2는 다음과 같은 아이디어를 도입했습니다.주소 체인. 다음 명령을 사용하여 스크립트를 실행할 수 있습니다 EXEC. stdin/stdout(파일 설명자 0 및 1)은 수신 소켓에 연결하고 파일 설명자 3 및 4는 송신 소켓에 연결합니다.

socat - "TCP-LISTEN:localhost:8000 | EXEC:myscript.sh | TCP:myserver:80"

myscript.sh 예에서는 다음과 같습니다.

  • stdin(fd 0) - 포트 8000에서 데이터 읽기
  • stdout(fd 1) - 포트 8000에 데이터를 씁니다.
  • fd 3 - myserver 포트 80에서 데이터 읽기
  • fd 4 - myserver 포트 80에 데이터 쓰기

관련 정보