filan - 클라우드에서의 온라인

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 명령 filan입니다.

프로그램:

이름


socat - 다목적 릴레이(SOcket CAT)

개요


소캣 [옵션]
소캣 -V
소캣 -h[h[h]] | -?[?[?]]
필란
프로칸

기술


소캣 두 개의 양방향 바이트 스트림을 설정하고
그들 사이에 데이터를 전송합니다. 왜냐하면 스트림은 대규모 세트로 구성될 수 있기 때문입니다.
다양한 유형의 데이터 싱크 및 소스(주소 유형 참조), 그리고 많은 주소
옵션이 스트림에 적용될 수 있으므로 socat는 다양한 목적으로 사용될 수 있습니다.

활성 파일 설명자에 대한 정보를 stdout으로 인쇄하는 유틸리티입니다. 그것
디버깅을 위해 작성되었습니다 소캣이지만 다른 목적으로도 유용할 수 있습니다. 사용
-h 옵션을 사용하면 더 많은 정보를 찾을 수 있습니다.

프로칸 프로세스 매개변수에 대한 정보를 stdout으로 인쇄하는 유틸리티입니다. 그것은 가지고있다
일부 UNIX 프로세스 속성을 더 잘 이해하고 디버깅을 위해 작성되었습니다. 소캣,
하지만 다른 목적으로도 유용할 수 있습니다.

의 라이프 사이클 소캣 인스턴스는 일반적으로 XNUMX단계로 구성됩니다.

. INIT 단계에서는 명령줄 옵션이 구문 분석되고 로깅이 초기화됩니다.

열 수 단계, 소캣 첫 번째 주소를 연 다음 두 번째 주소를 엽니다.
이러한 단계는 일반적으로 차단됩니다. 따라서 특히 양말과 같은 복잡한 주소 유형의 경우
다음 단계를 수행하기 전에 연결 요청 또는 인증 대화 상자를 완료해야 합니다.
시작되었습니다.

. 이전 단계, 소캣 다음을 통해 두 스트림의 읽기 및 쓰기 파일 설명자를 모두 감시합니다.
select() 및 한쪽에서 데이터를 사용할 수 있는 경우 반대편에 쓸 수도 있고,
socat는 이를 읽고, 필요한 경우 개행 문자 변환을 수행하고, 데이터를 다음에 씁니다.
다른 스트림의 쓰기 파일 설명자를 찾은 다음 계속해서 더 많은 데이터를 기다립니다.
양방향.

스트림 중 하나가 실제로 EOF에 도달하면 폐쇄 단계가 시작됩니다. 소캣 전송
다른 스트림에 대한 EOF 조건, 즉 쓰기 스트림만 종료하려고 시도합니다.
정상적으로 종료될 수 있는 기회를 제공합니다. 정의된 시간 동안 소캣 계속 이체 중
다른 방향으로 데이터를 전송하지만 나머지 모든 채널을 닫고 종료합니다.

옵션


소캣 프로그램의 동작을 수정하는 몇 가지 명령줄 옵션을 제공합니다. 그들
주소의 일부로 사용되는 소위 주소 옵션과는 아무 관련이 없습니다.
명세서.

-V 버전 및 사용 가능한 기능 정보를 stdout으로 인쇄하고 종료합니다.

-h | -?
명령줄 옵션과 사용 가능한 주소를 설명하는 도움말 텍스트를 표준 출력으로 인쇄합니다.
유형을 입력하고 종료합니다.

- 흐 | - ??
-h와 마찬가지로 사용 가능한 모든 주소 옵션의 짧은 이름 목록을 추가합니다. 일부
옵션은 플랫폼에 따라 다르므로 이 출력은
특별한 구현.

-아아아 | - ???
-hh와 마찬가지로 사용 가능한 모든 주소 옵션 이름 목록을 추가합니다.

-d 이 옵션이 없으면 치명적 및 오류 메시지만 생성됩니다. 이것을 적용
옵션은 경고 메시지도 인쇄합니다. 자세한 내용은 진단을 참조하세요.

-d -d 치명적, 오류, 경고 및 알림 메시지를 인쇄합니다.

-d -d -d
치명적, 오류, 경고, 알림 및 정보 메시지를 인쇄합니다.

-d -d -d -d
치명적, 오류, 경고, 알림, 정보 및 디버그 메시지를 인쇄합니다.

-D 전송 단계를 시작하기 전에 파일 설명자에 대한 정보를 기록합니다.

-ly[ ]
stderr 대신 syslog에 메시지를 씁니다. -d 옵션으로 정의된 심각도.
옵션으로 , syslog 유형을 선택할 수 있으며 기본값은 "daemon"입니다.
타사 라이브러리는 이 옵션을 따르지 않을 수 있습니다.

-lf
다음에 메시지를 씁니다. stderr 대신 [파일 이름]. 일부 제XNUMX자
라이브러리, 특히 libwrap은 이 옵션을 따르지 않을 수 있습니다.

-ls stderr에 메시지를 씁니다(기본값). 일부 타사 라이브러리는
이 옵션을 따르지 마십시오. 특히 libwrap은 syslog에만 기록하는 것으로 보입니다.

-lp
오류 메시지에 인쇄되고 구성에 사용되는 프로그램 이름을 재정의합니다.
환경 변수 이름.

-루 오류 메시지의 타임스탬프를 마이크로초 단위로 확장합니다. 작동하지 않음
syslog에 로그인할 때.

-lm[ ]
혼합 로그 모드. 시작하는 동안 메시지는 stderr에 인쇄됩니다. 언제 소캣 시작
전송 단계 루프 또는 데몬 모드(즉, 모든 스트림을 연 후 및
데이터 전송을 시작하거나 포크 옵션이 있는 청취 소켓을 사용하여
먼저 통화 수락), 로깅을 syslog로 전환합니다. 옵션으로 ,
syslog 유형을 선택할 수 있으며 기본값은 "daemon"입니다.

-ㅋ 로그 메시지에 호스트 이름을 추가합니다. 환경 변수 HOSTNAME의 값을 사용하거나
HOSTNAME이 설정되지 않은 경우 uname()으로 검색된 값입니다.

-v 전송된 데이터를 대상 스트림뿐만 아니라 stderr에도 씁니다.
출력 형식은 가독성을 위해 일부 변환된 텍스트이며 접두사는 다음과 같습니다.
"> " 또는 "< "는 흐름 방향을 나타냅니다.

-x 전송된 데이터를 대상 스트림뿐만 아니라 stderr에도 씁니다.
출력 형식은 XNUMX진수이며 흐름을 나타내는 "> " 또는 "< " 접두사가 붙습니다.
지도. -v 와 결합할 수 있습니다.

-비
데이터 전송 블록을 설정합니다. [사이즈_t]. 많으면 바이트가 전송됩니다
단계마다. 기본값은 8192바이트입니다.

-s 기본적으로, 소캣 오류가 발생하면 프로세스가 종료되는 것을 방지하기 위해 종료됩니다.
일부 옵션을 적용할 수 없을 때 실행됩니다. 이 옵션을 사용하면 소캣 엉성하다
오류가 발생하여 계속하려고 합니다. 이 옵션을 사용하더라도 socat는 다음과 같이 종료됩니다.
치명적이며 보안 검사가 실패하면 연결 시도가 중단됩니다.

-티
한 채널이 EOF에 도달하면 다른 채널의 쓰기 부분이 종료됩니다.
그런 다음, 소캣 기다립니다 [timeval]초 전에 종료됩니다. 기본값은 0.5입니다.
초. 이 시간 초과는 쓰기 및 읽기 부분이 가능한 주소에만 적용됩니다.
독립적으로 폐쇄됨. 시간 초과 간격 동안 읽기 부분이 EOF를 제공하는 경우,
socat은 시간 초과를 기다리지 않고 종료됩니다.

-티
총 비활성 시간 초과: socat가 이미 전송 루프에 있고 아무것도 없는 경우
에 대한 일이 일어났습니다 [timeval]초(데이터 도착 없음, 인터럽트 없음)
발생했습니다...) 그런 다음 종료됩니다. UDP와 같은 프로토콜에 유용합니다.
EOF를 전송합니다.

-u 단방향 모드를 사용합니다. 첫 번째 주소는 읽기에만 사용되며,
두 번째 주소는 쓰기에만 사용됩니다(예).

-U 역방향에서는 단방향 모드를 사용합니다. 첫 번째 주소는 다음 용도로만 사용됩니다.
쓰기, 두 번째 주소는 읽기에만 사용됩니다.

-g 주소 옵션을 구문 분석하는 동안 해당 옵션이 다음에서 유용하다고 간주되는지 확인하지 마세요.
주어진 주소 환경. 예를 들어 장치를 강제로 사용하려는 경우 사용하십시오.
직렬 장치에 대한 소켓 옵션입니다.

-엘
잠금 파일이 있으면 오류와 함께 종료됩니다. lockfile이 없으면 생성하고
계속해서 종료 시 잠금 파일의 링크를 해제합니다.

-W
잠금 파일이 있으면 사라질 때까지 기다립니다. 잠금파일이 존재하지 않는 경우,
그것을 생성하고 계속해서 종료 시 잠금 파일의 링크를 해제합니다.

-4 주소가 암시적 또는 명시적으로 지정되지 않는 경우 IP 버전 4를 사용하십시오.
버전; 이것이 기본값입니다.

-6 주소가 암시적 또는 명시적으로 지정되지 않는 경우 IP 버전 6를 사용하십시오.
버전.

주소 스펙


주소 명령줄 인수를 사용하여 사용자는 다음을 제공합니다. 소캣 지침과
바이트 스트림을 설정하는 데 필요한 정보입니다.

주소 사양은 일반적으로 XNUMX개 이상의 주소 유형 키워드로 구성됩니다.
키워드와 서로 ':'로 구분된 필수 주소 매개변수
XNUMX개 이상의 주소 옵션은 ','로 구분됩니다.

키워드는 주소 유형(예: TCP4, OPEN, EXEC)을 지정합니다. 일부 키워드의 경우
동의어가 존재합니다(STDIO의 경우 '-', TCP4의 경우 TCP). 키워드는 대소문자를 구분하지 않습니다. 몇 가지에 대한
특수 주소 유형인 경우 키워드는 생략될 수 있습니다. a로 시작하는 주소 지정
숫자는 FD(원시 파일 설명자) 주소로 간주됩니다. 앞에 '/'가 있는 경우
먼저 ':' 또는 ',', GOPEN(일반 파일 열기)이 가정됩니다.

필요한 주소 매개변수 수와 유형은 주소 유형에 따라 다릅니다. 예: TCP4
서버 사양(이름 또는 주소)과 포트 사양(번호 또는
서비스 이름).

각 주소에는 XNUMX개 이상의 주소 옵션이 제공될 수 있습니다. 그들은 주소에 영향을 미칩니다
몇몇 방법들. 옵션은 옵션 키워드 또는 옵션 키워드와 값으로 구성됩니다.
'='로 구분됩니다. 옵션 키워드는 대소문자를 구분합니다. 옵션을 필터링하려면
주소 유형에 유용하며 각 옵션은 하나의 옵션 그룹의 구성원입니다. 각각
주소 유형에는 허용되는 옵션 그룹 세트가 있습니다. 다음 중 하나에 속하는 옵션만
이러한 주소 그룹을 사용할 수 있습니다(-g 옵션 제외).

위의 스키마를 따르는 주소 사양이라고도 합니다. 단일 주소
명세서. 두 개의 단일 주소를 "!!"로 결합할 수 있습니다. 형성하다 듀얼 유형
한 채널의 주소입니다. 여기서는 첫 번째 주소를 사용합니다. 소캣 데이터 읽기용
데이터를 쓰기 위한 두 번째 주소입니다. 옵션을 한 번만 지정할 수 있는 방법은 없습니다.
두 단일 주소 모두에 적용됩니다.

일반적으로 주소는 읽기/쓰기 모드로 열립니다. 주소가 이중 주소의 일부인 경우
주소 지정 또는 -u 또는 -U 옵션이 사용되는 경우 주소는 다음 용도로만 사용될 수 있습니다.
읽기 위해서든, 쓰기 위해서든. 일부 주소 유형에서는 이를 고려하는 것이 중요합니다.

socat 버전 1.5.0 이상에서는 어휘 분석이 따옴표를 처리하려고 시도합니다.
의미 있게 괄호를 사용하고 특수 문자를 이스케이프할 수 있습니다. 다음 중 하나인 경우
문자 ( { [ ' 가 발견되면 해당 닫는 문자 - ) } ] ' - 가 검색됩니다.
을 위한; 중첩될 수도 있습니다. 이러한 구성 내에서 특수 문자 및
문자열 : , !! 특별히 취급하지 않습니다. 해당 문자와 ​​문자열은 모두 이스케이프할 수 있습니다.
\ 또는 "" 안에

주소 타입


이 섹션에서는 키워드, 매개변수 및 사용 가능한 주소 유형을 설명합니다.
의미론.

만들다:
열림 creat()를 사용하고 쓰기를 위해 파일 설명자를 사용합니다. 이것
주소 유형에는 쓰기 전용 컨텍스트가 필요합니다. 왜냐하면 creat로 열린 파일은 그럴 수 없기 때문입니다.
에서 읽을 수 있습니다.
O_LARGEFILE과 같은 플래그는 적용할 수 없습니다. 필요한 경우 옵션과 함께 OPEN을 사용하세요.
생성, 생성.
유효한 기존 경로이거나 기존 경로가 아니어야 합니다. 만약에 명명된
파이프, creat()가 차단될 수 있습니다. 만약에 소켓을 참조합니다. 이는 오류입니다.
옵션 그룹: FD,REG,NAMED
유용한 옵션: 모드, 사용자, 그룹, 연결 해제-초기, 연결 해제-늦게, 추가
참조: OPEN, GOPEN

실행:
상위 프로세스와의 통신을 설정하는 하위 프로세스를 포크하고
execvp() 를 사용하여 지정된 프로그램을 호출합니다. 간단한 명령이다
단일 공백으로 구분된 인수가 있습니다. 프로그램 이름에 '/'가 포함된 경우
마지막 '/' 이후 부분은 ARGV[0]으로 간주됩니다. 프로그램 이름이 친척인 경우
$PATH를 통해 프로그램을 찾기 위한 execvp() 의미 체계가 적용됩니다. 후에
성공적인 프로그램 시작, 소캣 프로세스의 stdin에 데이터를 쓰고 다음에서 읽습니다.
기본적으로 소켓쌍()에 의해 생성된 UNIX 도메인 소켓을 사용하는 표준 출력입니다.
(예)
옵션 그룹: FD,SOCKET,EXEC,FORK,TERMIOS
유용한 옵션: path, fdin, fdout, chroot, su, su-d, nofork, pty, stderr, ctty,
setid, 파이프, 로그인, sigint, sigquit
참조: 시스템

FD:
파일 설명자를 사용합니다. . 이미 유효한 UN*X 파일로 존재해야 합니다.
기술자.
옵션 그룹: FD(TERMIOS,REG,SOCKET)
참조: STDIO, STDIN, STDOUT, STDERR

고펜:
(일반 열기) 이 주소 유형은 다음을 제외한 모든 파일 시스템 항목을 처리하려고 시도합니다.
유용하게 디렉토리. 상대 경로일 수도 있고 절대 경로일 수도 있습니다. 만약 이미
존재하는 경우 해당 유형이 확인됩니다. UNIX 도메인 소켓의 경우, 소캣 연결하다; 만약에
연결 실패, 소캣 데이터그램 소켓을 가정하고 sendto() 호출을 사용합니다. 만약
항목은 소켓이 아닙니다. 소캣 O_APPEND 플래그를 적용하여 엽니다. 그렇지 않은 경우
존재하는 경우 일반 파일로 O_CREAT 플래그를 사용하여 열립니다(예).
옵션 그룹: FD,REG,SOCKET,NAMED,OPEN
참조: OPEN, CREATE, UNIX-CONNECT

IP-보내기: :
원시 IP 소켓을 엽니다. 호스트 사양이나 옵션 pf, IP 프로토콜에 따라 다름
버전 4 또는 6이 사용됩니다. 그것은 사용한다 패킷을 보내려면 [IP 주소]
호스트로부터 패킷을 수신하고, 다른 호스트로부터의 패킷은 무시합니다. 프로토콜 255
IP 헤더가 데이터의 일부인 원시 소켓을 사용합니다.
옵션 그룹: FD,SOCKET,IP4,IP6
유용한 옵션: pf, ttl
참조: IP4-SENDTO, IP6-SENDTO, IP-RECVFROM, IP-RECV, UDP-SENDTO, UNIX-SENDTO

상호 작용:
다음을 포함한 원시 패킷을 사용하여 인터페이스에 연결된 네트워크와 통신합니다.
링크 수준 데이터. 네트워크 인터페이스의 이름입니다. 현재만
리눅스에서 사용 가능합니다. 옵션 그룹: FD,SOCKET
유용한 옵션: pf, type
참조: ip-recv

IP4-SENDTO: :
IP-SENDTO와 유사하지만 항상 IPv4를 사용합니다.
옵션 그룹: FD,SOCKET,IP4

IP6-SENDTO: :
IP-SENDTO와 유사하지만 항상 IPv6를 사용합니다.
옵션 그룹: FD,SOCKET,IP6

IP-데이터그램: :
특히 브로드캐스트일 수 있는 지정된 주소로 나가는 데이터를 보냅니다.
또는 멀티캐스트 주소. 로컬 소켓에 도착하는 패킷은 다음과 같은지 확인됩니다.
소스 주소가 RANGE 또는 TCPWRAP 옵션과 일치합니다. 예를 들어 이 주소 유형은
대칭 또는 비대칭 브로드캐스트 또는 멀티캐스트 구현에 사용됩니다.
연락.
옵션 그룹: FD, SOCKET, IP4, IP6, RANGE
유용한 옵션: 바인딩, 범위, tcpwrap, 브로드캐스트, ip-multicast-loop,
ip-멀티캐스트-ttl, ip-멀티캐스트-if, ip-추가-멤버십, ttl, tos, pf
참조: IP4-DATAGRAM, IP6-DATAGRAM, IP-SENDTO, IP-RECVFROM, IP-RECV, UDP-DATAGRAM

IP4-데이터그램: :
IP-DATAGRAM과 비슷하지만 항상 IPv4를 사용합니다. (예)
옵션 그룹: FD,SOCKET,IP4,RANGE

IP6-데이터그램: :
IP-DATAGRAM과 비슷하지만 항상 IPv6를 사용합니다. IPv6은 알 수 없습니다.
방송.
옵션 그룹: FD,SOCKET,IP6,RANGE

IP-RECVFROM:
다음의 원시 IP 소켓을 엽니다. . 옵션 pf에 따라 IP 프로토콜 버전 4
또는 6이 사용됩니다. 불특정 피어로부터 하나의 패킷을 수신하고 하나 또는
해당 피어에 더 많은 응답 패킷을 보냅니다. 이 모드는 특히 포크에 유용합니다.
임의의 피어로부터 도착하는 각 패킷이 자체적으로 처리되는 옵션
하위 프로세스. 이를 통해 다음과 같은 일반적인 UDP 기반 서버와 유사한 동작이 가능합니다.
ntpd 또는 명명된.
보낸 사람이 응답 패킷을 수신 트래픽으로 가져올 수 있다는 점에 유의하세요.
포트 번호가 없기 때문에 수신자 IP 주소는 동일합니다.
소켓을 구별하십시오.
이 주소는 IP-SENDTO 주소 피어와 잘 작동합니다(위 참조). 프로토콜 255
IP 헤더가 데이터의 일부인 원시 소켓을 사용합니다.
옵션 그룹: FD,SOCKET,IP4,IP6,CHILD,RANGE
유용한 옵션: pf, 포크, 범위, ttl, 브로드캐스트
참조: IP4-RECVFROM, IP6-RECVFROM, IP-SENDTO, IP-RECV, UDP-RECVFROM,
UNIX-RECVFROM

IP4-RECV에서:
IP-RECVFROM과 유사하지만 항상 IPv4를 사용합니다.
옵션 그룹: FD,SOCKET,IP4,CHILD,RANGE

IP6-RECV에서:
IP-RECVFROM과 유사하지만 항상 IPv6를 사용합니다.
옵션 그룹: FD,SOCKET,IP6,CHILD,RANGE

IP-RECV:
다음의 원시 IP 소켓을 엽니다. . 옵션 pf에 따라 IP 프로토콜 버전 4
또는 6이 사용됩니다. 불특정 다수의 피어로부터 패킷을 수신하고 이를 병합합니다.
데이터. 답변이 불가능합니다. 예를 들어 socat IP-SENDTO로 주소를 지정할 수 있습니다.
동료에게 연설하십시오. 프로토콜 255는 IP 헤더가 포함된 원시 소켓을 사용합니다.
자료.
옵션 그룹: FD,SOCKET,IP4,IP6,RANGE
유용한 옵션: pf, 범위
참조: IP4-RECV, IP6-RECV, IP-SENDTO, IP-RECVFROM, UDP-RECV, UNIX-RECV

IP4-RECV:
IP-RECV와 비슷하지만 항상 IPv4를 사용합니다.
옵션 그룹: FD,SOCKET,IP4,RANGE

IP6-RECV:
IP-RECV와 비슷하지만 항상 IPv6를 사용합니다.
옵션 그룹: FD,SOCKET,IP6,RANGE

열려 있는:
열림 open() 시스템 호출 사용(예제) 이 작업은 다음에 실패합니다.
UNIX 도메인 소켓.
참고: 이 주소 유형은 양방향 모드에서는 거의 유용하지 않습니다.
옵션 그룹: FD,REG,NAMED,OPEN
유용한 옵션: creat,excl,noatime,nofollow,append,rdonly,wronly,lock,
읽기 바이트, 무시
참조: CREATE, GOPEN, UNIX-CONNECT

OPENSSL: :
SSL 연결 설정을 시도합니다. [TCP 서비스] 켜짐 [IP 주소]
주소 사양, 이름 확인에 따라 TCP/IP 버전 4 또는 6을 사용하거나
옵션 pf.
참고: 버전 1.7.2.4까지는 서버 인증서의 유효성만 확인되었습니다.
시스템 인증서 저장소, cafile 또는 capath와 일치하지만 일치하지는 않습니다.
서버의 이름이나 IP 주소. 버전 1.7.3.0부터 socat는 피어를 확인합니다.
일치 증명서 매개변수 또는 값
openssl-commonname 옵션. Socat은 이를 인증서와 일치시키려고 시도합니다.
subject commonName 및 인증 확장 subjectAltName DNS 이름입니다.
인증서의 와일드카드가 지원됩니다.
옵션 그룹: FD,SOCKET,IP4,IP6,TCP,OPENSSL,RETRY
유용한 옵션: 암호, 방법, 확인, 일반 이름 cafile, capath, 인증서,
키, 압축, 바인드, pf, 연결 시간 제한, 소스 포트, 재시도
참조: OPENSSL-LISTEN, TCP

열기SL-듣기:
TCP에서 수신 [TCP 서비스]. IP 버전은 4 또는 다음으로 지정된 버전입니다.
pf. 연결이 승인되면 이 주소는 SSL 서버로 작동합니다.
참고: 이 주소에 인증서 옵션을 사용하고 싶을 수도 있습니다.
참고: 클라이언트 인증서는 cafile 또는 capath에 대해서만 유효성을 확인합니다.
하지만 클라이언트 이름이나 IP 주소와 일치하는 것은 아닙니다!
옵션 그룹: FD,SOCKET,IP4,IP6,TCP,LISTEN,OPENSSL,CHILD,RANGE,RETRY
유용한 옵션: pf, cipher, method, verify, commonname cafile, capath, 인증서,
키, 압축, 포크, 바인드, 범위, tcpwrap, su, 재사용 주소, 재시도
참조: OPENSSL, TCP-LISTEN

파이프:
만약에 이미 존재하므로 열립니다. 존재하지 않는 경우 명명된 파이프는 다음과 같습니다.
생성 및 오픈되었습니다. socat 버전 1.4.3부터 명명된 파이프가 제거됩니다.
주소가 닫혀 있을 때(그러나 연결 해제-닫기 옵션 참조)
참고: 파이프가 읽기와 쓰기 모두에 사용되는 경우 에코 서비스로 작동합니다.
참고: 파이프가 읽기와 쓰기 모두에 사용되고 socat이 쓰기를 시도하는 경우
파이프가 버퍼링할 수 있는 것보다 더 많은 바이트(Linux 2.4: 2048바이트)가 있으면 socat가 차단될 수 있습니다.
socat 옵션(예: -b 2048) 사용을 고려하십시오.
옵션 그룹: FD,NAMED,OPEN
유용한 옵션: rdonly, nonblock, group, user, mode, unlink-early
참조: 이름 없는 파이프

파이프 명명되지 않은 파이프를 생성하고 이를 읽고 쓰는 데 사용합니다. 에코로 작동합니다.
여기에 기록된 모든 내용은 즉시 읽은 데이터로 나타나기 때문입니다.
참고: socat가 파이프가 대기열에 넣을 수 있는 것보다 더 많은 바이트를 쓰려고 시도하는 경우(Linux 2.4: 2048
바이트), socat가 차단될 수 있습니다. 예를 들어 -b 2048 옵션을 사용하는 것을 고려하십시오.
옵션 그룹: FD
참조: 명명된 파이프

대리: : :
TCP/IP 버전 8080 또는 4을 사용하여 포트 6에서 HTTP 프록시 서버에 연결합니다.
주소 사양, 이름 확인 또는 옵션 pf에 따라
호스트 이름:포트에 대한 CONNECT 요청. 프록시가 액세스 권한을 부여하고 성공하는 경우
대상에 연결하면 socat과 대상 간의 데이터 전송이 시작될 수 있습니다. 메모
트래픽은 HTTP일 필요는 없지만 임의의 프로토콜일 수 있습니다.
옵션 그룹: FD,SOCKET,IP4,IP6,TCP,HTTP,RETRY
유용한 옵션:proxyport,ignorecr,proxyauth,resolve,crnl,bind,
연결 시간 초과, mss, 소스 포트, 재시도
참조: SOCKS, TCP

PTY 의사 터미널(pty)을 생성하고 해당 마스터 측을 사용합니다. 다른 프로세스는 다음과 같습니다.
직렬 회선이나 터미널처럼 사용하여 pty의 슬레이브 측을 엽니다. (예). 만약에
ptmx와 openpty 메커니즘을 모두 사용할 수 있으며 ptmx가 사용됩니다(POSIX).
옵션 그룹: FD,NAMED,PTY,TERMIOS
유용한 옵션: link, openpty, wait-slave, 모드, 사용자, 그룹
참조: UNIX-LISTEN, PIPE, EXEC, SYSTEM

읽기 라인
입력 라인을 편집하고 재사용할 수 있도록 stdio에서 GNU readline과 히스토리를 사용합니다.
(예).
라이센스 제한으로 인해 데비안에서는 readline 기능이 비활성화되었습니다. 보다
버그.
대신 STDIO를 사용할 수 있습니다.

SCTP-연결: :
지정된 SCTP 스트림 연결을 설정합니다. [IP 주소] 그리고
[TCP 서비스] 주소에 따라 TCP/IP 버전 4 또는 6 사용
사양, 이름 확인 또는 옵션 pf.
옵션 그룹: FD,SOCKET,IP4,IP6,SCTP,CHILD,RETRY
유용한 옵션: 바인딩, pf, 연결 시간 초과, tos, mtudiscover, sctp-maxseg,
sctp-nodelay, 비차단, 소스포트, 재시도, readbytes
참조: SCTP4-CONNECT, SCTP6-CONNECT, SCTP-LISTEN, TCP-CONNECT

SCTP4-연결: :
SCTP-CONNECT와 유사하지만 IPv4 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,IP4,SCTP,CHILD,RETRY

SCTP6-연결: :
SCTP-CONNECT와 유사하지만 IPv6 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,IP6,SCTP,CHILD,RETRY

SCTP-듣기:
듣는다 [TCP 서비스] TCP/IP 연결을 수락합니다. IP 버전은
4 또는 주소 옵션 pf, socat 옵션(-4, -6)으로 지정된 것 또는
환경 변수 SOCAT_DEFAULT_LISTEN_IP. 이 주소를 여는 것을 참고하세요
일반적으로 클라이언트가 연결될 때까지 차단됩니다.
옵션 그룹: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,SCTP,RETRY
유용한 옵션: crnl, 분기, 바인드, 범위, tcpwrap, pf, max-children, backlog,
sctp-maxseg, sctp-nodelay, su, 재사용주소, 재시도, 쿨-쓰기
참조: SCTP4-LISTEN, SCTP6-LISTEN, TCP-LISTEN, SCTP-CONNECT

SCTP4-듣기:
SCTP-LISTEN과 유사하지만 IPv4 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,SCTP,RETRY

SCTP6-듣기:
SCTP-LISTEN과 유사하지만 IPv6 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,SCTP,RETRY

소켓 연결: : :
주어진 첫 번째와 두 번째 소켓 매개변수를 사용하여 스트림 소켓을 생성하고
SOCK_STREAM(man 소켓\(2) 참조) 및 원격 주소에 연결합니다. 둘
소켓 매개변수는 int 숫자로 지정되어야 합니다. OS에 문의하세요
적절한 값을 찾기 위한 문서 및 포함 파일입니다. 원격 주소
sa_family 및 (BSD)가 없는 sockaddr 구조의 데이터 표현이어야 합니다.
sa_len 구성 요소.
지정된 그룹의 옵션 외에도 다음을 사용할 수도 있습니다.
socat 옵션 -g를 적용하면 더 높은 수준의 프로토콜 옵션이 적용됩니다.
옵션 그룹: FD,SOCKET,CHILD,RETRY
유용한 옵션: 바인딩, setockopt-int, setockopt-bin, setockopt-string
참조: TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO

소켓-데이터그램: : : :
주어진 처음 세 개의 소켓 매개변수를 사용하여 데이터그램 소켓을 생성합니다(man 참조).
소켓\(2))을 실행하고 나가는 데이터를 원격 주소로 보냅니다. 세 개의 소켓
매개변수는 int 숫자로 지정되어야 합니다. OS 설명서를 참조하고
적절한 값을 찾으려면 파일을 포함하세요. 원격 주소는 데이터여야 합니다.
sa_family 및 (BSD) sa_len이 없는 sockaddr 구조 표현
구성 요소.
지정된 그룹의 옵션 외에도 다음을 사용할 수도 있습니다.
socat 옵션 -g를 적용하면 더 높은 수준의 프로토콜 옵션이 적용됩니다.
옵션 그룹: FD,SOCKET,RANGE
유용한 옵션: 바인딩, 범위, setockopt-int, setockopt-bin, setockopt-string
참조: UDP-DATAGRAM, IP-DATAGRAM, SOCKET-SENDTO, SOCKET-RECV, SOCKET-RECVFROM

소켓 수신: : :
주어진 첫 번째와 두 번째 소켓 매개변수를 사용하여 스트림 소켓을 생성하고
SOCK_STREAM(man 소켓\(2) 참조)에서 들어오는 연결을 기다립니다.
지역 주소. 두 개의 소켓 매개변수는 int 숫자로 지정되어야 합니다.
OS 설명서를 참조하고 파일을 포함하여 적절한 값을 찾으세요. 그만큼
local-address는 다음이 없는 sockaddr 구조의 데이터 표현이어야 합니다.
sa_family 및 (BSD) sa_len 구성 요소.
지정된 그룹의 옵션 외에도 다음을 사용할 수도 있습니다.
socat 옵션 -g를 적용하면 더 높은 수준의 프로토콜 옵션이 적용됩니다.
옵션 그룹: FD,SOCKET,LISTEN,RANGE,CHILD,RETRY
유용한 옵션: setockopt-int, setockopt-bin, setockopt-string
참조: TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO,
소켓-SENDTO

소켓-RECV: : : :
주어진 세 개의 소켓 매개변수(man 소켓\(2) 참조)를 사용하여 소켓을 생성하고
그것을 묶는다 . 도착 데이터를 수신합니다. 세 가지 매개변수는 다음과 같습니다.
int 숫자로 지정해야 합니다. OS 설명서를 참조하고 파일을 포함하여
적절한 값을 찾으십시오. 로컬 주소는 다음의 데이터 표현이어야 합니다.
sa_family 및 (BSD) sa_len 구성 요소가 없는 sockaddr 구조입니다.
옵션 그룹: FD,SOCKET,RANGE
유용한 옵션: 범위, setockopt-int, setockopt-bin, setockopt-string
참조: UDP-RECV, IP-RECV, UNIX-RECV, SOCKET-DATAGRAM, SOCKET-SENDTO,
소켓-RECVFROM

소켓-RECVFROM: : : :
주어진 세 개의 소켓 매개변수(man 소켓\(2) 참조)를 사용하여 소켓을 생성하고
그것을 묶는다 . 도착하는 데이터를 수신하고 응답을 다시 보냅니다.
보내는 사람. 처음 세 개의 매개변수는 int 숫자로 지정되어야 합니다. 찾다
OS 문서 및 포함 파일을 사용하여 적절한 값을 찾으세요. 그만큼
local-address는 다음이 없는 sockaddr 구조의 데이터 표현이어야 합니다.
sa_family 및 (BSD) sa_len 구성 요소.
옵션 그룹: FD,SOCKET,CHILD,RANGE
유용한 옵션: 포크, 범위, setockopt-int, setockopt-bin, setockopt-string
참조: UDP-RECVFROM, IP-RECVFROM, UNIX-RECVFROM, SOCKET-DATAGRAM, SOCKET-SENDTO,
소켓-RECV

소켓-SENDTO: : : :
주어진 세 개의 소켓 매개변수를 사용하여 소켓을 생성합니다(man 소켓\(2) 참조).
지정된 주소로 나가는 데이터를 보내고 응답을 받습니다. 세 가지
매개변수는 int 숫자로 지정되어야 합니다. OS 설명서를 참조하고
적절한 값을 찾으려면 파일을 포함하세요. 원격 주소는 데이터여야 합니다.
sa_family 및 (BSD) sa_len이 없는 sockaddr 구조 표현
구성 요소.
옵션 그룹: FD,SOCKET
유용한 옵션: 바인딩, setockopt-int, setockopt-bin, setockopt-string
참조: UDP-SENDTO, IP-SENDTO, UNIX-SENDTO, SOCKET-DATAGRAM, SOCKET-RECV
소켓-RECVFROM

양말4: : :
다음을 통해 연결 [IP 주소]에 [IPv4 주소] 켜짐 [TCP
서비스], IP 버전 4 또는 4을 통해 양말 버전 6 프로토콜을 사용합니다.
주소 지정, 이름 확인 또는 옵션 pf(예).
옵션 그룹: FD,SOCKET,IP4,IP6,TCP,SOCKS4,RETRY
유용한 옵션: 양말사용자, 양말포트, 소스포트, pf, 재시도
참조: SOCKS4A, PROXY, TCP

SOCKS4A: : :
SOCKS4와 유사하지만 양말 프로토콜 버전 4a를 사용하므로 호스트 이름 확인은 그대로 유지됩니다.
양말 서버로.
옵션 그룹: FD,SOCKET,IP4,IP6,TCP,SOCKS4,RETRY

STDERR 파일 설명자 2를 사용합니다.
옵션 그룹: FD(TERMIOS,REG,SOCKET)
참조: FD

STDIN 파일 설명자 0를 사용합니다.
옵션 그룹: FD(TERMIOS,REG,SOCKET)
유용한 옵션: readbytes
참조: FD

STDIUM 읽기에는 파일 설명자 0을 사용하고 쓰기에는 1을 사용합니다.
옵션 그룹: FD(TERMIOS,REG,SOCKET)
유용한 옵션: readbytes
참조: FD

표준 출력 파일 설명자 1를 사용합니다.
옵션 그룹: FD(TERMIOS,REG,SOCKET)
참조: FD

체계:
상위 프로세스와의 통신을 설정하는 하위 프로세스를 포크하고
system() 을 사용하여 지정된 프로그램을 호출합니다. 점에 유의하시기 바랍니다
[문자열]에는 ',' 또는 "!!"가 포함되어서는 안 되며 해당 쉘 메타 문자는 다음과 같아야 할 수도 있습니다.
보호받으세요. 성공적인 프로그램 시작 후, 소캣 stdin에 데이터를 씁니다.
처리하고 stdout에서 읽습니다.
옵션 그룹: FD,SOCKET,EXEC,FORK,TERMIOS
유용한 옵션: path, fdin, fdout, chroot, su, su-d, nofork, pty, stderr, ctty,
setid, 파이프, sigint, sigquit
참조: EXEC

TCP: :
연결 대상 [TCP 서비스] 켜짐 [IP 주소] TCP/IP 버전 4 또는 6 사용
주소 사양, 이름 확인 또는 옵션 pf에 따라 다릅니다.
옵션 그룹: FD,SOCKET,IP4,IP6,TCP,RETRY
유용한 옵션: crnl, 바인딩, pf, 연결 시간 초과, tos, mtudiscover, mss, nodelay,
비차단, 소스포트, 재시도, readbytes
참조: TCP4, TCP6, TCP-LISTEN, UDP, SCTP-CONNECT, UNIX-CONNECT

TCP4: :
TCP와 유사하지만 IPv4 프로토콜만 지원합니다(예).
옵션 그룹: FD,SOCKET,IP4,TCP,RETRY

TCP6: :
TCP와 유사하지만 IPv6 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,IP6,TCP,RETRY

TCP-수신:
듣는다 [TCP 서비스] TCP/IP 연결을 수락합니다. IP 버전은
4 또는 주소 옵션 pf, socat 옵션(-4, -6)으로 지정된 것 또는
환경 변수 SOCAT_DEFAULT_LISTEN_IP. 이 주소를 여는 것을 참고하세요
일반적으로 클라이언트가 연결될 때까지 차단됩니다.
옵션 그룹: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,TCP,RETRY
유용한 옵션: crnl, 분기, 바인딩, 범위, tcpwrap, pf, max-children, backlog, mss,
su, 재사용주소, 재시도, 쿨-쓰기
참조: TCP4-LISTEN, TCP6-LISTEN, UDP-LISTEN, SCTP-LISTEN, UNIX-LISTEN,
OPENSSL-LISTEN, TCP-CONNECT

TCP4-듣기:
TCP-LISTEN과 유사하지만 IPv4 프로토콜만 지원합니다(예).
옵션 그룹: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,TCP,RETRY

TCP6-듣기:
TCP-LISTEN과 유사하지만 IPv6 프로토콜만 지원합니다.
추가 유용한 옵션: ipv6only
옵션 그룹: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,TCP,RETRY

큰 술통[: / ]
Linux TUN/TAP 장치를 생성하고 선택적으로 주소와 넷마스크를 할당합니다.
매개변수에 의해 제공됩니다. 결과 네트워크 인터페이스는 거의 사용할 준비가 되었습니다.
기타 프로세스; socat은 "와이어 측"을 제공합니다. 이 주소에는 읽기 및 쓰기가 필요합니다.
터널 복제 장치(보통 /dev/net/tun )에 대한 액세스 및 권한
일부 ioctl()을 설정합니다. 선택권 불확실함 is 필수 바로 활성화 전에,
상호 작용!
옵션 그룹: FD,NAMED,OPEN,TUN
유용한 옵션: iff-up, tun-device, tun-name, tun-type, iff-no-pi
참조: ip-recv

UDP: :
연결 대상 [UDP 서비스] 켜짐 [IP 주소] UDP/IP 버전 4 또는 6 사용
주소 사양, 이름 확인 또는 옵션 pf에 따라 다릅니다.
UDP 프로토콜 속성으로 인해 실제 연결은 불가능합니다.
확립된; 서버에 '연결'하려면 데이터를 보내야 하며 파일 끝은 없습니다.
상태로 운송이 가능합니다.
옵션 그룹: FD,SOCKET,IP4,IP6
유용한 옵션: ttl, tos, 바인딩, 소스포트, pf
참조: UDP4, UDP6, UDP-LISTEN, TCP, IP

UDP4: :
UDP와 유사하지만 IPv4 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,IP4

UDP6: :
UDP와 유사하지만 IPv6 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,IP6

UDP-데이터그램: :
특히 브로드캐스트일 수 있는 지정된 주소로 나가는 데이터를 보냅니다.
또는 멀티캐스트 주소. 로컬 소켓에 도착하는 패킷은 다음을 확인합니다.
올바른 원격 포트와 해당 소스 주소가 RANGE 또는 TCPWRAP 옵션과 일치하는지 확인하십시오.
예를 들어 이 주소 유형은 대칭 또는 비대칭 구현에 사용될 수 있습니다.
브로드캐스트 또는 멀티캐스트 통신.
옵션 그룹: FD,SOCKET,IP4,IP6,RANGE
유용한 옵션: 바인딩, 범위, tcpwrap, 브로드캐스트, ip-multicast-loop,
ip-멀티캐스트-ttl, ip-멀티캐스트-if, ip-추가-멤버십, ttl, tos, 소스 포트, pf
참조: UDP4-DATAGRAM, UDP6-DATAGRAM, UDP-SENDTO, UDP-RECVFROM, UDP-RECV,
UDP-연결, UDP-수신, IP-데이터그램

UDP4-데이터그램: :
UDP-DATAGRAM과 유사하지만 IPv4 프로토콜(example1, example2)만 지원합니다.
옵션 그룹: FD,SOCKET,IP4, RANGE

UDP6-데이터그램: :
UDP-DATAGRAM과 유사하지만 IPv6 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,IP6,RANGE

UDP-수신:
UDP/IP 패킷이 도착할 때까지 기다립니다. [UDP 서비스] 및 다시 '연결'
보내는 사람. 허용되는 IP 버전은 4이거나 pf 옵션으로 지정된 버전입니다. 제발
UDP 프로토콜 속성으로 인해 실제 연결이 설정되지 않습니다. 데이터
피어에서 먼저 도착해야 하며 파일 끝 조건은 전송될 수 없습니다.
일반적으로 이 주소를 열면 클라이언트가 연결될 때까지 차단됩니다.
옵션 그룹: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6
유용한 옵션: 포크, 바인드, 범위, pf
참조: UDP, UDP4-LISTEN, UDP6-LISTEN, TCP-LISTEN

UDP4-듣기:
UDP-LISTEN과 유사하지만 IPv4 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,LISTEN,CHILD,RANGE,IP4

UDP6-듣기:
UDP-LISTEN과 유사하지만 IPv6 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,LISTEN,CHILD,RANGE,IP6

UDP-SENDTO: :
다음에 의해 정의된 지정된 피어 소켓과 통신합니다. [UDP 서비스] 켜짐
[IP 주소], 주소에 따라 UDP/IP 버전 4 또는 6 사용
사양, 이름 확인 또는 옵션 pf. 패킷을 보내고 받습니다.
해당 피어 소켓의 패킷만. 이 주소는 데이터그램을 효과적으로 구현합니다.
고객. socat UDP-RECVFROM 및 UDP-RECV 주소 피어와 잘 작동합니다.
옵션 그룹: FD,SOCKET,IP4,IP6
유용한 옵션: ttl, tos, 바인딩, 소스포트, pf
참조: UDP4-SENDTO, UDP6-SENDTO, UDP-RECVFROM, UDP-RECV, UDP-CONNECT,
UDP-수신, IP-SENDTO

UDP4-SENDTO: :
UDP-SENDTO와 유사하지만 IPv4 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,IP4

UDP6-SENDTO: :
UDP-SENDTO와 유사하지만 IPv6 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,IP6

UDP-RECVFROM:
UDP 소켓을 생성합니다. [UDP 서비스] UDP/IP 버전 4 또는 6 사용
옵션 pf에서. 불특정 피어로부터 하나의 패킷을 수신하고 하나 또는
해당 피어에 더 많은 응답 패킷을 보냅니다. 이 모드는 특히 포크 옵션과 함께 유용합니다.
임의의 피어로부터 도착하는 각 패킷은 자체 하위에 의해 처리됩니다.
프로세스. 이를 통해 ntpd 또는 같은 일반적인 UDP 기반 서버와 유사한 동작이 가능합니다.
명명 된. 이 주소는 socat UDP-SENDTO 주소 피어와 잘 작동합니다.
옵션 그룹: FD,SOCKET,IP4,IP6,CHILD,RANGE
유용한 옵션: 포크, ttl, tos, 바인딩, 소스포트, pf
참조: UDP4-RECVFROM, UDP6-RECVFROM, UDP-SENDTO, UDP-RECV, UDP-CONNECT,
UDP-듣기, IP-RECVFROM, UNIX-RECVFROM

UDP4-RECVFROM:
UDP-RECVFROM과 유사하지만 IPv4 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,IP4,CHILD,RANGE

UDP6-RECVFROM:
UDP-RECVFROM과 유사하지만 IPv6 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,IP6,CHILD,RANGE

UDP-RECV:
UDP 소켓을 생성합니다. [UDP 서비스] UDP/IP 버전 4 또는 6 사용
옵션 pf에서. 불특정 다수의 피어로부터 패킷을 수신하고 이를 병합합니다.
데이터. 답변이 불가능합니다. 예를 들어 socat UDP-SENDTO 주소와 잘 작동합니다.
동료; 이는 syslog 서버와 유사하게 동작합니다.
옵션 그룹: FD,SOCKET,IP4,IP6,RANGE
유용한 옵션: 포크, pf, 바인딩, 소스포트, ttl, tos
참조: UDP4-RECV, UDP6-RECV, UDP-SENDTO, UDP-RECVFROM, UDP-CONNECT, UDP-LISTEN,
IP-RECV, 유닉스-RECV

UDP4-RECV:
UDP-RECV와 유사하지만 IPv4 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,IP4,RANGE

UDP6-RECV:
UDP-RECV와 유사하지만 IPv6 프로토콜만 지원합니다.
옵션 그룹: FD,SOCKET,IP6,RANGE

UNIX 연결:
연결 대상 UNIX 도메인 소켓이라고 가정합니다. 만약에 하지 않습니다
존재합니다. 이는 오류입니다. 만약에 UNIX 도메인 소켓이 아닙니다.
오류; 만약에 UNIX 도메인 소켓이지만 수신 대기 중인 프로세스가 없습니다.
오류.
옵션 그룹: FD,SOCKET,NAMED,RETRY,UNIX
) 유용한 옵션: 바인딩
참조: UNIX-LISTEN, UNIX-SENDTO, TCP

UNIX-수신:
듣는다 UNIX 도메인 스트림 소켓을 사용하고 연결을 수락합니다.
만약에 존재하지만 소켓이 아닌 경우 오류입니다. 만약에 존재한다
UNIX 도메인 소켓이므로 주소 바인딩이 실패합니다(옵션 사용).
연결을 일찍 해제하세요!). 이 주소를 열면 일반적으로 클라이언트가 차단될 때까지 차단됩니다.
연결합니다. socat 버전 1.4.3부터 파일 시스템 항목이 제거됩니다.
이 주소가 폐쇄된 경우(단, 링크 해제-닫기 옵션 참조)(예)
옵션 그룹: FD,SOCKET,NAMED,LISTEN,CHILD,RETRY,UNIX
유용한 옵션: 포크, umask, 모드, 사용자, 그룹, 연결 해제-초기
참조: UNIX-CONNECT, UNIX-RECVFROM, UNIX-RECV, TCP-LISTEN

UNIX-SENDTO:
[로 정의된 지정된 피어 소켓과 통신합니다. ] 가정하면
UNIX 도메인 데이터그램 소켓. 그 곳으로 패킷을 보내고, 그 곳으로부터 패킷을 받습니다.
피어 소켓만 해당. 로컬 소켓을 바인딩해야 할 수도 있습니다.
주소로(예: 이전에 존재하지 않아야 하는 /tmp/sock1) 이 주소 유형
socat UNIX-RECVFROM 및 UNIX-RECV 주소 피어와 잘 작동합니다.
옵션 그룹: FD,SOCKET,NAMED,UNIX
유용한 옵션: 바인딩
참조: UNIX-RECVFROM, UNIX-RECV, UNIX-CONNECT, UDP-SENDTO, IP-SENDTO

UNIX-RECVFROM:
UNIX 도메인 데이터그램 소켓을 생성합니다. ]. 하나의 패킷을 수신하고
해당 피어에 하나 이상의 응답 패킷을 보냅니다. 이 모드는 특히 유용합니다
임의의 피어로부터 도착하는 각 패킷이 다음에서 처리되는 포크 옵션이 있습니다.
자체 하위 프로세스. 이 주소는 socat UNIX-SENDTO 주소 피어와 잘 작동합니다.
옵션 그룹: FD,SOCKET,NAMED,CHILD,UNIX
유용한 옵션: 포크
참조: UNIX-SENDTO, UNIX-RECV, UNIX-LISTEN, UDP-RECVFROM, IP-RECVFROM

UNIX-RECV:
UNIX 도메인 데이터그램 소켓을 생성합니다. ]. 여러 곳에서 패킷을 수신합니다.
지정되지 않은 피어를 선택하고 데이터를 병합합니다. 답변이 불가능합니다. 예를 들어,
socat UNIX-SENDTO 주소 피어에 의해 주소가 지정됩니다. syslog와 유사하게 동작합니다.
섬기는 사람. 옵션 그룹: FD,SOCKET,NAMED,UNIX
참조: UNIX-SENDTO, UNIX-RECVFROM, UNIX-LISTEN, UDP-RECV, IP-RECV

UNIX-클라이언트:
[로 정의된 지정된 피어 소켓과 통신합니다. ] 가정하면
UNIX 도메인 소켓. 먼저 연결을 시도하고 실패하면 연결되었다고 가정합니다.
데이터그램 소켓이므로 두 가지 유형을 모두 지원합니다.
옵션 그룹: FD,SOCKET,NAMED,UNIX
유용한 옵션: 바인딩
참조: UNIX-CONNECT, UNIX-SENDTO, GOPEN

추상-연결:

요약 듣기:

요약-보내기:

추상-RECVFROM:

추상-RECV:

추상 클라이언트:
ABSTRACT 주소는 관련 UNIX 주소와 거의 동일합니다.
파일 시스템 기반 소켓이 아니라 대체 UNIX 도메인을 주소 지정합니다.
주소 공간. 이를 보관하기 위해 소켓 주소 문자열 앞에 "\0"이 붙습니다.
내부적으로. 이 기능은 Linux에서만 사용할 수 있습니다. 옵션 그룹은 동일합니다.
ABSTRACT 주소가 아닌 점을 제외하고 관련 UNIX 주소와 같습니다.
NAMED 그룹의 멤버입니다.

주소 옵션


주소 옵션은 주소 사양에 적용되어 프로세스에 영향을 줄 수 있습니다.
결과 데이터 채널의 주소와 속성을 엽니다.

기술적인 이유로 모든 옵션을 모든 주소 유형에 적용할 수는 없습니다. 예:
일반 파일에 소켓 옵션을 적용하면 실패합니다. 가장 쓸모없는 조합을 잡으려면
오픈 단계 초기부터 선택권 그룹 소개되었습니다. 각 옵션
하나 이상의 옵션 그룹에 속합니다. 옵션은 다음과 같은 주소 유형에만 사용할 수 있습니다.
옵션 그룹 중 적어도 하나를 지원합니다(단, -g 옵션 참조).

주소 옵션에는 해당 값이 준수해야 하는 데이터 유형이 있습니다. 모든 주소 옵션
키워드만으로 구성되거나 키워드 뒤에 "=value"가 옵니다. 여기서 value는 다음을 준수해야 합니다.
옵션 유형. 일부 주소 옵션은 시스템 호출의 매개변수를 조작합니다. 예:
sync 옵션은 open() 호출로 O_SYNC 플래그를 설정합니다. 다른 옵션으로 인해 시스템 또는
도서관 전화; 예를 들어 `ttl=value' 옵션을 사용하면 setockopt(fd, SOL_IP, IP_TTL, value,
sizeof(int)) 호출이 적용됩니다. 기타 옵션은 내부로 설정됨 소캣 사용되는 변수
데이터 전송 중; 예를 들어 `crnl'은 명시적인 문자 변환을 발생시킵니다. 몇 가지 옵션
더 복잡한 구현이 있습니다. 예를 들어 su-d(substuser-delayed)는 일부 사용자에게 문의하고
정보를 그룹화하여 저장하고 나중에 가능한 chroot() 호출 후에 적용합니다.

주소에 여러 옵션이 제공되는 경우 주소 사양의 순서
실행/적용 순서에 (거의) 영향을 미치지 않습니다. 대신에, 소캣
에 내장 선택권 옵션을 유용한 순서로 가져오려는 모델입니다. 일부
옵션은 다양한 형태(예: 연결 해제, 초기 연결 해제, 늦게 연결 해제)로 존재합니다.
처형 시간.

하나의 주소 지정 내에서 동일한 옵션이 두 번 이상 지정된 경우
값이 같거나 다르면 옵션의 종류에 따라 효과가 달라집니다. 다음과 같은 옵션이 발생합니다.
setockopt()와 같은 함수 호출은 다중 호출을 유발합니다. 설정한 옵션으로
open()과 같은 필수 호출에 대한 매개변수 또는 내부 플래그 설정, 마지막 값
옵션 발생이 효과적입니다.

많은 옵션의 존재 또는 의미는 시스템에 따라 다릅니다. 소캣 일반적으로 그렇지 않습니다
누락된 libc 또는 커널 기능을 에뮬레이트하려고 하면 단지
기본 시스템. 따라서 운영 체제에 기능이 부족한 경우 관련 옵션은 다음과 같습니다.
이 플랫폼에서는 사용할 수 없습니다.

다음 단락에서는 보다 일반적인 주소 옵션을 소개합니다. 더 많은 것을 위해
포괄적인 참조 및 표준 옵션 이름, 별칭 이름,
옵션 단계 및 플랫폼은 파일을 참조하세요. xio.help.

FD 선택권 그룹

이 옵션 그룹에는 UN*X 스타일 파일 설명자에 적용되는 옵션이 포함되어 있습니다.
그것이 어떻게 생성되었는지는 중요하지 않습니다. 왜냐하면 모든 현재 소캣 주소 유형은 파일 설명자입니다.
기반으로 이러한 옵션은 모든 주소에 적용될 수 있습니다.
참고: 이러한 옵션 중 일부는 다음을 제공하는 다른 옵션 그룹의 구성원이기도 ​​합니다.
fd 기반이 아닌 또 다른 메커니즘입니다. 이러한 옵션의 경우 실제 주소 유형에 따라 다릅니다.
그리고 메커니즘이 사용되는 옵션 그룹입니다. 두 번째 비fd 기반 메커니즘은 다음과 같습니다.
우선순위.

클로젝=
fcntl() 시스템 호출을 사용하여 FD_CLOEXEC 플래그를 값으로 설정합니다. . 설정된 경우,
exec() 계열 함수 호출 시 파일 설명자가 닫힙니다. 소캣 내부적으로 처리
이 플래그는 자신이 제어하는 ​​fds에 대한 것이므로 대부분의 경우 적용할 필요가 없습니다.
이 옵션.

설정하다 fcntl(fd,
F_SETLK, ...) 시스템 호출. 파일이 이미 잠겨 있는 경우 이 호출로 인해
오류. Linux에서 그룹의 파일 권한이 "S"(gx,g+s)이고
파일 시스템이 "mand" 옵션을 사용하여 로컬로 마운트되면 잠금이 필수입니다. 즉,
다른 프로세스가 파일을 열지 못하게 합니다.

설정 다음을 사용하여 전체 파일에 임의 대기 쓰기 잠금을 설정하려고 시도합니다.
fcntl(fd, F_SETLKW, ...) 시스템 호출. 파일이 이미 잠겨 있는 경우 이 호출은
블록. 이 잠금을 필수로 설정하는 방법에 대한 자세한 내용은 setlk 옵션을 참조하세요.

setlk-rd
fcntl(fd,
F_SETLK, ...) 시스템 호출. 파일이 이미 쓰기 잠겨 있으면 이 호출이 발생합니다.
오류가 발생했습니다. 이 잠금을 필수로 설정하는 방법에 대한 자세한 내용은 setlk 옵션을 참조하세요.

setlkw-rd
다음을 사용하여 전체 파일에 대해 임의 대기 읽기 잠금을 설정하려고 시도합니다.
fcntl(fd, F_SETLKW, ...) 시스템 호출. 파일이 이미 쓰기 잠겨 있는 경우
호출 블록. 이 잠금을 필수로 설정하는 방법에 대한 자세한 내용은 setlk 옵션을 참조하세요.

무리 전
Flock(fd,
LOCK_EX) 시스템 호출. 소캣 파일이 다른 사람에 의해 잠긴 경우 이 호출이 중단됩니다.
프로세스.

무리-전-nb
Flock(fd,
LOCK_EX|LOCK_NB) 시스템 호출. 파일이 이미 잠겨 있는 경우 이 옵션을 사용하면 다음과 같은 결과가 발생합니다.
오류.

무리-sh
Flock(fd,
LOCK_SH) 시스템 호출. 소캣 파일이 다른 사람에 의해 잠긴 경우 이 호출이 중단됩니다.
프로세스.

무리-sh-nb
Flock(fd,
LOCK_SH|LOCK_NB) 시스템 호출. 파일이 이미 잠겨 있는 경우 이 옵션을 사용하면 다음과 같은 결과가 발생합니다.
오류.

자물쇠 파일에 차단 잠금을 설정합니다. 다음에 따라 setlk 또는 무리 메커니즘을 사용합니다.
특정 플랫폼에서의 가용성. 둘 다 사용 가능한 경우 POSIX 변형
(setlkw)가 사용됩니다.

사용자=
설정 (소유자) 스트림의. 주소가 NAMED의 구성원인 경우
옵션 그룹, 소캣 파일을 열거나 바인딩한 후 chown() 시스템 호출을 사용합니다.
UNIX 도메인 소켓에 연결합니다(경쟁 조건!). 파일 시스템 항목이 없으면 소캣 세트
fchown() 시스템 호출을 사용하는 스트림 사용자. 이러한 호출에는 다음이 필요할 수 있습니다.
루트 권한.

사용자 지연=
fd의 소유자를 다음으로 설정합니다. 파일을 연 후 fchown() 시스템 호출을 사용하거나
채널을 연결합니다. 이는 파일 시스템 항목에만 유용합니다.

그룹=
설정 스트림의. 주소가 NAMED 옵션의 구성원인 경우
그룹, 소캣 파일을 열거나 바인딩한 후 chown() 시스템 호출을 사용합니다.
UNIX 도메인 소켓(경쟁 조건!). 파일 시스템 항목이 없으면 소캣 설정
fchown() 시스템 호출을 사용하여 스트림 그룹. 이러한 통화에는 그룹이 필요할 수 있습니다.
멤버십 또는 루트 권한.

단체 지각=
fd의 그룹을 다음으로 설정합니다. 파일을 연 후 fchown() 시스템 호출을 사용하거나
채널을 연결합니다. 이는 파일 시스템 항목에만 유용합니다.

모드=
설정 스트림의 [mode_t] (권한). 주소가 회원인 경우
NAMED 옵션 그룹을 사용하고 open() 또는 creat() 호출을 사용하면 모드가 적용됩니다.
이것으로. 주소가 이를 사용하지 않고 NAMED 옵션 그룹의 구성원인 경우
시스템 호출, 소캣 파일 시스템 항목을 연 후 chmod() 시스템 호출을 사용합니다.
또는 UNIX 도메인 소켓에 바인딩(경쟁 조건!). 그렇지 않으면, 소캣 설정
fchmod() 를 사용하여 스트림 모드. 이러한 호출에는 소유권이나 루트가 필요할 수 있습니다.
특권.

파마-늦음=
fd의 권한을 value로 설정합니다. [mode_t] fchmod() 시스템 사용
채널을 개설하거나 연결한 후 통화하세요. 이는 파일 시스템에서만 유용합니다.
항목.

추가=
항상 파일의 실제 끝에 데이터를 씁니다. 주소가 OPEN 회원인 경우
옵션 그룹, 소캣 open() 시스템 호출과 함께 O_APPEND 플래그를 사용합니다(예).
그렇지 않으면, 소캣 fcntl(fd, F_SETFL, O_APPEND) 호출을 적용합니다.

비차단=
비차단 모드에서 파일을 열거나 사용하려고 합니다. 유일한 효과는
TCP 주소의 connect() 호출은 차단되지 않으며 명명된 파이프를 여는 것은
독서가 차단되지 않습니다. 주소가 OPEN 옵션 그룹의 구성원인 경우, 소캣
open() 시스템 호출과 함께 O_NONBLOCK 플래그를 사용합니다. 그렇지 않으면, 소캣 적용
fcntl(fd, F_SETFL, O_NONBLOCK) 호출.

암시적 줄 종결자 변환을 피하기 위해 바이너리 모드에서 파일을 엽니다.
(시그윈).

본문 암시적 줄 종결자 변환을 강제하기 위해 텍스트 모드에서 파일을 엽니다(Cygwin).

상속받지 않는다
생성된 프로세스(Cygwin)에서 이 파일을 열어두지 않습니다.

멋진 쓰기
EPIPE 또는 ECONNRESET을 사용하여 쓰기가 실패할 경우 쉽게 처리하고 다음을 사용하여 메시지를 기록합니다.
주의 대신 수준 오류. 이렇게 하면 로그 파일이 채워지는 것을 방지할 수 있습니다.
socat가 대용량 서버 또는 프록시로 사용될 때 쓸모없는 오류 메시지
클라이언트는 종종 연결을 중단합니다.
이 옵션은 실험적입니다.

끝-닫기
연결을 종료하는 (주소에 따른) 방법을 변경하여 연결을 닫습니다.
파일 설명자. 이는 연결을 재사용하거나 공유할 때 유용합니다.
다른 프로세스와 함께(예)
일반적으로 소켓 연결은 다음과 같이 종료됩니다. 종료(2) 종료
여러 프로세스에서 공유하더라도 소켓입니다. 가까운(2) 소켓을 "연결 해제"합니다.
하지만 다른 프로세스의 링크가 남아 있는 한 활성 상태를 유지합니다.
프로세스.
마찬가지로 EXEC 또는 SYSTEM 유형의 주소가 종료되면 socat는 일반적으로
하위 프로세스를 명시적으로 종료합니다. 이 옵션을 사용하면 파일이 닫힙니다.
설명자.

폐쇄 없음
쓰기 부분을 종료하는 (주소에 따른) 방법을 변경합니다.
아무 것도 하지 않는 연결입니다.

셧다운
쓰기 부분을 종료하는 (주소에 따른) 방법을 변경합니다.
shutdown\(fd, SHUT_WR)에 연결합니다. 소켓에서만 유용합니다.

닫히다
쓰기 부분을 종료하는 (주소에 따른) 방법을 변경합니다.
닫기\(fd)에 대한 연결입니다.

종료-null
하나의 주소가 EOF를 나타낼 때, 소캣 쓰기 작업에 크기가 XNUMX인 패킷을 보냅니다.
EOF 조건을 전송하기 위해 다른 주소의 채널을 사용합니다. 이는 UDP에 유용합니다.
및 기타 데이터그램 프로토콜. 옵션을 사용하여 netcat 및 socat에 대해 테스트되었습니다.
null-eof.

null-eof
일반적으로 소캣 데이터그램에 도착하는 빈(XNUMX 크기 페이로드) 패킷을 무시합니다.
소켓이므로 포트 스캔 후에도 유지됩니다. 이 옵션을 사용하면 소캣 비어 있다고 해석하다
EOF 표시기로서의 데이터그램 패킷(shut-null 참조)

ioctl-void=
요청 값을 두 번째 인수로, NULL을 세 번째 인수로 사용하여 ioctl()을 호출합니다.
이 옵션을 사용하면 socat에서 명시적으로 구현되지 않은 ioctl을 활용할 수 있습니다.

ioctl-int= :
요청 값을 두 번째 인수로, 정수 값을 다음과 같이 사용하여 ioctl()을 호출합니다.
세 번째 주장.

ioctl-intp= :
두 번째 인수로 요청 값과 포인터를 사용하여 ioctl()을 호출합니다.
세 번째 인수로 정수 값을 사용합니다.

ioctl-bin= :
요청 값을 두 번째 인수로 사용하고 주어진 값에 대한 포인터를 사용하여 ioctl()을 호출합니다.
데이터 값을 세 번째 인수로 사용합니다. 이 데이터는 다음에 지정되어야 합니다. 형태.

ioctl-문자열= :
요청 값을 두 번째 인수로 사용하고 주어진 값에 대한 포인터를 사용하여 ioctl()을 호출합니다.
문자열을 세 번째 인수로 사용합니다. 형태.

NAMED 선택권 그룹

이러한 옵션은 파일 시스템 항목에서 작동합니다.
사용자, 그룹 및 모드 옵션도 참조하세요.

사용자-초기=
변경 (소유자) 파일 시스템 항목에 액세스하기 전에
chown() 시스템 호출. 이 호출에는 루트 권한이 필요할 수 있습니다.

그룹-초기=
변경 chown()을 사용하여 파일 시스템 항목에 액세스하기 전에
시스템 호출. 이 호출에는 그룹 멤버십 또는 루트 권한이 필요할 수 있습니다.

파마-초기=
변경 [mode_t] 파일 시스템 항목에 액세스하기 전에 다음을 사용하여
chmod() 시스템 호출. 이 호출에는 소유권이나 루트 권한이 필요할 수 있습니다.

우마스크=
프로세스의 umask를 다음으로 설정합니다. [mode_t] 파일 시스템에 액세스하기 전
항목(UNIX 도메인 소켓에 유용합니다!) 이 전화는 앞으로 모든 것에 영향을 미칠 수 있습니다
의 운영 소캣 방법!

연결 해제 - 조기
파일을 열기 전, 심지어 사용자가 조기에 적용하기 전에도 파일 링크를 해제(제거)합니다.


풀리다 파일에 액세스하기 전, 사용자 초기 등 이후에 파일 링크를 해제(제거)합니다.

연결 해제 지연
다른 사람이 액세스할 수 없도록 파일을 연 후 링크를 ​​해제(제거)합니다.
짧은 경쟁 조건 후에 프로세스를 수행합니다.

연결 해제-닫기
주소를 닫을 때 주소 파일 시스템 항목을 제거합니다. 명명된 파이프의 경우
유닉스 도메인 소켓과 pty 주소의 심볼릭 링크 수신, 기본값
1이다; 생성된 파일, 열린 파일, 일반 열린 파일 및 클라이언트 Unix 도메인의 경우
소켓의 기본값은 0입니다.

공석 선택권 그룹

OPEN 그룹 옵션을 사용하면 open() 시스템 호출로 플래그를 설정할 수 있습니다. 예: 옵션
`creat'는 O_CREAT 플래그를 설정합니다.
옵션 추가 및 비차단도 참조하세요.

창조=
파일이 존재하지 않는 경우 파일을 생성합니다(예).

dsync=
메타정보가 미디어에 물리적으로 기록될 때까지 write() 호출을 차단합니다.

제외=
creat 옵션을 사용하면 파일이 존재하면 오류가 발생합니다.

대용량 파일=
32비트 시스템에서는 2^31바이트보다 큰 파일을 허용합니다.

아니
읽기 시 액세스 타임스탬프가 변경되지 않도록 O_NOATIME 옵션을 설정합니다.

녹티=
이 파일을 제어 터미널로 만들지 않습니다.

따르지 않음=
심볼릭 링크를 따르지 않습니다.

nshare=
이 파일을 다른 프로세스와 공유하는 것을 허용하지 않습니다.

rshare=
다른 프로세스가 쓰기 위해 이 파일을 여는 것을 허용하지 않습니다.

rsync=
메타정보가 미디어에 물리적으로 기록될 때까지 write()를 차단합니다.

동기화=
데이터가 미디어에 물리적으로 기록될 때까지 write()를 차단합니다.

rdonly=
읽기 전용으로 파일을 엽니다.

잘못=
쓰기 전용으로 파일을 엽니다.

자르기 파일을 여는 동안 파일을 크기 0으로 자릅니다.

REG BLK 선택권 그룹

이러한 옵션은 일반적으로 UN*X 파일 설명자에 적용되지만 해당 의미는 다음과 같습니다.
랜덤 액세스를 지원하는 파일에서만 감지됩니다.

추구=
lseek(fd, , SEEK_SET) (또는 lseek64 ) 시스템 호출, 따라서
파일 포인터를 절대적으로 위치 지정 [off_t 또는 off64_t]. 참고하세요
누락된 값의 기본값은 1이 아닌 0입니다.

탐색-현재=
lseek(fd, , SEEK_CUR) (또는 lseek64 ) 시스템 호출, 따라서
파일 포인터 위치 지정 [off_t 또는 off64_t] 바이트를 상대적으로
현재 위치(보통 0)입니다. 누락된 값의 기본값은 다음과 같습니다.
1이 아니라 0입니다.

탐색 끝=
lseek(fd, , SEEK_END) (또는 lseek64 ) 시스템 호출, 따라서
파일 포인터 위치 지정 [off_t 또는 off64_t] 바이트를 기준으로
파일이 현재 끝납니다. 누락된 값의 기본값은 1이 아닌 0입니다.

ftruncate=
ftruncate(fd, ) (또는 사용 가능한 경우 ftruncate64) 시스템 호출, 따라서
해당 위치에서 파일 자르기 [off_t 또는 off64_t]. 참고하시기 바랍니다
누락된 값의 기본값은 1이 아닌 0입니다.

비밀=

해제=

비교=

ext2-동기화=

불변=

ext2-추가=

노덤=

ext2-noatime=

저널 데이터=

알림=

디렉터리 동기화=
이러한 옵션은 운영 체제 및 파일의 비표준 파일 속성을 변경합니다.
ext2fs, ext3fs 또는 reiserfs를 사용하는 Linux와 같이 이러한 기능을 지원하는 시스템.
이러한 옵션에 대한 자세한 내용은 man 1 chattr을 참조하세요. 있을 수 있으니 참고하세요
파일 생성과 이러한 옵션 적용 사이의 경쟁 조건.

방법 선택권 그룹

이 그룹의 옵션은 하나의 데이터에만 영향을 미치는 대신 프로세스 속성을 변경합니다.
채널. EXEC 및 SYSTEM 주소와 LISTEN 및 CONNECT 유형 주소의 경우
FORK 옵션의 경우 이러한 옵션은 기본 socat 프로세스 대신 하위 프로세스에 적용됩니다.

chroot=
chroot() 작업을 수행하여 주소를 처리한 후
(예). 이 호출에는 루트 권한이 필요할 수 있습니다.

chroot-초기=
chroot() 작업을 수행하여 주소를 열기 전에 이 통화
루트 권한이 필요할 수 있습니다.

설정 ID=
기본 변경 주소를 처리한 후의 프로세스입니다. 이 통화
루트 권한이 필요할 수 있습니다. 이 옵션은 다른 옵션을 삭제하지 않습니다.
그룹 관련 권한.

setgid-초기=
setgit과 비슷하지만 주소를 열기 전에 수행됩니다.

setuid=
변경 (소유자) 주소 처리 후 프로세스의. 이 통화
루트 권한이 필요할 수 있습니다. 이 옵션은 그룹을 삭제하지 않습니다.
관련 특권. 옵션 su가 귀하의 요구 사항에 더 잘 맞는지 확인하십시오.

setuid-초기=
setuid와 비슷하지만 주소를 열기 전에 수행됩니다.

수=
변경 (소유자) 및 주소 처리 후 프로세스의 그룹
(예). 이 호출에는 루트 권한이 필요할 수 있습니다.

su-d=
substuser-delayed의 짧은 이름입니다. 변경 (소유자) 및 그룹
주소 처리 후 처리합니다(예). 사용자와 그의 그룹은
검색된 전에 가능한 chroot() . 이 호출에는 루트 권한이 필요할 수 있습니다.

setpgid=
프로세스를 지정된 프로세스 그룹의 구성원으로 만듭니다. . 값이 없으면
주어지거나, 값이 0 또는 1이면 해당 프로세스는 새 프로세스의 리더가 됩니다.
그룹입니다.

세트시드 프로세스를 새 세션의 리더로 만듭니다(예).

읽기 라인 선택권 그룹

라이센스 제한으로 인해 데비안에서는 readline 기능이 비활성화되어 있습니다(BUGS 참조).
이 옵션은 readline 주소 유형에 적용됩니다.

역사=
기록을 읽고 씁니다. (예).

갑자기
버전 1.4.0부터 기본적으로 socat는 프롬프트를 결정하려고 시도합니다.
readline 호출로 전달 - 마지막 불완전한 줄을 기억하여
산출. 이 옵션을 사용하면 socat은 readline에 프롬프트를 전달하지 않으므로 시작됩니다.
터미널의 첫 번째 열에서 줄 편집.

노에코=
다음 입력 라인을 방지하는 프롬프트의 일반 패턴을 지정합니다.
화면에 표시되지 않고 기록에 추가되지 않습니다. 프롬프트
가장 최근의 readline 주소 이후에 출력된 텍스트로 정의됩니다.
개행 문자 및 입력 문자가 입력되기 전. 패턴은 규칙적이다
표현식(예: "^[Pp]assword:.*$" 또는 "([Uu]ser:|[Pp]assword:)"). 정규식 보기\(7)
자세한 내용은. (예)

프롬프트=
문자열을 readline 함수에 프롬프트로 전달합니다. readline은 이 프롬프트를 인쇄합니다
역사를 밟을 때. 이 문자열이 발행된 지속적인 프롬프트와 일치하는 경우
다른 socat 주소의 대화형 프로그램을 통해 일관된 모양과 느낌을 얻을 수 있습니다.
보관됩니다.

신청 선택권 그룹

이 그룹에는 데이터 수준에서 작동하는 옵션이 포함되어 있습니다. 이 옵션은 다음과 같은 경우에만 적용됩니다.
socat에 의해 전송된 "원시" 데이터에는 있지만 다음과 같은 주소에서 사용되는 프로토콜 데이터에는 전송되지 않습니다.
대리.

cr 기본 줄 종료 문자 NL('\n', 0x0a)을 CR('\r',
0x0d) 이 채널에 쓰기/읽기 시.

crnl 기본 줄 종료 문자 NL('\n', 0x0a)을 CRNL로/에서 변환합니다.
("\r\n", 0x0d0a) 이 채널에서 쓰기/읽기 시(예). 참고: 소캣
단순히 모든 CR 문자를 제거합니다.

무시하다
이 채널에서 EOF가 발생하면 소캣 이를 무시하고 더 많은 데이터를 읽으려고 시도합니다(예:
"tail -f")(예).

읽기바이트=
소캣 이 주소에서 너무 많은 바이트만 읽습니다(주소는 너무 많은 바이트만 제공합니다).
바이트를 전송하고 나중에 EOF에 있는 것처럼 가장합니다). 0보다 커야 합니다.

잠금 파일=
잠금 파일이 있으면 오류와 함께 종료됩니다. lockfile이 없으면 생성하고
계속해서 종료 시 잠금 파일의 링크를 해제합니다.

대기잠금=
잠금 파일이 있으면 사라질 때까지 기다립니다. 잠금파일이 존재하지 않는 경우,
그것을 생성하고 계속해서 종료 시 잠금 파일의 링크를 해제합니다.

탈출=
입력 스트림에서 EOF를 트리거하는 문자의 숫자 코드를 지정합니다. 그것
원시 모드의 터미널에 유용합니다(예).

소켓 선택권 그룹

이러한 옵션은 IP 또는 UNIX 도메인과 같은 모든 종류의 소켓을 위한 것입니다. 대부분은
setockopt() 호출을 사용하여 적용됩니다.

바인딩=
바인딩() 시스템 호출을 사용하여 소켓을 지정된 소켓 주소에 바인딩합니다. 형태
~의 소켓 도메인에 따라 다릅니다. IP4 및 IP6은 다음 형식을 허용합니다.
[호스트 이름|호스트 주소][:(서비스|포트)] (예), UNIX 도메인 소켓에는 다음이 필요합니다.
.

연결 시간 초과=
다음 이후에 연결 시도를 중단하세요. [timeval] 오류 상태입니다.

so-bindtodevice=
소켓을 주어진 것에 바인드합니다. . 이 옵션에는 루트가 필요할 수 있습니다.
특권.

방송
데이터그램 소켓의 경우 브로드캐스트 주소로 전송 및 패킷 수신을 허용합니다.
브로드캐스트 주소로 지정됩니다.

디버그 소켓 디버깅을 활성화합니다.

루트를 타지 않는다
직접 연결된 피어와만 통신하고 라우터를 사용하지 않습니다.

살아 유지
소켓에서 Keepalive 전송을 활성화합니다.

머뭇거리다=
데이터 전송이 완료되거나 지정된 시간이 될 때까지 shutdown() 또는 close()를 차단합니다.
시간 초과 [int]가 만료되었습니다.

우빈린
입력 데이터 스트림에 대역 외 데이터를 배치합니다.

우선순위=
정의된 프로토콜을 설정합니다. [ ] 나가는 패킷의 경우.

rcvbuf=
소켓() 호출 후 수신 버퍼의 크기를 다음으로 설정합니다. [정수]. 와 함께
TCP 소켓에서 이 값은 소켓의 최대 창 크기에 해당합니다.

rcvbuf-늦게=
소켓이 이미 연결되어 있을 때 수신 버퍼의 크기를 설정합니다.
[정수]. TCP 소켓의 경우 이 값은 소켓의 최대 창에 해당합니다.
크기.

rcvlowat=
소켓 계층이 완료될 때까지 수신된 바이트의 최소 수[int]를 지정합니다.
버퍼링된 데이터를 소캣.

rcvtimeo=
수신 시간 제한 [timeval]을 설정합니다.

재사용 주소
다른 소켓이 주소의 일부일지라도 주소에 바인딩할 수 있도록 허용합니다(예: 로컬
포트)는 이미 사용 중입니다. 소캣 (예).

sndbuf=
소켓() 호출 후 전송 버퍼의 크기를 다음으로 설정합니다. [정수].

sndbuf-late=
소켓이 연결될 때 전송 버퍼의 크기를 설정합니다. [정수].

sndlowat=
소켓 계층이 완료될 때까지 전송 버퍼의 최소 바이트 수를 지정합니다.
데이터를 다음으로 보낼 것입니다. [정수].

sndtimeo=
전송 시간 제한을 초[timeval]로 설정합니다.

pf=
지정된 IP 버전 또는 프로토콜을 강제로 사용합니다. 뭔가 될 수 있다
"ip4"나 "ip6" 같은 거죠. 결과 값은 소켓()의 첫 번째 인수로 사용됩니다.
또는 소켓쌍() 호출. 이 옵션은 주소 확인 및 필수 사항에 영향을 미칩니다.
바인드 및 범위 옵션의 구문.

유형=
소켓()의 두 번째 인수로 지정된 소켓 유형을 설정합니다.
소켓쌍() 호출, [정수]. 주소 확인은 이에 영향을 받지 않습니다.
옵션. Linux에서 1은 스트림 지향 소켓을 의미하고, 2는 데이터그램 소켓을 의미하며,
3은 원시 소켓을 의미합니다.

프로토 타입
소켓()의 세 번째 인수로 지정된 소켓의 프로토콜을 설정합니다.
소켓쌍() 호출, [정수]. 주소 확인은 다음의 영향을 받지 않습니다.
이 옵션. 6은 TCP, 17은 UDP를 의미합니다.

그래서 타임스탬프
SO_TIMESTAMP 소켓 옵션을 설정합니다. 이를 통해 다음을 수신하고 로깅할 수 있습니다.
타임스탬프 보조 메시지.

setockopt-int= : :
지정된 매개변수를 사용하여 소켓에 대해 setockopt()를 호출합니다. 레벨 [int]가 사용됩니다
setockopt()의 두 번째 인수로 레이어를 지정합니다(예: TCP의 경우 SOL_TCP(6)
Linux의 경우) 또는 소켓 계층의 경우 SOL_SOCKET(Linux의 경우 1). optname [int]는
setockopt()의 세 번째 인수이며 어떤 소켓 옵션을 설정할지 알려줍니다. 에 대한
실제 숫자는 귀하의 적절한 포함 파일을 찾아야 할 수도 있습니다.
체계. 네 번째 setockopt() 매개변수인 값 [int]가 함수에 전달됩니다.
포인터이며, 길이 매개변수의 경우 sizeof\(int)가 암시적으로 사용됩니다.

setockopt-bin= : :
setockopt-int와 비슷하지만 dalan 형식으로 제공되어야 하며 다음을 지정해야 합니다.
임의의 바이트 시퀀스; 길이 매개변수는 다음에서 자동으로 파생됩니다.
데이터입니다.

setockopt-문자열= : :
setockopt-int와 비슷하지만 문자열이어야 합니다. 이 문자열은
후행 null 문자가 있는 함수이며 길이 매개변수는 자동으로
데이터에서 파생되었습니다.

UNIX 선택권 그룹

이러한 옵션은 UNIX 도메인 기반 주소에 적용됩니다.

유닉스-tightsocklen=[0|1]
소켓 작업 시 전체를 포함하지 않는 소켓 주소 길이를 전달합니다.
struct sockaddr_un 레코드이지만 (다른 구성 요소 외에) 관련 부분만
파일 이름 또는 추상 문자열. 기본값은 1입니다.

IP4 IP6 선택권 그룹

이러한 옵션은 IPv4 및 IPv6 기반 소켓과 함께 사용할 수 있습니다.

토스=
나가는 패킷의 TOS(서비스 유형) 필드를 다음으로 설정합니다. [바이트](RFC 참조
791).

ttl=
나가는 패킷의 TTL(Time To Live) 필드를 다음으로 설정합니다. [바이트].

IP 옵션=
소스 라우팅과 같은 IP 옵션을 설정합니다. 바이너리 형식으로 제공되어야 하며 권장됨
형식은 "x"로 시작하고 그 뒤에 짝수 개의 XNUMX진수가 옵니다. 이 옵션은
여러 번 사용하면 데이터가 추가됩니다. 예를 들어 다음을 통해 호스트 10.0.0.1에 연결하려면
느슨한 소스 경로를 사용하는 일부 게이트웨이의 경우 게이트웨이를 주소 매개변수로 사용하고
ip-options=x8307040a000001 옵션을 사용하여 느슨한 소스 경로를 설정하십시오.
IP 옵션은 RFC 791에 정의되어 있습니다.

mtudiscover=<0|1|2>
이 소켓에서 경로 MTU 검색을 사용하지 않거나 사용하지 않거나 항상 사용하려면 0, 1, 2를 사용합니다.

IP-PKT정보
IP_PKTINFO 소켓 옵션을 설정합니다. 이를 통해 보조 데이터를 수신하고 로깅할 수 있습니다.
대상 주소와 인터페이스(Linux)가 포함된 메시지(예)

IP 복구
IP_RECVERR 소켓 옵션을 설정합니다. 이를 통해 보조 데이터를 수신하고 로깅할 수 있습니다.
자세한 오류 정보가 포함된 메시지입니다.

IP-Recvopts
IP_RECVOPTS 소켓 옵션을 설정합니다. 이를 통해 IP 수신 및 로깅이 가능해집니다.
옵션 보조 메시지(Linux, *BSD).

IP-Recvtos
IP_RECVTOS 소켓 옵션을 설정합니다. 이를 통해 TOS(유형
서비스) 보조 메시지(Linux).

IP-recvttl
IP_RECVTTL 소켓 옵션을 설정합니다. 이를 통해 TTL(시간)을 수신하고 로깅할 수 있습니다.
to live) 보조 메시지(Linux, *BSD).

IP-recvdstaddr
IP_RECVDSTADDR 소켓 옵션을 설정합니다. 이를 통해 다음을 수신하고 로깅할 수 있습니다.
대상 주소(*BSD)가 포함된 보조 메시지(예)

IP-Recvif
IP_RECVIF 소켓 옵션을 설정합니다. 이를 통해 인터페이스 수신 및 로깅이 가능해집니다.
보조 메시지(*BSD)(예)

IP-추가-멤버십=

IP-추가-멤버십=

IP-추가-멤버십=

IP-추가-멤버십=

IP-추가-멤버십=
지정된 멀티캐스트 그룹의 소켓 구성원을 만듭니다. 현재는 이것뿐이다
IPv4용으로 구현되었습니다. 이 옵션은 멀티캐스트 그룹의 IP 주소를 가져오고
원하는 네트워크 인터페이스에 대한 정보. 가장 일반적인 구문은 첫 번째 구문입니다.
나머지는 struct mreqn(Linux)을 제공하는 시스템에서만 사용할 수 있습니다.
유틸리티를 사용하여 활성 네트워크 인터페이스의 색인을 표시할 수 있습니다. 프로칸.

IP-멀티캐스트-if=
멀티캐스트에 사용할 네트워크 인터페이스의 호스트 이름 또는 주소를 지정합니다.
교통.

IP-멀티캐스트-루프=
나가는 멀티캐스트 트래픽이 인터페이스로 루프백되어야 하는지 여부를 지정합니다.

IP-멀티캐스트-ttl=
나가는 멀티캐스트 트래픽에 사용되는 TTL을 설정합니다. 기본값은 1입니다.

다시 디버그

res-aa만

res-usevc

res-primary

재점화

재귀

res-defnames

res-stayopen

res-dnsrch
이러한 옵션은 해당 확인자(이름 확인) 옵션 플래그를 설정합니다.
기본 옵션을 지우려면 "=0"을 추가하세요. 자세한 내용은 man 해석기\(5)를 참조하세요.
이러한 옵션. 참고: 이 옵션은 적용된 주소에만 유효합니다.
에.

IP6 선택권 그룹

이러한 옵션은 IPv6 기반 소켓에서만 사용할 수 있습니다. 다음을 수행할 수 있는 옵션은 IP 옵션을 참조하세요.
IPv4 및 IPv6 소켓 모두에 적용됩니다.

ipv6만=
IPV6_V6ONLY 소켓 옵션을 설정합니다. 0이면 TCP 스택도 허용합니다.
동일한 포트에서 IPv4 프로토콜을 사용하여 연결합니다. 기본값은 시스템에 따라 다릅니다.

ipv6-recvdstopts
IPV6_RECVDSTOPTS 소켓 옵션을 설정합니다. 이를 통해 다음을 수신하고 로깅할 수 있습니다.
대상 옵션이 포함된 보조 메시지입니다.

ipv6-recvhoplimit
IPV6_RECVHOPLIMIT 소켓 옵션을 설정합니다. 이를 통해 다음을 수신하고 로깅할 수 있습니다.
hoplimit를 포함하는 보조 메시지.

ipv6-recvhoopts
IPV6_RECVHOPOPTS 소켓 옵션을 설정합니다. 이를 통해 다음을 수신하고 로깅할 수 있습니다.
홉 옵션이 포함된 보조 메시지입니다.

ipv6-recvpktinfo
IPV6_RECVPKTINFO 소켓 옵션을 설정합니다. 이를 통해 다음을 수신하고 로깅할 수 있습니다.
대상 주소와 인터페이스를 포함하는 보조 메시지.

ipv6-유니캐스트-홉=링크(TYPE_INT)( )
IPV6_UNICAST_HOPS 소켓 옵션을 설정합니다. 이는 홉 수 제한(TTL)을 설정합니다.
나가는 유니캐스트 패킷.

ipv6-recvrthdr
IPV6_RECVRTHDR 소켓 옵션을 설정합니다. 이를 통해 다음을 수신하고 로깅할 수 있습니다.
라우팅 정보를 포함하는 보조 메시지.

IPv6-t클래스
IPV6_TCLASS 소켓 옵션을 설정합니다. 이는 나가는 전송 클래스를 설정합니다.
패킷.

ipv6-recvt클래스
IPV6_RECVTCLASS 소켓 옵션을 설정합니다. 이를 통해 다음을 수신하고 로깅할 수 있습니다.
전송 클래스를 포함하는 보조 메시지.

TCP 선택권 그룹

이러한 옵션은 TCP 소켓에 적용될 수 있습니다. 그들은 setockopt()를 호출하여 작동합니다.
적절한 매개변수.

코르크 MSS(최대 세그먼트 크기)보다 작은 패킷은 보내지 않습니다.

연기 수락
수신하는 동안 피어로부터 데이터가 도착할 때만 연결을 수락합니다.

유지CNT=
소켓을 종료하기 전의 연결 유지 수를 다음과 같이 설정합니다. [정수].

키퍼=
첫 번째 Keepalive를 보내기 전에 유휴 시간을 설정합니다. [정수].

keepintvl=
두 Keepalive 사이의 간격을 다음으로 설정합니다. [정수].

머무르다2=
소켓을 FIN-WAIT-2 상태로 유지하는 시간을 설정합니다. [정수].

mss=
소켓() 호출 후 MSS(최대 세그먼트 크기)를 다음으로 설정합니다. [정수]. 이것
그런 다음 SYN 또는 SYN/ACK 패킷(예)을 통해 값이 피어에 제안됩니다.

mss-늦음=
연결이 설정된 후 소켓의 MSS를 다음과 같이 설정합니다. [정수].

지체없이
RTT(왕복 시간) 측정을 위한 Nagle 알고리즘을 끕니다.

RFC1323
RFC1323 TCP 옵션 활성화: TCP 창 크기 조정, 왕복 시간 측정(RTTM),
래핑된 시퀀스 번호(PAWS)(AIX)로부터 보호합니다.

표준 RFC1122 호환 긴급 포인터 처리(AIX)를 활성화합니다.

동기화 =
연결 중 최대 SYN 재전송 횟수를 설정합니다. [정수].

md5sig 패킷에서 MD5 다이제스트 생성을 활성화합니다(FreeBSD).

멍청하다 TCP 옵션(FreeBSD, MacOSX) 사용을 비활성화합니다.

노푸쉬 TCP_NOPUSH 소켓 옵션을 설정합니다(FreeBSD, MacOSX).

자루 비활성화
선택적 승인 기능(OpenBSD) 사용을 비활성화합니다.

서명 활성화
패킷에서 MD5 다이제스트 생성을 활성화합니다(OpenBSD).

중단 임계값=
설정된 연결에서 상대방의 응답을 기다리는 시간을 설정합니다.
(HP-UX).

conn-중단-임계값=
최초 접속 시 서버의 응답을 기다리는 시간을 설정합니다.
(HP-UX).

유지
연결\() 도중 서버의 응답을 기다린 후 응답을 보내는 시간을 설정합니다.
위로. 값은 150초 단위이며 기본값은 75(64초)(TruXNUMX)입니다.

"래핑된 시퀀스 번호로부터 보호" 기능(Tru64)을 활성화합니다.

사케나
선택적 승인을 활성화합니다(Tru64).

초프테나
기존 연결에서 RTT 재계산을 허용하는 타임스탬프 옵션을 활성화합니다.
(트루64).

SCTP 선택권 그룹

이러한 옵션은 SCTP 스트림 소켓에 적용될 수 있습니다.

sctp-nodelay
Nagle 알고리즘을 비활성화하는 SCTP_NODELAY 소켓 옵션을 설정합니다.

sctp-maxseg=
SCTP_MAXSEG 소켓 옵션을 다음으로 설정합니다. [정수]. 그런 다음 이 값이 제안됩니다.
SYN 또는 SYN/ACK 패킷을 사용하여 피어에 보냅니다.

UDP, TCP, SCTP 선택권 그룹

여기서는 네트워크 포트 메커니즘과 관련된 옵션을 찾아 사용할 수 있습니다.
UDP, TCP, SCTP 클라이언트 및 서버 주소를 사용합니다.

소스포트=
나가는(클라이언트) TCP 및 UDP 연결의 경우 소스를 설정합니다. 사용하여
추가 바인드() 호출. TCP 또는 UDP 수신 주소를 사용하면 socat가 즉시 종료됩니다.
클라이언트가 이 소스포트를 사용하지 않는 경우의 연결입니다(예).

로우포트
이 옵션을 사용하는 발신(클라이언트) TCP 및 UDP 연결은 사용되지 않은 임의 할당을 사용합니다.
640과 1023 사이의 소스 포트 포함 UNIX 클래스 운영 체제에서는 이
루트 권한이 필요하므로 클라이언트 프로세스가 승인되었음을 나타냅니다.
로컬 루트로. 이 옵션을 사용하면 TCP 및 UDP 수신 주소가 즉시 종료됩니다.
클라이언트가 sourceport <= 1023을 사용하지 않는 경우 연결. 이 메커니즘은
어떤 상황에서는 제한된 권한을 제공합니다.

SOCKS 선택권 그룹

SOCKS 유형 주소를 사용하는 경우 일부 양말 관련 옵션을 설정할 수 있습니다.

양말포트= 서비스>
양말 서버 포트에 대한 기본 "양말" 서비스 또는 포트 1080을 다음으로 재정의합니다.
.

양말사용자=
보낸다 양말 서버에 대한 사용자 이름 필드의 [문자열]. 기본값은
실제 사용자 이름($LOGNAME 또는 $USER)(예)

HTTP 선택권 그룹

HTTP 유형 주소와 함께 제공할 수 있는 옵션입니다. 현재 유일한 HTTP 주소
구현된 것은 프록시 연결입니다.

프록시포트= 서비스>
기본 HTTP 프록시 포트 8080을 다음으로 재정의합니다. .

무시
HTTP 프로토콜에서는 줄 종결자로 CR+NL을 사용해야 합니다. 프록시 서버인 경우
이 표준을 위반하면 socat이 답변을 이해하지 못할 수도 있습니다. 이 옵션은 다음을 지시합니다.
socat은 NL을 줄 종결자로 해석하고 대답에서 CR을 무시합니다.
그럼에도 불구하고 socat은 CR+NL을 프록시에 보냅니다.

프록시 인증= :
프록시 서버에 "기본" 인증을 제공합니다. 옵션에 대한 인수는 다음과 같습니다.
base64로 인코딩된 형식의 "Proxy-Authorization: Base" 헤더와 함께 사용됩니다.
참고: 사용자 이름과 비밀번호는 로컬 컴퓨터의 모든 사용자에게 표시됩니다.
프로세스 목록; 사용자 이름과 비밀번호는 암호화되지 않은 상태로 프록시 서버로 전송됩니다.
(base64로 인코딩됨) 스니핑될 수 있습니다.

해결
기본적으로 socat는 대상이 포함된 CONNECT 요청을 프록시에 보냅니다.
호스트 이름. 이 옵션을 사용하면 socat는 호스트 이름을 로컬로 확인하고 IP를 보냅니다.
주소. RFC 2396에 따르면 이름 확인은 IPv4로만 이루어집니다.
주소가 구현되었습니다.

RANGE 선택권 그룹

이 옵션은 연결 클라이언트에 액세스 권한을 부여해야 하는지 확인합니다. 그들은 적용될 수 있습니다
네트워크 소켓을 수신하고 수신합니다. tcp-wrappers 옵션이 이 그룹에 속합니다.

범위=
연결을 수락한 후 피어가 내부에 있는지 테스트합니다. 범위. IPv4의 경우
주소, 주소 범위는 주소/비트 형식을 취합니다(예: 10.0.0.0/8).
주소:마스크, 예: 10.0.0.0:255.0.0.0(예); IPv6의 경우
[ip6-주소/비트], 예: [::1/128]. 클라이언트 주소가 일치하지 않는 경우, 소캣
경고를 발행하고 계속 청취/수신합니다.

TCP랩[= ]
Wietse Venema의 libwrap(tcpd) 라이브러리를 사용하여 클라이언트가 허용되는지 확인합니다.
연결. 구성 파일은 다음과 같습니다. /etc/hosts.allow/etc/hosts.deny
기본값, 자세한 내용은 "man 5 호스트_액세스"를 참조하세요. 선택 사항 (유형
문자열)은 데몬 프로세스 이름(예)으로 래퍼 함수에 전달됩니다. 만약에
생략하면 socats 호출의 기본 이름(argv[0])이 전달됩니다. 둘 다 tcpwrap인 경우
범위 옵션이 주소에 적용되는 경우 두 조건을 모두 충족해야 합니다.
연결을 허용합니다.

허용 테이블=
/etc/hosts.allow 대신 지정된 파일을 사용합니다.

거부 테이블=
/etc/hosts.deny 대신 지정된 파일을 사용합니다.

tcpwrap-등=
지정된 디렉터리에서 호스트.허용 및 호스트 거부를 찾습니다. 다음에 의해 재정의됨
옵션 호스트 허용 및 호스트 거부.

들어봐 선택권 그룹

청취 소켓과 관련된 옵션입니다.

백로그=
Listen() 시스템 호출과 함께 전달된 백로그 값을 다음으로 설정합니다. [정수].
기본값은 5입니다.

최대 어린이=
동시 하위 프로세스 수 [int]를 제한합니다. 기본값은 제한이 없습니다.

아이 선택권 그룹

하위 프로세스를 통해 여러 연결이 있는 주소에 대한 옵션입니다.

포크 연결을 설정한 후 하위 프로세스에서 해당 채널을 처리하고 유지합니다.
상위 프로세스는 청취 또는 수신을 통해 더 많은 연결을 생성하려고 시도합니다.
루프로 연결하여(예제)
OPENSSL-CONNECT와 OPENSSL-LISTEN은 실제로 하위 항목을 분기할 때 다릅니다.

OPENSSL-LISTEN 포크 전에 SSL 핸드셰이크, OPENSSLSSL-CONNECT 포크
나중에. RETRY 및 FOREVER 옵션은 하위 프로세스에서 상속되지 않습니다.
일부 운영 체제(예: FreeBSD)에서는 이 옵션이 UDP-LISTEN에 대해 작동하지 않습니다.
구애.

EXEC 선택권 그룹

프로그램을 호출하는 주소에 대한 옵션입니다.

경로=
프로그램 검색을 위해 PATH 환경 변수를 재정의합니다. .
이 $PATH 값은 하위 프로세스에도 유효합니다.

로그인 execvp() 호출의 접두사 argv[0]에 '-'가 붙으므로 쉘이 다음과 같이 동작하게 됩니다.
로그인 쉘.

포크 선택권 그룹

EXEC 또는 SYSTEM 주소는 하위 프로세스를 사용하여 프로그램을 호출하고 사이에 데이터를 전송합니다.
소캣 그리고 프로그램. 프로세스 간 통신 메커니즘은 다음 사항에 따라 영향을 받을 수 있습니다.
다음 옵션. 기본적으로 소켓 쌍()이 생성되어 stdin 및 stdout에 할당됩니다.
자식 프로세스의 stderr은 자식 프로세스에서 상속됩니다. 소캣 프로세스와 아이
프로세스는 기본 socat 프로세스와 통신하기 위해 파일 설명자 0과 1을 사용합니다.

노포크 프로그램 실행을 위해 하위 프로세스를 분기하지 않고 대신 execvp\()를 호출하거나
실제 socat 인스턴스에서 직접 system\()을 생성합니다. 이는 오버헤드를 방지합니다.
프로그램과 동료 간의 또 다른 프로세스이지만
제한:

o 이 옵션은 두 번째에만 적용할 수 있습니다. 소캣 주소.

o 이중주소의 일부에는 적용할 수 없습니다.

o 첫 번째 socat 주소는 OPENSSL 또는 READLINE일 수 없습니다.

o socat 옵션 -b, -t, -D, -l, -v, -x가 쓸모 없게 됩니다.

o 두 주소 모두에 대해ignoreof, cr 및 crnl 옵션이 쓸모 없게 됩니다.

o 두 번째 주소(nofork 옵션이 있는 주소)의 경우 추가 옵션, cloexec,
Flock, user, group, mode, nonblock, perm-late, setlk 및 setpgid는 사용할 수 없습니다.
적용된. 하지만 이들 중 일부는 첫 번째 주소에서 사용될 수 있습니다.

파이프 소켓 대신 프로세스 간 통신을 위해 명명되지 않은 파이프 쌍을 만듭니다.
한 쌍이다.

오픈피티
다음으로 생성된 의사 터미널을 사용하여 하위 프로세스와의 통신을 설정합니다.
기본값(socketpair 또는 ptmx) 대신 openpty()를 사용합니다.

ptmx 다음에 의해 생성된 의사 터미널을 사용하여 하위 프로세스와의 통신을 설정합니다.
열기 /dev/ptmx or /dev/ptc 기본값(소켓 쌍) 대신.

pty 대신 의사 터미널을 사용하여 하위 프로세스와의 통신을 설정합니다.
소켓 쌍. 사용 가능한 메커니즘으로 pty를 생성합니다. openpty와 ptmx가 있는 경우
둘 다 사용 가능하며 POSIX와 호환되므로 ptmx를 사용합니다(예).

ctty pty를 하위 프로세스의 제어 tty로 만듭니다(예).

표준 오류 stderr를 dup()으로 만들어 하위 프로세스의 stderr을 출력 채널로 보냅니다.
표준 출력(예제).

fdin=
파일 설명자에 하위 프로세스 입력 채널을 할당합니다. 대신에
표준입력(0). 하위 프로세스에서 시작된 프로그램은 읽기 위해 이 fd를 사용해야 합니다.
데이터 소캣 (예).

fdout=
파일 설명자에 하위 프로세스 출력 채널을 할당합니다. 대신에
표준 출력(1). 하위 프로세스에서 시작된 프로그램은 쓰기를 위해 이 fd를 사용해야 합니다.
데이터 소캣 (예).

한숨, 서명, 시그퀴트
있다 소캣 이 유형의 신호를 하위 프로세스에 전달합니다. 이 주소가 없으면
옵션, socat은 이러한 신호에서 종료됩니다.

테르미오스 선택권 그룹

tty에서 작동하는 주소(예: stdio, file:/dev/tty, exec:...,pty)의 경우 터미널
UN*X termios 메커니즘에 정의된 매개변수는 주소 옵션으로 사용할 수 있습니다.
매개변수. 대화형 터미널의 매개변수 변경에 유의하세요.
이후에도 유효하다 소캣의 종료이므로 "reset" 또는 "stty"를 입력해야 할 수도 있습니다.
나중에 셸에서 sane"을 입력합니다. PTY 옵션이 있는 EXEC 및 SYSTEM 주소의 경우 다음과 같습니다.
옵션은 하위 프로세스에 의해 pty에 적용됩니다.

b0 터미널을 분리합니다.

b19200 직렬 회선 속도를 19200보드로 설정합니다. 다른 요금도 가능합니다. 사용
socat -hh |grep ' b[1-9]' 와 같은 방법으로 지원되는 모든 속도를 찾을 수 있습니다.
구현.
참고: 일부 운영 체제에서는 이러한 옵션을 사용하지 못할 수도 있습니다. ispeed를 사용하거나
대신 속도를 높이십시오.

에코=
로컬 에코를 활성화하거나 비활성화합니다.

이콘=
표준 모드를 ​​설정하거나 지워 라인 버퍼링 및 일부 특수 문자를 활성화합니다.

살갗이 벗어 진 원시 모드를 설정하여 거의 처리되지 않은 상태로 입력 및 출력을 전달합니다. 이 옵션은
더 이상 사용되지 않습니다. 대신 rawer 또는 cfmakeraw 옵션을 사용하세요.

날것 터미널을 원시 옵션보다 원시로 만듭니다. 이 옵션은 암시적으로 에코를 끕니다.
(예).

cfmakeraw
cfmakeraw()를 호출하거나 이 호출을 시뮬레이션하여 원시 모드를 설정합니다. 이 옵션
암시적으로 에코를 끕니다.

무시=
break 문자(예: ^C)를 무시하거나 해석합니다.

브킨트=

bs0

bs1

bsdly=<0|1>

클로컬=

cr0
cr1
cr2
cr3

캐리지 리턴 지연을 각각 0, 1, 2 또는 3으로 설정합니다. 0은 지연이 없음을 의미하고,
다른 값은 터미널에 따라 다릅니다.

crdly=<0|1|2|3>

크레아=

crtscts=

cs5
cs6
cs7
cs8

문자 크기를 각각 5, 6, 7 또는 8비트로 설정합니다.

csize=<0|1|2|3>

cstopb=
정지 비트를 XNUMX개가 아닌 XNUMX개로 설정합니다.

dsusp=
현재 전경을 일시 중단하는 VDSUSP 문자의 값을 설정합니다.
쉘을 처리하고 다시 활성화합니다(Linux를 제외한 모두).

echoctl=
모자 표기법의 에코 제어 문자(예: ^A)

에코=

에코크=

에코케=

에코넬=

echoprt=

의 =

에올=

에올2=

지우다=

버리다=

ff0

ff1

정말=

플러시=

hupcl=

ICRNL=

iexten=

무시=

무시=

아이맥스벨=

포함=

인팩=

내부=

isig=

속도=
이 라인에 들어오는 데이터의 전송 속도를 설정합니다.
참조: ospeed, b19200

istrip=

iuclc=

익사니=

ixoff=

익슨=

죽이다=

다음=

최소=

nl0 개행 지연을 0으로 설정합니다.

nl1

전혀=

noflsh=

ocrnl=

ofdel=

ofill=

올쿠=

onlcr=

onlret=

onocr=

반대=
출력 처리를 활성화하거나 비활성화합니다. 예를 들어 NL을 CR-NL로 변환합니다.

속도=
이 라인에서 나가는 데이터의 전송 속도를 설정합니다.
참조: ispeed, b19200

parenb=
출력에서 패리티 생성을 활성화하고 입력에서 패리티 검사를 활성화합니다.

parmrk=

패러로드=

펜딘=

그만두다=

재인쇄=

제정신의 터미널을 유용한 기본 상태와 같은 상태로 만듭니다.

시작=

중지=

의심=

SWTC=

tab0

tab1

tab2

tab3

가볍게=

시간=

중지하다=

vt0

vt1

vtdly=

워라세=

xcase=

xtab

아이팝올
UNIX System V STREAMS를 사용하면 스택에서 모든 드라이버를 제거합니다.

i-푸시=
UNIX System V STREAMS를 사용하면 지정된 이름(문자열)으로 드라이버(모듈)를 푸시합니다.
스택에. 예를 들어, Solaris에서 문자 장치가
termios 등을 지원하는 경우 다음 옵션을 사용하십시오.
i-pop-all,i-push=ptem,i-push=ldterm,i-push=ttcompat

PTY 선택권 그룹

이러한 옵션은 pty 주소 유형과 함께 사용하기 위한 것입니다.

링크=
실제 의사 터미널(pty)을 가리키는 기호 링크를 생성합니다. 이것
ptys가 어느 정도 생성되는 문제를 해결하는 데 도움이 될 수 있습니다.
예측할 수 없는 이름으로 인해 socat 생성 pty에 직접 액세스하기가 어렵습니다.
자동으로. 이 옵션을 사용하면 사용자는 파일에서 "수정" 지점을 지정할 수 있습니다.
실제 pty에 액세스하는 데 도움이 되는 계층 구조(예) 으로 시작하는 소캣
버전 1.4.3에서는 주소가 닫히면 심볼릭 링크가 제거됩니다.
옵션 연결 해제-닫기).

노예
프로세스가 pty의 슬레이브 측을 열 때까지 개방 단계를 차단합니다. 대개,
socat은 다음 주소를 열거나 다음을 사용하여 pty를 생성한 후 계속됩니다.
전송 루프에 진입합니다. wait-slave 옵션을 사용하면 socat는
프로세스는 계속하기 전에 pty의 슬레이브 측을 엽니다. 이 옵션은 다음과 같은 경우에만 작동합니다.
운영 체제가 poll() 시스템 호출을 제공하는 경우. 그리고 그것은 다음에 달려 있습니다.
pty의 문서화되지 않은 동작이므로 모든 운영 체제에서 작동하지 않습니다. 그것
Linux, FreeBSD, NetBSD 및 Tru64에서 openpty를 사용하여 성공적으로 테스트되었습니다.

pty-간격=
wait-slave 옵션이 설정되면 socat은 주기적으로 HUP 상태를 확인합니다.
pty의 슬레이브 측이 열려 있는지 확인하려면 poll()을 사용하십시오. 기본 폴링
간격은 1초입니다. 이 값을 변경하려면 pty-interval 옵션 [timeval]을 사용하십시오.

오픈 SSL 선택권 그룹

이러한 옵션은 openssl 및 openssl-listen 주소 유형에 적용됩니다.

암호=
연결에 사용할 수 있는 암호 목록을 선택합니다. 매뉴얼 페이지를 참조하세요
암호, 섹션 CIPHER LIST FORMAT, 구문에 대한 자세한 내용을 보려면
값 및 기본값 .
여러 암호 문자열이 ':'으로 구분되어 제공될 수 있습니다. 몇 가지 간단한 암호 문자열:

3DES XNUMX중 DES가 포함된 암호 제품군을 사용합니다.

MD5 MD5와 함께 암호화 제품군을 사용합니다.

aNULL 인증 없이 암호 제품군을 사용합니다.

NULL 암호화를 사용하지 않습니다.

HIGH "높은" 암호화 기능을 갖춘 암호 제품군을 사용합니다. 피어는 다음을 지원해야 합니다.
속성을 선택하지 않으면 협상이 실패합니다.

방법=
사용할 프로토콜 버전을 설정합니다. 유효한 문자열(대소문자 구분 안 함)은 다음과 같습니다.

SSL2 SSL 프로토콜 버전 2를 선택합니다.

SSL3 SSL 프로토콜 버전 3를 선택합니다.

SSL23 사용 가능한 가장 적합한 SSL 또는 TLS 프로토콜을 선택하세요. 이 옵션이 기본값인 경우
제공되지 않습니다.

TLS1 TLS 프로토콜 버전 1을 선택합니다.

TLS1.1 TLS 프로토콜 버전 1.1을 선택합니다.

TLS1.2 TLS 프로토콜 버전 1.2을 선택합니다.

DTLS1 DTLS 프로토콜 버전 1을 선택합니다.

확인=
피어의 인증서 확인을 제어합니다. 기본값은 1(참)입니다. 확인 비활성화 중
모든 사람을 위해 소켓을 열어 암호화를 쓸모없게 만들 수 있습니다!

인증서=
인증을 위한 인증서와 개인 키가 포함된 파일을 지정합니다. 그만큼
인증서는 OpenSSL 형식(*.pem)이어야 합니다. openssl-listen을 사용하면 다음을 사용합니다.
옵션을 적극 권장합니다. 암호 aNULL을 제외하고 "공유 암호 없음" 오류
인증서가 제공되지 않으면 발생합니다.

키=
개인 키가 있는 파일을 지정합니다. 개인 키는 이 파일이나 다음 위치에 있을 수 있습니다.
cert 옵션으로 제공된 파일. 그 사실을 입증해야 하는 당사자
인증서 소유자에게는 개인 키가 필요합니다.

dhparams=
Diffie Hellman 매개변수를 사용하여 파일을 지정합니다. 이러한 매개변수는 다음과 같을 수도 있습니다.
dhparams 옵션이 아닌 경우 cert 옵션과 함께 제공된 파일에서
필요합니다.

카파일=
신뢰할 수 있는(루트) 기관 인증서가 있는 파일을 지정합니다. 파일은 다음과 같아야 합니다.
PEM 형식이며 하나 이상의 인증서를 포함해야 합니다. 확인하는 당사자
해당 피어의 인증은 이 파일에 있는 인증서만 신뢰합니다.

카패스=
신뢰할 수 있는(루트) 인증서가 있는 디렉터리를 지정합니다. 디렉터리는 다음과 같아야 합니다.
PEM 형식의 인증서와 해당 해시를 포함합니다(OpenSSL 설명서 참조).

예드=
일부 시스템에서는 openssl에 임의 데이터의 명시적인 소스가 필요합니다. 지정
egd와 같은 엔트로피 수집 데몬이 임의의 데이터를 제공하는 소켓 이름, 예:
/dev/egd-풀.

의사 openssl이 엔트로피 소스를 찾을 수 없고 엔트로피가 없는 시스템에서
수집 데몬을 활용할 수 있으며, 이 옵션은 다음을 제공하는 메커니즘을 활성화합니다.
의사 엔트로피. 이는 현재 시간을 마이크로초 단위로 취함으로써 달성됩니다.
libc 의사 난수 생성기에 초기값을 공급합니다. openssl은
그런 다음 무작위\() 호출의 출력을 제공합니다.
참고: 이 메커니즘은 보안 키 생성에 충분하지 않습니다!

압축
연결에 대한 압축 사용을 활성화하거나 비활성화합니다. 이것을 "없음"으로 설정
압축을 비활성화하고 "auto"로 설정하면 OpenSSL이 사용 가능한 최상의 압축을 선택할 수 있습니다.
양 당사자가 지원하는 알고리즘. 기본값은 아무것도 건드리지 않는 것입니다.
압축 관련 설정입니다. 참고: OpenSSL 0.9.8 이상이 필요하며 비활성화해야 합니다.
OpenSSL 0.9.8을 사용한 압축은 프로세스의 모든 새로운 연결에 영향을 미칩니다.

일반 이름=
피어 인증서가 일치해야 하는 일반 이름을 지정합니다. OPENSSL-CONNECT 사용
주소는 주어진 호스트 이름이나 IP 대상 주소를 재정의합니다. OPENSSL-LISTEN 사용
그러면 피어 인증서 일반 이름 확인이 활성화됩니다. 이 옵션에는 의미만 있습니다.
옵션 확인이 비활성화되지 않고 선택한 암호가 피어를 제공하는 경우
증명서.

픽스 컴파일된 경우 FIPS 모드를 활성화합니다. FIPS 암호화 구현에 대한 정보
표준 참조 http://oss-institute.org/fips-faq.html. 이 모드에는 다음이 필요할 수 있습니다.
관련 인증서는 FIPS 지원 버전의 openssl을 사용하여 생성됩니다.
하나의 socat 주소에서 이 옵션을 설정하거나 선택 취소하면 모든 OpenSSL 주소에 영향을 미칩니다.
이 과정의.

재시도 선택권 그룹

일부 시스템 호출, 특히 연결 시도의 재시도를 제어하는 ​​옵션입니다.

재시도=
연결 또는 수신 시도가 중단되기 전의 재시도 횟수입니다. 기본값은
0은 단 한 번의 시도를 의미합니다.

간격=
연속 시도 사이의 시간(초, [timespec])입니다. 기본값은 1초입니다.

영원히
재시도 횟수를 무제한으로 수행합니다.

TUN 선택권 그룹

Linux TUN/TAP 인터페이스 장치 주소를 제어하는 ​​옵션입니다.

튜닝 장치=
TUN 복제 장치에 대해 다른 경로를 선택하도록 socat에 지시합니다. 기본값은
/dev/net/tun.

툰 이름=
결과 네트워크 인터페이스에 시스템 대신 특정 이름을 지정합니다.
생성됨(tun0, tun1 등)

tun-type=[tun|탭]
TUN 장치의 유형을 설정합니다. TAP 장치를 생성하려면 이 옵션을 사용하십시오. 참조
이러한 유형 간의 차이점에 대한 Linux 문서입니다. 설립하려고 할 때
두 개의 TUN 장치 사이를 터널링하는 경우 해당 유형은 동일해야 합니다.

iff-no-pi
장치에 추가 패킷이 포함되어 있는지 제어하는 ​​IFF_NO_PI 플래그를 설정합니다.
터널의 정보. 두 TUN 사이에 터널을 설정하려고 할 때
장치의 경우 이러한 플래그는 동일한 값을 가져야 합니다.

불확실함 TUN 네트워크 인터페이스 상태를 UP으로 설정합니다. 권장.

iff 방송
TUN 네트워크 인터페이스의 BROADCAST 플래그를 설정합니다.

iff-디버그
TUN 네트워크 인터페이스의 DEBUG 플래그를 설정합니다.

iff-루프백
TUN 네트워크 인터페이스의 LOOPBACK 플래그를 설정합니다.

iff-pointopoint
TUN 장치의 POINTOPOINT 플래그를 설정합니다.

iff-notrailers
TUN 장치의 NOTTRAILERS 플래그를 설정합니다.

iff-running
TUN 장치의 RUNNING 플래그를 설정합니다.

iff-noarp
TUN 장치의 NOARP 플래그를 설정합니다.

불확실한
TUN 장치의 PROMISC 플래그를 설정합니다.

iff-allmulti
TUN 장치의 ALLMULTI 플래그를 설정합니다.

iff-마스터
TUN 장치의 MASTER 플래그를 설정합니다.

iff-슬레이브
TUN 장치의 SLAVE 플래그를 설정합니다.

iff-멀티캐스트
TUN 장치의 MULTICAST 플래그를 설정합니다.

iff-portsel
TUN 장치의 PORTSEL 플래그를 설정합니다.

iff-automedia
TUN 장치의 AUTOMEDIA 플래그를 설정합니다.

iff-동적
TUN 장치의 DYNAMIC 플래그를 설정합니다.

데이터 Values


이 섹션에서는 매개변수와 주소 옵션을 다루는 다양한 데이터 유형을 설명합니다.
가져가도 돼.

주소 범위
현재 IPv4 및 IPv6에 대해서만 구현됩니다. 주소 옵션 '범위'를 참조하세요.

부울 "0" 또는 "1"; 값을 생략하면 "1"이 사용됩니다.

byte 부호 없는 int 숫자, strtoul() 로 읽음, UCHAR_MAX 이하.

명령 줄
단일 공백으로 구분된 프로그램 이름과 해당 인수를 지정하는 문자열입니다.

data 다음과 같은 원시 데이터 사양 지사 통사론. 현재 유일하게 유효한 양식은
'x'로 시작하고 그 뒤에 짝수 개의 XNUMX진수가 오는 문자열,
바이트 시퀀스.

예배 규칙서
일반적인 UN*X 디렉터리 이름 의미를 갖는 문자열입니다.

시설
소문자로 된 syslog 기능의 이름입니다.

fdnum 부호 없는 int 유형, UN*X 파일 설명자를 지정하여 strtoul() 로 읽습니다.

파일 이름
일반적인 UN*X 파일 이름 의미를 갖는 문자열입니다.

group 첫 번째 문자가 십진수이면 strtoul()을 사용하여 값을 읽습니다.
그룹 ID를 지정하는 부호 없는 정수입니다. 그렇지 않으면 기존 그룹이어야 합니다.
이름입니다.

int "0"을 밑으로 하는 strtol() 함수의 규칙을 따르는 숫자, 즉 XNUMX진수
숫자, 앞에 "0"이 있는 0진수 또는 앞에 "XNUMXx"가 있는 XNUMX진수입니다. 그만큼
값은 C int에 맞아야 합니다.

인터페이스
ifconfig 또는에 의해 표시된 네트워크 인터페이스의 장치 이름을 지정하는 문자열
프로칸(예: "eth0").

IP 주소
숫자와 점 표기법의 IPv4 주소, 6진수 표기법의 IPvXNUMX 주소
대괄호로 묶인 이름이거나 IPv4 또는 IPv6 주소로 확인되는 호스트 이름입니다.
예: 127.0.0.1, [::1], www.dest-unreach.org, dns1

IPv4 주소
숫자와 점 표기법의 IPv4 주소 또는 IPv4로 확인되는 호스트 이름
주소.
예: 127.0.0.1, www.dest-unreach.org, dns2

IPv6 주소
대괄호로 묶인 6진수 및 콜론 표기법의 iPvXNUMX 주소 또는
IPv6 주소로 확인되는 호스트 이름입니다.
Examples: [::1], [1234:5678:9abc:def0:1234:5678:9abc:def0], ip6name.domain.org

long strtol() 로 읽은 숫자입니다. 값은 C 길이에 맞아야 합니다.

오래 오래
strtoll() 로 읽은 숫자입니다. 값은 C long long에 맞아야 합니다.

off_t 구현에 종속된 부호 있는 숫자(보통 32비트)로 strtol 또는
strtoll.

꺼짐64_t
구현 종속 부호 있는 숫자(일반적으로 64비트)는 strtol 또는
strtoll.

mode_t 부호 없는 정수, strtoul() 로 읽고 모드(권한) 비트를 지정합니다.

pid_t 프로세스 ID를 지정하여 strtol()로 읽은 숫자입니다.

포트 A uint16_t(16비트 부호 없는 숫자) TCP 또는 UDP 포트를 지정하고 다음으로 읽습니다.
strtoul() .

프로토콜
부호 없는 8비트 숫자, strtoul() 로 읽습니다.

size_t size_t 제한이 있는 부호 없는 숫자, strtoul 로 읽습니다.

양말 이름
소켓 주소. 주소 옵션 `바인드'를 참조하세요.

string '\0'을 포함하지 않는 일련의 문자이며 내부 위치에 따라 다릅니다.
명령줄, ':', ',' 또는 "!!" 쉘 메타를 탈출해야 할 수도 있습니다.
명령줄의 문자.

TCP 서비스
숫자로 시작하지 않고 getservbyname() 으로 확인되는 서비스 이름, 또는
strtoul() 로 읽은 부호 없는 int 16비트 숫자입니다.

타임밸
초를 지정하는 이중 부동소수점입니다. 숫자는 구조체 timeval에 매핑됩니다.
초와 마이크로초로 구성됩니다.

시간 스펙
초를 지정하는 이중 부동소수점입니다. 숫자는 구조체 timespec에 매핑됩니다.
초와 나노초로 구성됩니다.

UDP 서비스
숫자로 시작하지 않고 getservbyname() 으로 확인되는 서비스 이름, 또는
strtoul() 로 읽은 부호 없는 int 16비트 숫자입니다.

서명되지 않은 정수
strtoul() 로 읽은 숫자입니다. 값은 C unsigned int에 맞아야 합니다.

user 첫 번째 문자가 십진수이면 strtoul()을 사용하여 값을 읽습니다.
사용자 ID를 지정하는 부호 없는 정수입니다. 그렇지 않으면 기존 사용자 이름이어야 합니다.

사용 예


소캣 - TCP4:www.domain.org:80

STDIO(-)와 호스트의 포트 4에 대한 TCP80 연결 간에 데이터를 전송합니다.
www.domain.org. 이 예에서는 텔넷과 유사한 대화형 연결이 생성됩니다.
아니면 넷캣. stdin 터미널 매개변수는 변경되지 않으므로 닫아도 됩니다.
^D로 중계하거나 ^C로 중단합니다.

소캣 -d -d READLINE,역사=$HOME/.http_history
TCP4:www.domain.org:www,crnl

이는 이전 예와 유사하지만 다음과 같이 현재 줄을 편집할 수 있습니다.
Bash 방식(READLINE)을 사용하고 기록 파일 .http_history를 사용합니다. 소캣 인쇄물
진행 상황에 대한 메시지(-d -d) 포트는 서비스 이름(www)으로 지정되며,
NL 대신 올바른 네트워크 회선 종료 문자(crnl)가 사용됩니다.

소캣 TCP4-듣기:www TCP4:www.domain.org:www

간단한 TCP 포트 전달자를 설치합니다. TCP4-LISTEN을 사용하면 로컬 포트에서 수신 대기합니다.
연결이 들어올 때까지 "www"를 입력하고 이를 수락한 다음 원격 호스트에 연결합니다.
(TCP4) 데이터 전송을 시작합니다. 두 번째 연결은 허용되지 않습니다.

소캣 -d -d -lmlocal2
TCP4-LISTEN:80,bind=myaddr1,reuseaddr,fork,su=nobody,range=10.0.0.0/8
TCP4:www.domain.org:80,bind=myaddr2

TCP 포트 전달자, 각 측면이 다른 로컬 IP 주소에 바인딩(바인딩)됩니다. 이것
예제는 거의 임의의 개수의 병렬 또는 연속 연결을 처리합니다.
각 accept() 후에 새 프로세스를 분기하여 수행합니다. 약간의 보안을 제공합니다.
포크한 후 사용자 none에게 su'ing; 개인 연결만 허용합니다.
10 네트워크(범위); Reuseaddr로 인해 마스터 이후 즉시 재시작이 가능합니다.
일부 하위 소켓이 완전히 종료되지 않은 경우에도 프로세스가 종료됩니다.
-lmlocal2를 사용하면 socat는 승인 루프에 성공적으로 도달할 때까지 stderr에 기록합니다.
추가 로깅은 local2 시설을 사용하여 syslog로 전달됩니다.

소캣 TCP4-LISTEN:5555,포크,tcpwrap=스크립트
EXEC:/bin/myscript,chroot=/home/sandbox,su-d=sandbox,pty,stderr

연결(TCP4-LISTEN)을 받아들이고 포크는 새로운 자식인 간단한 서버입니다.
각 연결에 대한 프로세스; 모든 어린이는 단일 릴레이 역할을 합니다. 클라이언트는 반드시
데몬 프로세스 이름 "script"에 대한 규칙을 일치시킵니다. /etc/hosts.allow
/etc/hosts.deny그렇지 않으면 액세스가 거부됩니다("man 5 호스트_액세스" 참조). 을 위한
프로그램을 실행하면 하위 프로세스 chroot가 /홈/샌드박스, su는 사용자에게
샌드박스를 실행한 다음 프로그램을 시작합니다. /홈/샌드박스/bin/myscript. 소캣 그리고 myscript
의사 tty(pty)를 통해 통신합니다. myscript의 stderr은 stdout으로 리디렉션되므로
오류 메시지는 다음을 통해 전송됩니다. 소캣 연결된 클라이언트에.

소캣 EXEC:"mail.sh target@domain.com",fdin=3,fdout=4
TCP4:mail.relay.org:25,crnl,bind=alias1.server.org,mss=512

메일.sh 다음과 같이 배포되는 쉘 스크립트입니다. 소캣, 간단한 SMTP를 구현합니다.
고객. FD 3(입력)과 4(출력)에서 SMTP를 "말"하도록 프로그래밍되어 있습니다. fdin
그리고 fdout 옵션은 소캣 프로그램과의 통신을 위해 이러한 FD를 사용합니다.
mail.sh는 stdin과 stdout을 상속받기 때문에 소캣 그것들을 사용하지 않습니다. 스크립트
stdin에서 메일 본문을 읽을 수 있습니다. 소캣 alias1을 로컬 소스 주소로 설정
(바인드), 올바른 네트워크 회선 종료(crnl)를 관리하고 최대 512개를 보냅니다.
패킷당 데이터 바이트(mss)입니다.

소캣 -,탈출=0x0f /dev/ttyS0,원시,crnl

예를 들어 모뎀과의 통신을 위해 직렬 회선을 통해 대화형 연결을 엽니다.
rawer는 콘솔과 ttyS0의 터미널 매개변수를 실행 가능한 값으로 설정합니다.
crnl은 올바른 개행 문자로 변환됩니다. escape를 사용하면 socat을 종료할 수 있습니다.
문자 컨트롤-O로 처리합니다.

소캣 UNIX-LISTEN:/tmp/.X11-unix/X1,fork
SOCKS4:host.victim.org:127.0.0.1:6000,socksuser=nobody,sourceport=20

UNIX-LISTEN을 사용하면 소캣 수신 대기 UNIX 도메인 소켓을 엽니다. /tmp/.X11-unix/X1.
이 경로는 컴퓨터의 로컬 XWindow 디스플레이:1에 해당하므로 XWindow
DISPLAY=:1에 대한 클라이언트 연결이 허용됩니다. 소캣 그런 다음 SOCKS4와 대화합니다.
sourceport 20 기반 연결을 허용할 수 있는 서버 호스트.victim.org
고정 IP 필터의 FTP 관련 약점. 소캣 에 의해 호출되는 척
양말 사용자는 아무도 없으며 루프백 포트 6000에 연결하도록 요청합니다(약한 포트만
sockd 구성이 이를 허용합니다). 그래서 피해자들과 연결이 됩니다
XWindow 서버 및 MIT 쿠키나 Kerberos 인증이 필요하지 않은 경우
우리는 일을 시작할 수 있습니다. 한 번에 하나의 연결만 가능하다는 점을 참고하세요.
왜냐하면 TCP는 주어진 주소와 포트 세트로 하나의 세션만 설정할 수 있기 때문입니다.

소캣 -u /tmp/readdata,탐색-끝=0,무시 -

이는 단방향 데이터 전송(-u)의 예입니다. 소캣 다음에서 데이터를 전송합니다.
파일 /tmp/readdata(암시적 주소 GOPEN), 현재 끝에서 시작
(탐색 끝=0하자 소캣 파일의 현재 끝에서 읽기를 시작합니다. 탐색=0을 사용하거나 탐색하지 않음
기존 데이터를 먼저 읽는 옵션) "tail -f" 모드(ignoreeof)와 같습니다. 그만큼
"file"은 수신 UNIX 도메인 소켓일 수도 있습니다(검색 옵션을 사용하지 마십시오).
그때).

(잠 5; 에코 비밀번호; 5; 에코 이; 1) |
소캣 - EXEC:'ssh -l 사용자 서버',pty,setsid,ctty

EXEC'ssh 세션을 서버로 보냅니다. 사이의 통신을 위해 pty를 사용합니다. 소캣
ssh, ssh가 tty(ctty)를 제어하도록 만들고 이 pty를 새 항목의 소유자로 만듭니다.
프로세스 그룹(setsid)이므로 ssh는 소캣.

소캣 -u TCP4-LISTEN:3334,재사용주소,포크
OPEN:/tmp/in.log,생성,추가

간단한 네트워크 기반 메시지 수집기를 구현합니다. 연결하는 각 클라이언트에 대해
포트 3334를 사용하면 새로운 하위 프로세스가 생성됩니다(옵션 포크). 에서 보낸 모든 데이터는
클라이언트는 /tmp/in.log 파일에 추가됩니다. 파일이 존재하지 않으면 socat
창조해. Reuseaddr 옵션을 사용하면 서버 프로세스를 즉시 다시 시작할 수 있습니다.

소캣 PTY,link=$HOME/dev/vmodem0,rawer,wait-slave
EXEC:"ssh 모뎀서버.us.org 소캣 - /dev/ttyS0,비차단,원시"

클라이언트에서 PTY(의사 터미널 장치)를 생성합니다.
심볼릭 링크 $HOME/dev/vmodem0. 직렬 회선 또는
모뎀을 사용하도록 구성할 수 있습니다. $HOME/dev/vmodem0; 트래픽은 다음으로 전달됩니다.
다른 socat 인스턴스가 연결되는 ssh를 통한 모뎀 서버 /dev/ttyS0.

소캣 TCP4-LISTEN:2022,재사용주소,포크
프록시:프록시:www.domain.org:22,프록시포트=3128,프록시인증=사용자:패스

포트 2022에서 연결을 수락하는 전달자를 시작하고 포트 XNUMX를 통해 연결합니다.
호스트 프록시의 포트 3128(프록시포트)에서 수신 대기하는 프록시 데몬
"pass"(proxyauth)를 사용하여 "사용자"로 인증되는 CONNECT 방법입니다. 그만큼
그러면 프록시는 포트 22에서 www.domain.org를 호스트하기 위한 연결을 설정해야 합니다.

소캣 - OPENSSL:서버:4443,cafile=server.crt,cert=client.pem

SSL 서버에 대한 보안 연결을 설정하려고 시도하는 OpenSSL 클라이언트입니다.
옵션 cafile은 신뢰 인증서가 포함된 파일을 지정합니다.
서버가 이러한 인증서 중 하나를 제시하고 해당 서버를 소유하고 있음을 증명하는 경우에만
관련 개인 키. 그렇지 않으면 연결이 종료됩니다. 인증서를 사용하여 파일
클라이언트 인증서 및 관련 개인 키를 포함하는 것이 지정됩니다. 이것
서버가 클라이언트 인증을 원하는 경우에 필요합니다. 많은 인터넷
서버는 그렇지 않습니다.
첫 번째 주소('-')는 거의 모든 다른 socat 주소로 대체될 수 있습니다.

소캣 OPENSSL-LISTEN:4443,reuseaddr,pf=ip4,fork,cert=server.pem,cafile=client.crt 파이프

TCP 연결을 허용하고 다음에서 인증서를 제공하는 OpenSSL 서버입니다.
server.pem 파일을 삭제하고 클라이언트가 확인된 인증서를 제시하도록 강제합니다.
cafile.crt에 대해.
두 번째 주소('PIPE')는 거의 모든 다른 socat 주소로 대체될 수 있습니다.
OpenSSL 키와 인증서 생성 및 배포에 대한 지침은 다음을 참조하세요.
추가 socat 문서 socat-openssl.txt.

에코 |소캣 -u - 파일:/tmp/bigfile,생성,대형 파일,탐색=100000000000

100GB의 스파스 파일을 생성합니다. 이를 지원하는 파일 시스템 유형이 필요합니다.
(ext2, ext3, reiserfs, jfs; minix, vfat 아님). 1바이트를 쓰는 작업은
시간이 오래 걸리며(reiserfs: 몇 분, ext2: "없음" 시간) 결과 파일은
inode만으로 일부 디스크 공간을 소비합니다(reiserfs: 2MB, ext2: 16KB).

소캣 tcp-l:7777,재사용주소,포크 시스템:'필란 -i 0 -s >&2',노포크

포트 7777에서 들어오는 TCP 연결을 수신합니다. 허용된 각 연결에 대해
쉘을 호출합니다. 이 쉘에는 TCP에 직접 연결된 stdin 및 stdout이 있습니다.
소켓(노포크). 쉘은 filan을 시작하고 소켓 주소를 인쇄하도록 합니다.
stderr (터미널 창).

에코 - 엔 "\0\14\0\0\c" |소캣 -u - 파일:/usr/bin/squid.exe,seek=0x00074420

기본 바이너리 편집기 기능: 4바이트 000 014 000 000을
실행 가능한 /usr/bin/squid 오프셋 0x00074420(이것은 실제 패치입니다.
Cygwin의 오징어 실행 파일은 Windows에서 실행되며 실제 2004년 XNUMX월 기준입니다.

소캣 - tcp:www.blackhat.org:31337,readbytes=1000

알 수 없는 서비스에 접속하여 침수를 방지합니다.

소캣 -U TCP:대상:9999,끝-닫기 TCP-L:8888,재사용주소,포크

포트 8888의 다른 TCP 스트림에서 도착하는 데이터를 하나의 스트림으로 병합하여
목표:9999. 종료-닫기 옵션은 하위 프로세스가 분기되는 것을 방지합니다.
공유 연결을 종료하는 두 번째 주소는 9999(close\(2) just
상위 프로세스가 지속되는 동안 활성 상태를 유지하는 inode의 연결을 해제합니다.
shutdown\(2)은 연결을 적극적으로 종료합니다.

소캣 - UDP4-DATAGRAM:192.168.1.0:123,sp=123,broadcast,range=192.168.1.0/24

192.168.1.0/24 네트워크로 브로드캐스트를 보내고 응답을 받습니다.
거기에 타임서버가 있어요. 이 네트워크 외부 호스트의 NTP 패킷을 무시합니다.

소캣 - SOCKET-DATAGRAM:2:2:17:x007bxc0a80100x0000000000000000,b‐
ind=x007bx00000000x0000000000000000,setsockopt-int=1:6:1,r‐
ange=x0000xc0a80100x0000000000000000:x0000xffffff00x0000000000000000

의미상 이전 예와 동일하지만 모든 매개변수는
일반적인 형식으로 지정됩니다. setockopt-int의 값 6은 Linux 값입니다.
SO_BROADCAST.

소캣 - IP4-DATAGRAM:255.255.255.255:44,broadcast,range=10.0.0.0/8

프로토콜 44를 사용하여 로컬 네트워크에 브로드캐스트를 보냅니다.
개인 주소 범위만.

소캣 - UDP4-DATAGRAM:224.255.0.1:6666,bind=:6666,ip-add-membership=224.255.0.1:eth0

UDP를 사용하여 stdin에서 지정된 멀티캐스트 주소로 데이터를 전송합니다. 둘 다 현지
원격 포트는 6666입니다. 인터페이스 eth0에 멀티캐스트도 허용하도록 지시합니다.
주어진 그룹의 패킷. 로컬 네트워크의 여러 호스트에서 이를 실행할 수 있습니다.
명령을 실행하면 호스트 중 하나에서 보낸 모든 데이터가 다른 모든 호스트에서 수신됩니다.
것들. IP 필터,
라우팅 문제, 운영 체제, 브리지 또는
스위치가 잘못 구성되었습니다.

소캣 TCP:호스트2:4443 TUN:192.168.255.1/24,위로

호스트2를 사용하여 가상(개인은 아님!) 네트워크의 한쪽을 설정합니다.
UDP-L 및 tun 주소 192.168.255.2를 사용하여 유사한 프로세스가 실행될 수 있습니다. 그들은 도달할 수 있습니다
주소 192.168.255.1 및 192.168.255.2를 사용하여 서로. 스트리밍 참고하세요
예. TCP 또는 SSL을 통한 전송은 패킷 경계 유지를 보장하지 않으므로
패킷 손실을 유발합니다.

소캣 PTY,링크=/var/run/ppp,rawer 인터페이스:hdlc0

pppd에 직렬 장치가 필요하므로 직렬 장치가 필요하지 않을 수 있는 문제를 회피합니다.
네트워크 장치로 표시되는 동기 회선에서 작업할 수 있습니다. 소캣
pppd를 만족시키기 위해 PTY를 생성하고 네트워크 인터페이스 hdlc0에 바인딩하며 다음을 수행할 수 있습니다.
두 장치 간에 데이터를 전송합니다. 그런 다음 /var/run/ppp 장치에서 pppd를 사용하십시오.

소캣 -T 1 -d -d TCP-L:10081,재사용주소,포크,crlf 시스템:"에코 -e \"\\\"HTTP/1.0 200
확인\\\n문서 유형: text/plain\\\n\\\n날짜:
\$\(날짜\)\\\n서버:\$SOCAT_SOCKADDR:\$SOCAT_SOCKPORT\\\n클라이언트:
\$SOCAT_PEERADDR:\$SOCAT_PEERPORT\\n\\\"\"; 고양이; 에코 -e \"\\\"\\\N\\\"\""

간단한 HTTP 에코 서버를 생성합니다. 연결하는 각 HTTP 클라이언트는 유효한 HTTP를 얻습니다.
클라이언트 주소와 포트에 대한 정보가 포함된 응답
서버 호스트, 호스트 주소(멀티홈 서버에 따라 다를 수 있음) 및
원래 클라이언트 요청.

소캣 -d -d
UDP4-RECVFROM:9999, so-broadcast, so-timestamp, ip-pktinfo, ip-recverr, ip-recvopts, ip-recvtos, ip-recvttl!!-
시스템:'내보내기; 1 ' |그렙 소캣

포트 9999에서 들어오는 UDP 패킷을 기다리고 환경 변수를 인쇄합니다.
socat에서 제공합니다. BSD 기반 시스템에서는 ip-pktinfo를 다음으로 바꿔야 합니다.
ip-recvdstaddr, ip-recvif. 특히 흥미로운 것은 SOCAT_IP_DSTADDR입니다.
유니캐스트, 멀티캐스트 또는 브로드캐스트일 수 있는 패킷의 대상 주소
주소.

진단


소캣 심각도별로 메시지를 필터링할 수 있는 로깅 메커니즘을 사용합니다. 심각도
제공된 syslog 우선순위와 어느 정도 호환됩니다. 하나 또는 최대
-d 명령줄 옵션이 XNUMX회 발생합니다. 즉, 메시지의 우선순위가 가장 낮습니다.
발급을 선택할 수 있습니다. 각 메시지에는 다음을 지정하는 단일 대문자가 포함되어 있습니다.
메시지 심각도(F, E, W, N, I 또는 D 중 하나)

치명적: 무조건적이고 즉각적인 프로그램 종료가 필요한 조건입니다.

오류: 적절한 프로그램 처리를 방해하는 조건입니다. 일반적으로 프로그램은
종료되었습니다(옵션 -s 참조).

경고 :
뭔가가 제대로 작동하지 않거나 추가로 수정해야 할 상태에 있습니다.
처리가 보장될 수는 없지만 가능할 수도 있습니다.

주의 사항 :
프로그램의 흥미로운 활동(예: 감독) 소캣 어떤 종류의
서버 모드.

정보: 프로그램이 수행하는 작업에 대한 설명과 해당 프로그램이 발생하는 이유에 대한 설명입니다. 모니터링 가능
파일 설명자의 수명주기.

DEBUG: 프로그램 작동 방식, 모든 시스템 또는 라이브러리 호출 및 그 내용에 대한 설명
결과.

로그 메시지는 stderr, 파일 또는 syslog에 기록될 수 있습니다.

출구에서, 소캣 EOF 또는 비활성 시간 초과로 인해 종료된 경우 상태 0을 제공합니다.
오류가 있는 경우 양수 값을 가지며 치명적인 오류가 있는 경우 음수 값을 갖습니다.

onworks.net 서비스를 사용하여 온라인으로 filan을 사용하세요.



최신 Linux 및 Windows 온라인 프로그램