socat(SOcket CAT: netcat on steroids)은 두 개의 독립적인 데이터 채널 간의 양방향 데이터 전송을 위한 릴레이입니다. 이러한 데이터 채널 각각은 파일, 파이프, 장치(직렬 회선 등 또는 의사 터미널), 소켓(UNIX, IP4, IP6 - 원시, UDP, TCP), SSL 소켓, 프록시 CONNECT 연결, 파일이 될 수 있습니다. 설명자(stdin 등), GNU 줄 편집기(readline), 프로그램 또는 이들 중 두 가지의 조합. 이러한 모드에는 "수신" 소켓, 명명된 파이프 및 의사 터미널 생성이 포함됩니다.
socat을 사용하는 몇 가지 예는 다음과 같습니다.
TCP 릴레이(원샷 또는 데몬)
외부 양말화기
Unix 소켓에 대한 쉘 인터페이스
IPv6 릴레이
Netcat 및 rinetd 대체
TCP 지향 프로그램을 직렬 회선으로 리디렉션
네트워크 연결 내에서 클라이언트 또는 서버 셸 스크립트를 실행하기 위한 상대적으로 안전한 환경(su 및 chroot)을 설정합니다.
http://www.dest-unreach.org/socat/doc/socat.html#EXAMPLES
Windows 7, 8.1, 10, 11 및 서버용 socat 1.8.0.1-x86_64 [2024-08-24]
소스 파일에서 컴파일하려는 사람들을 위한 절차입니다.
그렇지 않은 경우에는 이미 만들어진 파일 'socat-1.8.0.1.7z'가 하나 있습니다. socat-1.8.0.1.7z로 이동하여 키보드 단축키(Ctrl + Shift + s)를 사용하여 다운로드할 수 있습니다.
우선, 아직 완료되지 않았다면 Cygwin(최신 버전)을 다운로드하여 설치하세요: https://www.cygwin.com/setup-x86_64.exe
– gcc-g++
– gcc-코어
– cygwin32-gcc-g++
– cygwin32-gcc-코어
- 만들다
– gcc-포트란
– gcc-objc
– gcc-objc++
– libkrb5-devel
– libkrb5_3
– libreadline-devel
– libssl-devel
– libwrap-devel
– tcp_wrappers
이를 위해 다음 질문에 답해 보겠습니다. Cygwin에 패키지를 설치하는 방법은 무엇입니까? Cygwin 설치 프로그램을 다운로드하고 setup.exe를 실행합니다. 기본값을 통해 다음을 클릭하고 패키지 다운로드를 위한 미러를 선택합니다. 각 패키지를 검색하고 적절한 범주(예: Net, PHP 또는 기타)를 열고 각 패키지 옆에 있는 건너뛰기를 클릭하여 설치하도록 선택합니다.
http://www.dest-unreach.org/socat/에서 socat 소스를 다운로드하는 것을 잊지 마세요.
(Windows + R, 'mintty')를 통해 Cygwin을 실행하고 다음 명령을 실행합니다.
cd / && cd cygdrive/c/Users/<사용자 이름>/Desktop [또는 (Windows + R, 'cmd')를 사용하는 경우 cd / && cd %USERPROFILE%/Desktop] wget http://www.dest-unreach.org/socat/download/socat-1.8.0.1.tar.gz tar -xvzf socat-1.8.0.1.tar.gzcd socat-1.8.0.1 ./구성 만들다 설치하다
컴파일 후 'socat-1.8.0.1' 디렉터리를 %ProgramFiles% 또는 다른 위치에 복사합니다. 'socat.exe'뿐만 아니라 디렉토리 전체를 복사해야 합니다. 그렇지 않으면 작동하지 않습니다.
주의 : (Windows + R, 'sysdm.cpl', 고급 시스템 설정)을 사용하여 환경 변수에서 socat의 경로를 추가하십시오. mintty를 닫았다가 다시 열어보세요.
참고(버전 번호를 확인하려면 'mintty' [cygwin]에서):
$ 소캣 -V Gerhard Rieger 및 기여자들의 socat - www.dest-unreach.org 참조 2024년 8월 24일 21:18:20에 socat 버전 1.8.0.1 CYGWIN_NT-10.0-26100 버전 2024-04-03 17:25 UTC, 릴리스 3.5.3-1.x86_64, 머신 x86_64에서 실행 특징: #define WITH_HELP 1 #define WITH_STATS 1 #define WITH_STDIO 1 #define WITH_FDNUM 1 #define WITH_FILE 1 #define WITH_CREAT 1 #define WITH_GOPEN 1 #define WITH_TERMIOS 1 #define WITH_PIPE 1 #define WITH_SOCKETPAIR 1 #define WITH_UNIX 1 #undef WITH_ABSTRACT_UNIXSOCKET # 정의 WITH_IP4 1 #define WITH_IP6 1 #define WITH_RAWIP 1 #define WITH_GENERICSOCKET 1 #undef WITH_INTERFACE #define WITH_TCP 1 #define WITH_UDP 1 #undef WITH_SCTP #undef WITH_DCCP #undef WITH_UDPLITE #define WITH_LISTEN 1 #undef WITH_POSIXMQ #define WITH_SOCKS4 1 #define WITH_SO CKS4A 1 #define WITH_SOCKS5 1 #undef WITH_VSOCK #undef WITH_NAMESPACES #define WITH_PROXY 1 #define WITH_SYSTEM 1 #define WITH_SHELL 1 #define WITH_EXEC 1 #define WITH_READLINE 1 #undef WITH_TUN #define WITH_PTY 1 #define WITH_OPENSSL 1 #undef WITH_FIPS #define WITH_LIBWRAP 1 #define WITH_SYCLS 1 #define WITH_FILAN 1 #define WITH_RETRY 1 #undef WITH_DEVTESTS #define WITH_MSGLEVEL 0 /*디버그*/ #define WITH_DEFAULT_IPV 4
Mugane의 의견에서 :
cyg-get을 사용하는 경우 Powershell(관리자 권한)을 사용하여 cygwin용 패키지를 설치하는 것이 가장 좋다고 덧붙일 수도 있습니다.
cyg-get gcc-g++ gcc-core make gcc-fortran gcc-objc gcc-objc++ libkrb5-devel libkrb5_3 libreadline-devel libssl-devel libwrap-devel tcp_wrappers
powershell을 사용하지 않고 cygwin 자체에서 설치하려고 하면(관리자 권한이라도) 형편없을 만큼 비밀스러운 dll 누락 오류가 발생할 수 있으며 결국 문제를 해결하려면 cygwin 자체를 제거/재설치해야 할 수 있습니다.
사용자에게 cygwin이 없으면 초콜릿을 권장합니다(Powershell에서 관리자로 다시 실행).
초코 설치 -y cygwin cyg-get