Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

filan — online w chmurze

Uruchom filan w darmowym dostawcy hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

Jest to polecenie filan, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z wielu naszych bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


socat - Przekaźnik uniwersalny (Socket CAT)

STRESZCZENIE


socat [opcje]
socat -V
socat -h[h[h]] | -?[?[?]]
bla bla
prokan

OPIS


Socat to narzędzie oparte na wierszu poleceń, które ustanawia dwa dwukierunkowe strumienie bajtów i
przekazuje dane między nimi. Ponieważ strumienie mogą być budowane z dużego zestawu
różne rodzaje ujścia danych i źródeł (patrz typy adresów), a ponieważ wiele adresów
opcje mogą być stosowane do strumieni, socat może być używany do wielu różnych celów.

Bla to narzędzie, które drukuje informacje o swoich aktywnych deskryptorach plików na standardowe wyjście. To
został napisany do debugowania sok, ale może być również przydatny do innych celów. Użyj
-h opcja, aby znaleźć więcej informacji.

Prokan to narzędzie, które drukuje informacje o parametrach procesu na standardowe wyjście. To ma
został napisany, aby lepiej zrozumieć niektóre właściwości procesów systemu UNIX i do debugowania sok,
ale może być również przydatny do innych celów.

Cykl życia sok instancja zazwyczaj składa się z czterech faz.

W startowych w fazie, opcje wiersza poleceń są analizowane i inicjowane jest rejestrowanie.

Podczas koncepcja faza, sok otwiera pierwszy adres, a następnie drugi adres.
Te kroki są zwykle blokujące; dlatego szczególnie w przypadku złożonych typów adresów, takich jak skarpetki,
żądania połączenia lub okna dialogowe uwierzytelniania muszą zostać zakończone przed następnym krokiem
zaczęło się.

W przenieść faza, sok obserwuje odczytywanie i zapisywanie deskryptorów plików obu strumieni poprzez
select() , a gdy dane są dostępne po jednej stronie i można zapisać na drugą stronę,
socat odczytuje go, w razie potrzeby przeprowadza konwersję znaków nowego wiersza i zapisuje dane do
deskryptor pliku zapisu drugiego strumienia, a następnie kontynuuje oczekiwanie na więcej danych w
oba kierunki.

Kiedy jeden ze strumieni skutecznie dociera do EOF, zamknięcie rozpoczyna się faza. Socat transfery
warunek EOF do drugiego strumienia, tj. próbuje zamknąć tylko jego strumień zapisu,
dając mu szansę na wdzięczne zakończenie. Przez określony czas sok kontynuuje transfer
dane w innym kierunku, ale następnie zamyka wszystkie pozostałe kanały i kończy.

OPCJE


Socat udostępnia kilka opcji wiersza poleceń, które modyfikują zachowanie programu. Oni
nie mają nic wspólnego z tak zwanymi opcjami adresu, które są używane jako części adresu
specyfikacje.

-V Wydrukuj wersję i informacje o dostępnych funkcjach na standardowe wyjście i wyjdź.

-h | -?
Wydrukuj tekst pomocy na standardowe wyjście, opisujący opcje wiersza poleceń i dostępny adres
typy i wyjdź.

-hh | - ??
Jak -h, plus lista krótkich nazw wszystkich dostępnych opcji adresu. Niektóre
opcje są zależne od platformy, więc te dane wyjściowe są pomocne przy sprawdzaniu
konkretne wdrożenie.

-hhh | - ???
Jak -hh, plus lista wszystkich dostępnych nazw opcji adresu.

-d Bez tej opcji generowane są tylko komunikaty krytyczne i komunikaty o błędach; stosując to
opcja drukuje również komunikaty ostrzegawcze. Zobacz DIAGNOSTYKA, aby uzyskać więcej informacji.

-d -d Drukuje komunikaty krytyczne, o błędach, ostrzeżenia i powiadomienia.

-d -d -d
Drukuje komunikaty krytyczne, o błędach, ostrzeżenia, powiadomienia i informacje.

-d -d -d -d
Drukuje komunikaty krytyczne, o błędach, ostrzeżenia, informacje, informacje i debugowania.

-D Rejestruje informacje o deskryptorach plików przed rozpoczęciem fazy przesyłania.

-ly[ ]
Zapisuje komunikaty w syslog zamiast na stderr; ważność zdefiniowana opcją -d.
Z opcjonalnym , można wybrać typ dziennika systemowego, domyślnie "daemon".
Biblioteki innych firm mogą nie przestrzegać tej opcji.

-lf
Pisze wiadomości do [nazwa pliku] zamiast stderr. Niektóre osoby trzecie
biblioteki, w szczególności libwrap, mogą nie przestrzegać tej opcji.

-ls Zapisuje wiadomości na stderr (jest to ustawienie domyślne). Niektóre biblioteki innych firm mogą:
nie stosuj się do tej opcji, w szczególności libwrap wydaje się logować tylko do sysloga.

-lp
Zastępuje nazwę programu wydrukowaną w komunikatach o błędach i używaną do konstruowania
nazwy zmiennych środowiskowych.

-lu Rozszerza sygnaturę czasową komunikatów o błędach do rozdzielczości mikrosekund. Nie działa
podczas logowania do sysloga.

-lm[ ]
Mieszany tryb dziennika. Podczas uruchamiania komunikaty są wypisywane na stderr; Kiedy sok rozpocznie
pętla fazy transferu lub tryb demona (tj. po otwarciu wszystkich strumieni i przed
rozpoczęcie przesyłania danych lub, w przypadku gniazd nasłuchowych z opcją fork, przed
najpierw zaakceptuj połączenie), przełącza logowanie na syslog. Z opcjonalnym , ten
Można wybrać typ sysloga, domyślnie "daemon".

-lh Dodaje nazwę hosta do komunikatów dziennika. Używa wartości ze zmiennej środowiskowej HOSTNAME lub
wartość pobrana za pomocą uname(), jeśli HOSTNAME nie jest ustawiona.

-v Zapisuje przesyłane dane nie tylko do strumieni docelowych, ale także do stderr.
Format wyjściowy to tekst z pewnymi konwersjami zapewniającymi czytelność i poprzedzony
"> " lub "< " wskazujące kierunki przepływu.

-x Zapisuje przesyłane dane nie tylko do strumieni docelowych, ale także do stderr.
Format wyjściowy jest szesnastkowy, poprzedzony "> " lub "< " wskazujący przepływ
wskazówki. Można łączyć z -v .

-b
Ustawia blokadę przesyłania danych [rozmiar_t]. Najbardziej bajty są przesyłane
na krok. Wartość domyślna to 8192 bajty.

-s Domyślnie sok kończy się, gdy wystąpi błąd, aby uniemożliwić proces
uruchomiony, gdy nie można zastosować jakiejś opcji. Dzięki tej opcji sok jest niechlujny
z błędami i próbuje kontynuować. Nawet z tą opcją socat wyjdzie włączony
fatals i przerywa próby połączenia, gdy testy bezpieczeństwa nie powiodły się.

-T
Gdy jeden kanał osiągnie EOF, część zapisująca drugiego kanału zostaje zamknięta.
Następnie, sok czeka! [czas] sekundy przed zakończeniem. Wartość domyślna to 0.5
sekundy. Ten limit czasu dotyczy tylko adresów, na których można zapisać i odczytać część
zamknięte niezależnie. Gdy w czasie przerwy odczytywana część daje EOF,
socat kończy działanie bez oczekiwania na limit czasu.

-T
Całkowity limit czasu bezczynności: gdy socat jest już w pętli transferu i nic
wydarzyło się przez [czas] sekundy (brak danych, brak przerwania)
wystąpił...), a następnie kończy się. Przydatne w przypadku protokołów takich jak UDP, które nie mogą
przenieść EOF.

-u Używa trybu jednokierunkowego. Pierwszy adres służy tylko do czytania, a
drugi adres służy tylko do pisania (przykład).

-U Używa trybu jednokierunkowego w odwrotnym kierunku. Pierwszy adres jest używany tylko do
pisanie, a drugi adres służy tylko do czytania.

-g Podczas parsowania opcji adresu nie sprawdzaj, czy opcja jest uważana za przydatną w
podane środowisko adresowe. Użyj go, jeśli chcesz wymusić np. urządzenie
opcja gniazda do urządzenia szeregowego.

-L
Jeśli plik blokady istnieje, kończy pracę z błędem. Jeśli plik blokady nie istnieje, tworzy go i
kontynuuje, odłącza plik blokujący przy wyjściu.

-W
Jeśli plik blokujący istnieje, czeka, aż zniknie. Gdy plik blokady nie istnieje,
tworzy go i kontynuuje, odłącza plik blokujący przy wyjściu.

-4 Użyj IP w wersji 4 w przypadku, gdy adresy nie określają w sposób dorozumiany lub jawny
wersja; to jest ustawienie domyślne.

-6 Użyj IP w wersji 6 w przypadku, gdy adresy nie określają w sposób dorozumiany lub jawny
wersja.

ADRES DANE TECHNICZNE


Za pomocą argumentów wiersza poleceń adresu użytkownik podaje sok instrukcje i
informacje niezbędne do ustanowienia strumieni bajtów.

Specyfikacja adresu zwykle składa się ze słowa kluczowego typu adresu, zero lub więcej
wymagane parametry adresu oddzielone znakiem ':' od słowa kluczowego i od siebie oraz
zero lub więcej opcji adresu oddzielonych ','.

Słowo kluczowe określa typ adresu (np. TCP4, OPEN, EXEC). Dla niektórych słów kluczowych tam
istnieją synonimy ('-' dla STDIO, TCP dla TCP4). W słowach kluczowych wielkość liter nie jest rozróżniana. Dla kilku
specjalne typy adresów, słowo kluczowe może zostać pominięte: Specyfikacje adresów zaczynające się od a
przyjmuje się, że liczba to adresy FD (surowy deskryptor pliku); jeśli „/” zostanie znaleziony przed
pierwszy ':' lub ',', GOPEN (otwarty plik ogólny).

Wymagana liczba i rodzaj parametrów adresu zależy od typu adresu. Np. TCP4
wymaga specyfikacji serwera (nazwa lub adres) oraz specyfikacji portu (liczba lub
Nazwa serwisu).

Z każdym adresem można podać zero lub więcej opcji adresu. Wpływają na adres w
kilka sposobów. Opcje składają się ze słowa kluczowego opcji lub słowa kluczowego opcji i wartości,
oddzielone '='. W słowach kluczowych opcji nie jest rozróżniana wielkość liter. Do filtrowania opcji, które
są przydatne z typem adresu, każda opcja jest członkiem jednej grupy opcji. Dla każdego
typ adresu dozwolony jest zestaw grup opcji. Tylko opcje należące do jednego z
te grupy adresów mogą być używane (z wyjątkiem opcji -g).

Specyfikacje adresów zgodne z powyższym schematem są również nazywane pojedynczy adres
specyfikacje. Dwa pojedyncze adresy można połączyć za pomocą „!!” uformować podwójny rodzaj
adres dla jednego kanału. Tutaj pierwszy adres jest używany przez sok do odczytu danych i
drugi adres do zapisu danych. Nie ma możliwości określenia opcji tylko raz dla
stosowane do obu pojedynczych adresów.

Zazwyczaj adresy otwierane są w trybie odczytu/zapisu. Gdy adres jest częścią liczby podwójnej
specyfikacja adresu lub gdy użyto opcji -u lub -U, adres może być użyty tylko dla
do czytania lub do pisania. Biorąc to pod uwagę, jest to ważne w przypadku niektórych typów adresów.

W przypadku socat w wersji 1.5.0 i nowszych analiza leksykalna stara się obsługiwać cudzysłowy i
nawiasy sensowne i umożliwiają uniknięcie znaków specjalnych. Jeśli jeden z
znaków ( znaleziono { [ ', odpowiedni znak zamykający - ) } ] ' - jest szukany
dla; mogą być również zagnieżdżone. W ramach tych konstrukcji socats znaki specjalne i
ciągi : , !! nie są traktowane specjalnie. Wszystkie te znaki i ciągi można zmienić
z \ lub w ""

ADRES TYPY


W tej sekcji opisano dostępne typy adresów wraz z ich słowami kluczowymi, parametrami i
semantyka.

STWÓRZ:
Otwiera się z creat() i używa deskryptora pliku do pisania. Ten
typ adresu wymaga kontekstu tylko do zapisu, ponieważ plik otwarty za pomocą creat nie może
być odczytywany.
Nie można zastosować flag takich jak O_LARGEFILE. Jeśli ich potrzebujesz, użyj opcji OPEN z opcjami
tworzyć, tworzyć.
musi być prawidłową istniejącą lub nieistniejącą ścieżką. Jeśli jest nazwanym
potok, creat() może blokować; Jeśli odnosi się do gniazda, to jest błąd.
Grupy opcji: FD,REG,NAMED
Przydatne opcje: tryb, użytkownik, grupa, wczesne odłączanie, późne odłączanie, dołączanie
Zobacz też: OTWARTE, GOPEN

WYKON:
Rozwidla proces podrzędny, który nawiązuje komunikację z procesem nadrzędnym i
wywołuje określony program za pomocą execvp() . to proste polecenie
z argumentami oddzielonymi pojedynczymi spacjami. Jeśli nazwa programu zawiera '/',
część po ostatnim „/” jest przyjmowana jako ARGV[0]. Jeśli nazwa programu jest krewna
path, stosowana jest semantyka execvp() służąca do znajdowania programu poprzez $PATH. Później
udany start programu, sok zapisuje dane na standardowe wejście procesu i odczytuje z
jego standardowe wyjście za pomocą gniazda domeny UNIX generowanego domyślnie przez socketpair().
(przykład)
Grupy opcji: FD,SOCKET,EXEC,FORK,TERMIOS
Przydatne opcje: ścieżka, fdin, fdout, chroot, su, su-d, nofork, pty, stderr, ctty,
setsid, potoki, logowanie, sigint, sigquit
Zobacz też: SYSTEM

Rada Nadzorcza:
Używa deskryptora pliku . Musi już istnieć jako poprawny plik UN*X
deskryptor.
Grupy opcji: FD (TERMIOS,REG,GNIAZDO)
Zobacz też: STDIO, STDIN, STDOUT, STDERR

OTWÓRZ:
(Ogólne otwarte) Ten typ adresu próbuje obsłużyć dowolny wpis systemu plików z wyjątkiem
katalogi przydatne. może być ścieżką względną lub bezwzględną. Jeśli już
istnieje, sprawdzany jest jego typ. W przypadku gniazda domeny UNIX, sok łączy; Jeśli
nieudane połączenie, sok zakłada gniazdo datagramowe i używa wywołań sendto(). Jeśli
wejście nie jest gniazdem, sok otwiera go stosując flagę O_APPEND. Jeśli to nie
istnieje, jest otwierany z flagą O_CREAT jako zwykły plik (przykład).
Grupy opcji: FD,REG,SOCKET,NAMED,OPEN
Zobacz też: OTWÓRZ, UTWÓRZ, UNIX-CONNECT

IP-SENDTO: :
Otwiera surowe gniazdo IP. W zależności od specyfikacji hosta lub opcji pf, protokół IP
używana jest wersja 4 lub 6. To używa wysłać pakiety do [Adres IP]
i odbiera pakiety od hosta, ignoruje pakiety od innych hostów. Protokół 255
używa surowego gniazda z nagłówkiem IP będącym częścią danych.
Grupy opcji: FD,SOCKET,IP4,IP6
Przydatne opcje: pf, ttl
Zobacz też: IP4-SENDTO, IP6-SENDTO, IP-RECVFROM, IP-RECV, UDP-SENDTO, UNIX-SENDTO

BERŁO:
Komunikuje się z siecią połączoną przez interfejs za pomocą surowych pakietów, w tym
dane na poziomie łącza. to nazwa interfejsu sieciowego. Obecnie tylko
dostępne w systemie Linux. Grupy opcji: FD, GNIAZDO
Przydatne opcje: pf, type
Zobacz też: ip-recv

IP4-SENDTO: :
Jak IP-SENDTO, ale zawsze używa IPv4.
Grupy opcji: FD,SOCKET,IP4

IP6-SENDTO: :
Jak IP-SENDTO, ale zawsze używa IPv6.
Grupy opcji: FD,SOCKET,IP6

DANE DOTYCZĄCE IP: :
Wysyła na podany adres dane wychodzące, które w szczególności mogą być rozgłoszeniami
lub adres multicast. Pakiety przychodzące do lokalnego gniazda są sprawdzane, czy ich
adresy źródłowe pasują do opcji RANGE lub TCPWRAP. Ten typ adresu może na przykład
być używane do realizacji symetrycznego lub asymetrycznego rozgłaszania lub multiemisji
Komunikacji.
Grupy opcji: FD, SOCKET, IP4, IP6, RANGE
Przydatne opcje: bind, range, tcpwrap, broadcast, ip-multicast-loop,
ip-multicast-ttl, ip-multicast-if, ip-add-członkostwo, ttl, tos, pf
Zobacz też: IP4-DATAGRAM, IP6-DATAGRAM, IP-SENDTO, IP-RECVFROM, IP-RECV, UDP-DATAGRAM

DANE TECHNICZNE IP4: :
Jak IP-DATAGRAM, ale zawsze używa IPv4. (przykład)
Grupy opcji: FD,SOCKET,IP4,RANGE

DANE TECHNICZNE IP6: :
Jak IP-DATAGRAM, ale zawsze używa IPv6. Należy pamiętać, że IPv6 nie wie
Transmisje.
Grupy opcji: FD,SOCKET,IP6,RANGE

ODBIÓR IP OD:
Otwiera surowe gniazdo IP . W zależności od opcji pf, wersja protokołu IP 4
lub 6 jest używany. Odbiera jeden pakiet od nieokreślonego peera i może wysłać jeden lub
więcej pakietów odpowiedzi do tego peera. Ten tryb jest szczególnie przydatny w przypadku widelca
opcja, w której każdy przychodzący pakiet - od dowolnych peerów - jest obsługiwany przez własną
podproces. Pozwala to na zachowanie podobne do typowych serwerów opartych na UDP, takich jak
ntpd lub nazwany.
Należy pamiętać, że pakiety odpowiedzi mogą być pobierane jako ruch przychodzący, gdy nadawca
i adres IP odbiorcy są identyczne, ponieważ nie ma numeru portu do
rozróżnij gniazda.
Ten adres działa dobrze z równorzędnymi adresami IP-SENDTO (patrz wyżej). Protokół 255
używa surowego gniazda z nagłówkiem IP będącym częścią danych.
Grupy opcji: FD,SOCKET,IP4,IP6,DZIECKO,ZAKRES
Przydatne opcje: pf, fork, range, ttl, broadcast
Zobacz też: IP4-RECVFROM, IP6-RECVFROM, IP-SENDTO, IP-RECV, UDP-RECVFROM,
UNIX-RECVZ

IP4-ODBIOR OD:
Jak IP-RECVFROM, ale zawsze używa IPv4.
Grupy opcji: FD,SOCKET,IP4,CHILD,RANGE

IP6-ODBIOR OD:
Jak IP-RECVFROM, ale zawsze używa IPv6.
Grupy opcji: FD,SOCKET,IP6,CHILD,RANGE

Odbiór IP:
Otwiera surowe gniazdo IP . W zależności od opcji pf, wersja protokołu IP 4
lub 6 jest używany. Odbiera pakiety od wielu nieokreślonych peerów i łączy
dane. Żadne odpowiedzi nie są możliwe. Może to być np. adresowane przez socat IP-SENDTO
adresować rówieśników. Protokół 255 używa surowego gniazda z nagłówkiem IP będącym częścią
dane.
Grupy opcji: FD,SOCKET,IP4,IP6,RANGE
Przydatne opcje: pf, zakres
Zobacz też: IP4-RECV, IP6-RECV, IP-SENDTO, IP-RECVFROM, UDP-RECV, UNIX-RECV

IP4-RECV:
Jak IP-RECV, ale zawsze używa IPv4.
Grupy opcji: FD,SOCKET,IP4,RANGE

IP6-RECV:
Jak IP-RECV, ale zawsze używa IPv6.
Grupy opcji: FD,SOCKET,IP6,RANGE

OTWARTY:
Otwiera się za pomocą wywołania systemowego open() (przykład). Ta operacja kończy się niepowodzeniem
Gniazda domeny UNIX.
Uwaga: ten typ adresu jest rzadko przydatny w trybie dwukierunkowym.
Grupy opcji: FD,REG,NAMED,OPEN
Przydatne opcje: creat, excl, noatime, nofollow, append, rdonly, wronly, lock,
readbytes, zignoruj
Zobacz też: CREATE, GOPEN, UNIX-CONNECT

OTWARCIE: :
Próbuje nawiązać połączenie SSL z [Usługa TCP] wł. [Adres IP]
przy użyciu protokołu TCP/IP w wersji 4 lub 6 w zależności od specyfikacji adresu, rozpoznawania nazw lub
opcja pf.
UWAGA: Do wersji 1.7.2.4 certyfikat serwera był sprawdzany tylko pod kątem ważności
przeciwko magazynowi certyfikatów systemu, plikowi CAfile lub capath, ale nie w celu dopasowania do
nazwę serwera lub jego adres IP. Od wersji 1.7.3.0 socat sprawdza peer
certyfikat za mecz z parametr lub wartość
opcja openssl-commonname. Socat próbuje porównać to z certyfikatami
podmiot commonName i nazwy DNS rozszerzenia subjectAltName certyfikatów.
Obsługiwane są symbole wieloznaczne w certyfikacie.
Grupy opcji: FD,SOCKET,IP4,IP6,TCP,OPENSSL,RETRY
Przydatne opcje: szyfr, metoda, weryfikacja, nazwa zwyczajowa cafile, capath, certyfikat,
klucz, skompresuj, powiąż, pf, limit czasu połączenia, port źródłowy, ponów
Zobacz też: OPENSSL-LISTEN, TCP

OTWÓRZ SŁUCHANIE:
Słucha na tcp [Usługa TCP]. Wersja IP to 4 lub określona za pomocą
pf. Po zaakceptowaniu połączenia adres ten zachowuje się jak serwer SSL.
Uwaga: Prawdopodobnie chcesz użyć opcji certyfikatu z tym adresem.
UWAGA: Certyfikat klienta jest sprawdzany tylko pod kątem ważności z cafile lub capath,
ale nie dla dopasowania z nazwą klienta lub jego adresem IP!
Grupy opcji: FD,SOCKET,IP4,IP6,TCP,LISTEN,OPENSSL,CHILD,RANGE,RETRY
Przydatne opcje: pf, szyfr, metoda, weryfikacja, nazwa zwyczajowa cafile, capath, certyfikat,
klucz, skompresuj, rozwidlenie, powiązanie, zakres, tcpwrap, su, reuseaddr, ponów
Zobacz też: OPENSSL, TCP-LISTEN

RURA:
Jeśli już istnieje, jest otwarty. Jeśli nie istnieje, nazwany potok to
stworzony i otwarty. Począwszy od socat w wersji 1.4.3, nazwany potok jest usuwany
gdy adres jest zamknięty (ale zobacz opcję unlink-close
Uwaga: Gdy potok jest używany zarówno do odczytu, jak i do pisania, działa jako usługa echa.
Uwaga: gdy rura jest używana zarówno do czytania, jak i pisania, a socat próbuje pisać
więcej bajtów niż może buforować potok (Linux 2.4: 2048 bajtów), socat może blokować.
Rozważ użycie opcji socat, np. -b 2048
Grupy opcji: FD,NAMED,OPEN
Przydatne opcje: rdonly, nonblock, group, user, mode, unlink-early
Zobacz też: rura nienazwana

PIPE Tworzy nienazwany potok i używa go do czytania i pisania. Działa jak echo,
ponieważ wszystko, co do niego napisane, pojawia się natychmiast jako odczytane dane.
Uwaga: Gdy socat próbuje zapisać więcej bajtów, niż może umieścić potok w kolejce (Linux 2.4: 2048
bajtów), socat może blokować. Rozważ np. użycie opcji -b 2048
Grupy opcji: FD
Zobacz także: nazwana rura

PEŁNOMOCNIK: : :
Łączy się z serwerem proxy HTTP na porcie 8080 przy użyciu protokołu TCP/IP w wersji 4 lub 6
w zależności od specyfikacji adresu, rozwiązywania nazw lub opcji pf i wysyła a
Żądanie CONNECT dla nazwy hosta:port. Jeśli serwer proxy udzieli dostępu i powiedzie się
połączyć się z celem, może rozpocząć się transfer danych między socat a celem. Notatka
że ruch nie musi być HTTP, ale może być dowolnym protokołem.
Grupy opcji: FD,SOCKET,IP4,IP6,TCP,HTTP,RETRY
Przydatne opcje: proxyport, ignorecr, proxyauth, resolve, crnl, bind,
limit czasu połączenia, mss, port źródłowy, ponowna próba
Zobacz też: SKARPETY, TCP

PTY Generuje pseudoterminal (pty) i używa jego strony master. Inny proces może
otwórz stronę slave pty, używając jej jak linii szeregowej lub terminala. (przykład). Jeśli
dostępne są zarówno mechanizmy ptmx, jak i openpty, używany jest ptmx (POSIX).
Grupy opcji: FD,NAMED,PTY,TERMIOS
Przydatne opcje: link, openpty, wait-slave, tryb, użytkownik, grupa
Zobacz też: UNIX-LISTEN, PIPE, EXEC, SYSTEM

CZYTAJ LINIĘ
Używa readline i historii GNU na stdio, aby umożliwić edycję i ponowne użycie linii wejściowych
(przykład).
Z powodu ograniczeń licencyjnych funkcja readline jest wyłączona w Debianie. Widzieć
ROBAKI.
Zamiast tego możesz użyć STDIO.

POŁĄCZ SCTP: :
Ustanawia połączenie strumienia SCTP z określonym [adres IP] i
[Usługa TCP] przy użyciu protokołu TCP/IP w wersji 4 lub 6 w zależności od adresu
specyfikacja, rozwiązywanie nazw lub opcja pf.
Grupy opcji: FD,SOCKET,IP4,IP6,SCTP,CHILD,RETRY
Przydatne opcje: bind, pf, connect-timeout, tos, mtudiscover, sctp-maxseg,
sctp-nodelay, nonblock, sourceport, ponowna próba, readbytes
Zobacz też: SCTP4-POŁĄCZ, SCTP6-POŁĄCZ, SCTP-LISTEN, TCP-POŁĄCZ

SCTP4-POŁĄCZ: :
Jak SCTP-CONNECT, ale obsługuje tylko protokół IPv4.
Grupy opcji: FD,SOCKET,IP4,SCTP,CHILD,RETRY

SCTP6-POŁĄCZ: :
Jak SCTP-CONNECT, ale obsługuje tylko protokół IPv6.
Grupy opcji: FD,SOCKET,IP6,SCTP,CHILD,RETRY

SCTP-SŁUCHAJ:
Słucha na [Usługa TCP] i akceptuje połączenie TCP/IP. Wersja IP to
4 lub określony za pomocą opcji adresu pf, opcji socat (-4, -6) lub
zmienna środowiskowa SOCAT_DEFAULT_LISTEN_IP. Zwróć uwagę, że otwierając ten adres
zwykle blokuje się, dopóki klient się nie połączy.
Grupy opcji: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,SCTP,RETRY
Przydatne opcje: crnl, fork, bind, range, tcpwrap, pf, max-children, backlog,
sctp-maxseg, sctp-nodelay, su, reuseaddr, ponów, cool-write
Zobacz też: SCTP4-LISTEN, SCTP6-LISTEN, TCP-LISTEN, SCTP-CONNECT

SCTP4-SŁUCHAJ:
Jak SCTP-LISTEN, ale obsługuje tylko protokół IPv4.
Grupy opcji: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,SCTP,RETRY

SCTP6-SŁUCHAJ:
Jak SCTP-LISTEN, ale obsługuje tylko protokół IPv6.
Grupy opcji: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,SCTP,RETRY

GNIAZDO-POŁĄCZENIE: : :
Tworzy gniazdo strumieniowe przy użyciu pierwszego i drugiego podanego parametru gniazda oraz
SOCK_STREAM (patrz man socket\(2)) i łączy się z adresem zdalnym. Dwójka
parametry gniazda muszą być określone przez liczby int. Skonsultuj się ze swoim systemem operacyjnym
dokumentacji i dołącz pliki, aby znaleźć odpowiednie wartości. Adres zdalny
musi być reprezentacją danych struktury sockaddr bez sa_family i (BSD)
sa_len komponenty.
Pamiętaj, że możesz - poza opcjami określonych grup - również użyć
opcje protokołów wyższego poziomu po zastosowaniu opcji socat -g.
Grupy opcji: FD,SOCKET,CHILD,RETRY
Przydatne opcje: bind, setsockopt-int, setsockopt-bin, setsockopt-string
Zobacz też: TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO

DANE GNIAZDOWE: : : :
Tworzy gniazdo datagramowe używając pierwszych trzech podanych parametrów gniazda (zobacz man
socket\(2)) i wysyła dane wychodzące na adres zdalny. Trzy gniazda
parametry muszą być określone przez liczby int. Zapoznaj się z dokumentacją systemu operacyjnego i
Dołącz pliki, aby znaleźć odpowiednie wartości. Adres zdalny musi być danymi
reprezentacja struktury sockaddr bez sa_family i (BSD) sa_len
składniki.
Pamiętaj, że możesz - poza opcjami określonych grup - również użyć
opcje protokołów wyższego poziomu po zastosowaniu opcji socat -g.
Grupy opcji: FD,SOCKET,RANGE
Przydatne opcje: bind, range, setsockopt-int, setsockopt-bin, setsockopt-string
Zobacz też: UDP-DATAGRAM, IP-DATAGRAM, SOCKET-SENDTO, SOCKET-RECV, SOCKET-RECVFROM

GNIAZDO SŁUCHAWKOWE: : :
Tworzy gniazdo strumieniowe przy użyciu pierwszego i drugiego podanego parametru gniazda oraz
SOCK_STREAM (patrz man socket\(2)) i czeka na połączenia przychodzące na
lokalny adres. Dwa parametry gniazda muszą być określone przez liczby int.
Zapoznaj się z dokumentacją systemu operacyjnego i dołącz pliki, aby znaleźć odpowiednie wartości. ten
adres lokalny musi być reprezentacją danych struktury sockaddr bez
komponenty sa_family i (BSD) sa_len.
Pamiętaj, że możesz - poza opcjami określonych grup - również użyć
opcje protokołów wyższego poziomu po zastosowaniu opcji socat -g.
Grupy opcji: FD, GNIAZDO, SŁUCHAJ, ZASIĘG, DZIECKO, PONOWNA PRÓBA
Przydatne opcje: setsockopt-int, setsockopt-bin, setsockopt-string
Zobacz też: TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO,
GNIAZDO-SENDTO

ODBIÓR GNIAZDA: : : :
Tworzy gniazdo używając trzech podanych parametrów gniazda (zobacz man socket\(2)) i
wiąże to z . Odbiera nadchodzące dane. Trzy parametry muszą
być określony przez liczby int. Zapoznaj się z dokumentacją systemu operacyjnego i dołącz pliki do
znajdź odpowiednie wartości. Adres lokalny musi być reprezentacją danych a
struktura sockaddr bez komponentów sa_family i (BSD) sa_len.
Grupy opcji: FD,SOCKET,RANGE
Przydatne opcje: range, setsockopt-int, setsockopt-bin, setsockopt-string
Zobacz też: UDP-RECV, IP-RECV, UNIX-RECV, SOCKET-DATAGRAM, SOCKET-SENDTO,
ODCZYT GNIAZDA

ODBIÓR GNIAZDA: : : :
Tworzy gniazdo używając trzech podanych parametrów gniazda (zobacz man socket\(2)) i
wiąże to z . Odbiera przychodzące dane i wysyła odpowiedzi z powrotem do
nadawca. Pierwsze trzy parametry należy określić jako liczby int. Konsultować
dokumentację systemu operacyjnego i dołącz pliki, aby znaleźć odpowiednie wartości. ten
adres lokalny musi być reprezentacją danych struktury sockaddr bez
komponenty sa_family i (BSD) sa_len.
Grupy opcji: FD, GNIAZDO, DZIECKO, ZAKRES
Przydatne opcje: widelec, zakres, setsockopt-int, setsockopt-bin, setsockopt-string
Zobacz też: UDP-RECVFROM, IP-RECVFROM, UNIX-RECVFROM, GNIAZDO-DATAGRAM, GNIAZDO-SENDTO,
GNIAZDO-RECV

GNIAZDO-SENDTO: : : :
Tworzy gniazdo używając trzech podanych parametrów gniazda (zobacz man socket\(2)).
Wysyła dane wychodzące na podany adres i odbiera odpowiedzi. Drzewo
parametry muszą być podane jako liczby int. Zapoznaj się z dokumentacją systemu operacyjnego i
Dołącz pliki, aby znaleźć odpowiednie wartości. Adres zdalny musi być danymi
reprezentacja struktury sockaddr bez sa_family i (BSD) sa_len
składniki.
Grupy opcji: FD, GNIAZDO
Przydatne opcje: bind, setsockopt-int, setsockopt-bin, setsockopt-string
Zobacz też: UDP-SENDTO, IP-SENDTO, UNIX-SENDTO, SOCKET-DATAGRAM, SOCKET-RECV
ODCZYT GNIAZDA

SKARPETKI4: : :
Łączy się przez [adres IP] do [Adres IPv4] wł. [TCP
usługa], używając protokołu SOCKS w wersji 4 przez IP w wersji 4 lub 6 w zależności od
specyfikacja adresu, rozpoznawanie nazw lub opcja pf (przykład).
Grupy opcji: FD,SOCKET,IP4,IP6,TCP,SOCKS4,RETRY
Przydatne opcje: socksuser, socksport, sourceport, pf, retry
Zobacz też: SOCKS4A, PROXY, TCP

SKARPETKI4A: : :
jak SOCKS4, ale używa protokołu SOCKS w wersji 4a, pozostawiając rozwiązanie nazwy hosta
do serwera skarpetek.
Grupy opcji: FD,SOCKET,IP4,IP6,TCP,SOCKS4,RETRY

STDERR Używa deskryptora pliku 2.
Grupy opcji: FD (TERMIOS,REG,GNIAZDO)
Zobacz też: FD

STDIN Używa deskryptora pliku 0.
Grupy opcji: FD (TERMIOS,REG,GNIAZDO)
Przydatne opcje: readbytes
Zobacz też: FD

STDIUM Używa deskryptora pliku 0 do czytania i 1 do pisania.
Grupy opcji: FD (TERMIOS,REG,GNIAZDO)
Przydatne opcje: readbytes
Zobacz też: FD

STDOUT Używa deskryptora pliku 1.
Grupy opcji: FD (TERMIOS,REG,GNIAZDO)
Zobacz też: FD

SYSTEM:
Rozwidla proces podrzędny, który nawiązuje komunikację z procesem nadrzędnym i
wywołuje określony program za pomocą system() . Proszę to zanotować
[ciąg] nie może zawierać ',' ani "!!", a znaki meta powłoki mogą wymagać
być zabezpieczonym. Po pomyślnym uruchomieniu programu, sok zapisuje dane na standardowe wejście
proces i odczytuje z jego standardowego wyjścia.
Grupy opcji: FD,SOCKET,EXEC,FORK,TERMIOS
Przydatne opcje: ścieżka, fdin, fdout, chroot, su, su-d, nofork, pty, stderr, ctty,
setid, rury, sigint, sigquit
Zobacz też: EXEC

TCP: :
Łączy się z [Usługa TCP] wł. [Adres IP] przy użyciu protokołu TCP/IP w wersji 4 lub 6
w zależności od specyfikacji adresu, rozwiązywania nazw lub opcji pf.
Grupy opcji: FD,SOCKET,IP4,IP6,TCP,RETRY
Przydatne opcje: crnl, bind, pf, connect-timeout, tos, mtudiscover, mss, nodelay,
nonblock, sourceport, ponowna próba, readbytes
Zobacz też: TCP4, TCP6, TCP-LISTEN, UDP, SCTP-CONNECT, UNIX-CONNECT

TCP4: :
Jak TCP, ale obsługuje tylko protokół IPv4 (przykład).
Grupy opcji: FD,SOCKET,IP4,TCP,RETRY

TCP6: :
Podobnie jak TCP, ale obsługuje tylko protokół IPv6.
Grupy opcji: FD,SOCKET,IP6,TCP,RETRY

TCP-LISTEN:
Słucha na [Usługa TCP] i akceptuje połączenie TCP/IP. Wersja IP to
4 lub określony za pomocą opcji adresu pf, opcji socat (-4, -6) lub
zmienna środowiskowa SOCAT_DEFAULT_LISTEN_IP. Zwróć uwagę, że otwierając ten adres
zwykle blokuje się, dopóki klient się nie połączy.
Grupy opcji: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,TCP,RETRY
Przydatne opcje: crnl, fork, bind, range, tcpwrap, pf, max-children, backlog, mss,
su, reuseaddr, spróbuj ponownie, fajne pisanie
Zobacz też: TCP4-LISTEN, TCP6-LISTEN, UDP-LISTEN, SCTP-LISTEN, UNIX-LISTEN,
OPENSSL-SŁUCHAJ, TCP-POŁĄCZ

TCP4-SŁUCHAJ:
Jak TCP-LISTEN, ale obsługuje tylko protokół IPv4 (przykład).
Grupy opcji: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,TCP,RETRY

TCP6-SŁUCHAJ:
Jak TCP-LISTEN, ale obsługuje tylko protokół IPv6.
Dodatkowa przydatna opcja: ipv6only
Grupy opcji: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,TCP,RETRY

KADŹ[: / ]
Tworzy urządzenie Linux TUN/TAP i opcjonalnie przypisuje mu adres i maskę sieci
podane przez parametry. Powstały interfejs sieciowy jest prawie gotowy do użycia przez
inne procesy; socat obsługuje swoją "stronę drutu". Ten adres wymaga odczytu i zapisu
dostęp do urządzenia do klonowania tunelu, zwykle /dev/net/tun , a także uprawnienia
ustawić kilka ioctl(). Option nieprawdaż is wymagany do natychmiast aktywowany dotychczasowy
berło!
Grupy opcji: FD,NAMED,OPEN,TUN
Przydatne opcje: iff-up, tun-device, tun-name, tun-type, iff-no-pi
Zobacz też: ip-recv

UDP: :
Łączy się z [Usługa UDP] wł. [Adres IP] przy użyciu UDP/IP w wersji 4 lub 6
w zależności od specyfikacji adresu, rozwiązywania nazw lub opcji pf.
Należy pamiętać, że ze względu na właściwości protokołu UDP nie ma prawdziwego połączenia
przyjęty; dane muszą być wysłane do `połączenia' z serwerem, bez końca pliku
stan może być transportowany.
Grupy opcji: FD,SOCKET,IP4,IP6
Przydatne opcje: ttl, tos, bind, sourceport, pf
Zobacz też: UDP4, UDP6, UDP-LISTEN, TCP, IP

UDP4: :
Jak UDP, ale obsługuje tylko protokół IPv4.
Grupy opcji: FD,SOCKET,IP4

UDP6: :
Jak UDP, ale obsługuje tylko protokół IPv6.
Grupy opcji: FD,SOCKET,IP6

DANE UDP: :
Wysyła na podany adres dane wychodzące, które w szczególności mogą być rozgłoszeniami
lub adres multicast. Pakiety docierające do lokalnego gniazda są sprawdzane pod kątem
poprawny port zdalny i czy ich adresy źródłowe są zgodne z opcjami RANGE lub TCPWRAP.
Ten typ adresu może być na przykład używany do implementacji symetrycznego lub asymetrycznego
komunikacja w trybie rozgłaszania lub multiemisji.
Grupy opcji: FD,SOCKET,IP4,IP6,RANGE
Przydatne opcje: bind, range, tcpwrap, broadcast, ip-multicast-loop,
ip-multicast-ttl, ip-multicast-if, ip-add-członkostwo, ttl, tos, sourceport, pf
Zobacz też: UDP4-DATAGRAM, UDP6-DATAGRAM, UDP-SENDTO, UDP-RECVFROM, UDP-RECV,
UDP-CONNECT, UDP-LISTEN, DATAGRAM IP

DANE UDP4: :
Jak UDP-DATAGRAM, ale obsługuje tylko protokół IPv4 (przykład1, przykład2).
Grupy opcji: FD,SOCKET,IP4, RANGE

DANE UDP6: :
Jak UDP-DATAGRAM, ale obsługuje tylko protokół IPv6.
Grupy opcji: FD,SOCKET,IP6,RANGE

SŁUCHAJ UDP:
Czeka na przybycie pakietu UDP/IP [Usługa UDP] i `łączy się' z powrotem do
nadawca. Akceptowana wersja IP to 4 lub ta określona opcją pf. Proszę
zauważ, że ze względu na właściwości protokołu UDP nie jest ustanawiane żadne prawdziwe połączenie; dane
musi najpierw dotrzeć od peera i nie można przesłać żadnego warunku końca pliku.
Zwróć uwagę, że otwarcie tego adresu zwykle blokuje się, dopóki klient się nie połączy.
Grupy opcji: FD,GNIAZDO,SŁUCHAJ,DZIECKO,ZAKRES,IP4,IP6
Przydatne opcje: widelec, bind, zakres, pf
Zobacz też: UDP, UDP4-LISTEN, UDP6-LISTEN, TCP-LISTEN

UDP4-SŁUCHAJ:
Jak UDP-LISTEN, ale obsługuje tylko protokół IPv4.
Grupy opcji: FD,GNIAZDO,SŁUCHAJ,DZIECKO,ZAKRES,IP4

UDP6-SŁUCHAJ:
Jak UDP-LISTEN, ale obsługuje tylko protokół IPv6.
Grupy opcji: FD,GNIAZDO,SŁUCHAJ,DZIECKO,ZAKRES,IP6

UDP-SENDTO: :
Komunikuje się z określonym gniazdem równorzędnym, określonym przez [Usługa UDP] wł.
[Adres IP], przy użyciu UDP/IP w wersji 4 lub 6 w zależności od adresu
specyfikacja, rozwiązywanie nazw lub opcja pf. Wysyła i odbiera pakiety
pakiety tylko z tego gniazda równorzędnego. Ten adres skutecznie implementuje datagram
klient. Działa dobrze z sąsiadami adresowymi socat UDP-RECVFROM i UDP-RECV.
Grupy opcji: FD,SOCKET,IP4,IP6
Przydatne opcje: ttl, tos, bind, sourceport, pf
Zobacz też: UDP4-SENDTO, UDP6-SENDTO, UDP-RECVFROM, UDP-RECV, UDP-CONNECT,
UDP-LISTEN, IP-SENDTO

UDP4-SENDTO: :
Jak UDP-SENDTO, ale obsługuje tylko protokół IPv4.
Grupy opcji: FD,SOCKET,IP4

UDP6-SENDTO: :
Jak UDP-SENDTO, ale obsługuje tylko protokół IPv6.
Grupy opcji: FD,SOCKET,IP6

UDP-RECV OD:
Tworzy gniazdo UDP na [Usługa UDP] przy użyciu UDP/IP w wersji 4 lub 6 w zależności od
na opcji pf. Odbiera jeden pakiet od nieokreślonego peera i może wysłać jeden lub
więcej pakietów odpowiedzi do tego peera. Ten tryb jest szczególnie przydatny w przypadku opcji widelca
gdzie każdy przychodzący pakiet - od dowolnych peerów - jest obsługiwany przez swój własny sub
proces. Pozwala to na zachowanie podobne do typowych serwerów opartych na UDP, takich jak ntpd lub
o imieniu. Ten adres działa dobrze z równorzędnymi adresami socat UDP-SENDTO.
Grupy opcji: FD,SOCKET,IP4,IP6,DZIECKO,ZAKRES
Przydatne opcje: fork, ttl, tos, bind, sourceport, pf
Zobacz też: UDP4-RECVFROM, UDP6-RECVFROM, UDP-SENDTO, UDP-RECV, UDP-CONNECT,
UDP-LISTEN, IP-RECVFROM, UNIX-RECVFROM

UDP4-RECV OD:
Jak UDP-RECVFROM, ale obsługuje tylko protokół IPv4.
Grupy opcji: FD,SOCKET,IP4,CHILD,RANGE

UDP6-RECV OD:
Jak UDP-RECVFROM, ale obsługuje tylko protokół IPv6.
Grupy opcji: FD,SOCKET,IP6,CHILD,RANGE

UDP-RECV:
Tworzy gniazdo UDP na [Usługa UDP] przy użyciu UDP/IP w wersji 4 lub 6 w zależności od
na opcji pf. Odbiera pakiety od wielu nieokreślonych peerów i łączy
dane. Żadne odpowiedzi nie są możliwe. Działa dobrze np. z adresem socat UDP-SENDTO
rówieśnicy; zachowuje się podobnie do serwera syslog.
Grupy opcji: FD,SOCKET,IP4,IP6,RANGE
Przydatne opcje: fork, pf, bind, sourceport, ttl, tos
Zobacz też: UDP4-RECV, UDP6-RECV, UDP-SENDTO, UDP-RECVFROM, UDP-CONNECT, UDP-LISTEN,
IP-RECV, UNIX-RECV

UDP4-RECV:
Jak UDP-RECV, ale obsługuje tylko protokół IPv4.
Grupy opcji: FD,SOCKET,IP4,RANGE

UDP6-RECV:
Jak UDP-RECV, ale obsługuje tylko protokół IPv6.
Grupy opcji: FD,SOCKET,IP6,RANGE

UNIX-POŁĄCZ:
Łączy się z zakładając, że jest to gniazdo domeny UNIX. Jeśli nie
istnieje, to jest błąd; Jeśli nie jest gniazdem domeny UNIX, to jest
błąd; Jeśli jest gniazdem domeny UNIX, ale żaden proces nie nasłuchuje, to jest
błąd.
Grupy opcji: FD,SOCKET,NAMED,RETRY,UNIX
) Przydatne opcje: bind
Zobacz też: UNIX-LISTEN, UNIX-SENDTO, TCP

UNIX-LISTEN:
Słucha na za pomocą gniazda strumienia domeny UNIX i akceptuje połączenie.
Jeśli istnieje i nie jest gniazdem, to jest błąd. Jeśli istnieje
i jest gniazdem domeny UNIX, wiązanie z adresem nie powiodło się (użyj opcji
odłącz-wcześnie!). Pamiętaj, że otwarcie tego adresu zwykle blokuje się do czasu, gdy klient
łączy. Począwszy od wersji socat 1.4.3, wpis systemu plików jest usuwany
kiedy ten adres jest zamknięty (ale zobacz opcję unlink-close) (przykład).
Grupy opcji: FD,SOCKET,NAMED,LISTEN,CHILD,RETRY,UNIX
Przydatne opcje: rozwidlenie, umask, tryb, użytkownik, grupa, wczesne odłączenie
Zobacz też: UNIX-CONNECT, UNIX-RECVFROM, UNIX-RECV, TCP-LISTEN

UNIX-SENDTO:
Komunikuje się z określonym gniazdem równorzędnym, zdefiniowanym przez [ ] zakładając, że tak jest
gniazdo datagramowe domeny UNIX. Wysyła pakiety do i odbiera pakiety od tego
tylko gniazdo równorzędne. Należy pamiętać, że może być konieczne powiązanie lokalnego gniazda
na adres (np. /tmp/sock1, który wcześniej nie może istnieć). Ten typ adresu
działa dobrze z sąsiadami adresowymi socat UNIX-RECVFROM i UNIX-RECV.
Grupy opcji: FD,SOCKET,NAMED,UNIX
Przydatne opcje: bind
Zobacz też: UNIX-RECVFROM, UNIX-RECV, UNIX-CONNECT, UDP-SENDTO, IP-SENDTO

UNIX-RECV OD:
Tworzy gniazdo datagramowe domeny UNIX [ ]. Otrzymuje jeden pakiet i może
wyślij jeden lub więcej pakietów odpowiedzi do tego peera. Ten tryb jest szczególnie przydatny
z opcją fork, gdzie każdy przychodzący pakiet - od dowolnych peerów - jest obsługiwany przez
własny podproces. Ten adres działa dobrze z równorzędnymi adresami socat UNIX-SENDTO.
Grupy opcji: FD,SOCKET,NAMED,CHILD,UNIX
Przydatne opcje: widelec
Zobacz też: UNIX-SENDTO, UNIX-RECV, UNIX-LISTEN, UDP-RECVFROM, IP-RECVFROM

UNIX-RECV:
Tworzy gniazdo datagramowe domeny UNIX [ ]. Odbiera pakiety od wielu
nieokreślonych rówieśników i scala dane. Żadne odpowiedzi nie są możliwe. Może to być np.
adresowane przez partnerów adresowych socat UNIX-SENDTO. Zachowuje się podobnie do syslog
serwer. Grupy opcji: FD,SOCKET,NAMED,UNIX
Zobacz też: UNIX-SENDTO, UNIX-RECVFROM, UNIX-LISTEN, UDP-RECV, IP-RECV

KLIENT UNIX:
Komunikuje się z określonym gniazdem równorzędnym, zdefiniowanym przez [ ] zakładając, że tak jest
gniazdo domeny UNIX. Najpierw próbuje się połączyć, a jeśli to się nie powiedzie, zakłada, że ​​jest
gniazdo datagramowe, dzięki czemu obsługuje oba typy.
Grupy opcji: FD,SOCKET,NAMED,UNIX
Przydatne opcje: bind
Zobacz też: UNIX-CONNECT, UNIX-SENDTO, GOPEN

STRESZCZENIE-POŁĄCZ:

ABSTRACT-POSŁUCHAJ:

STRESZCZENIE-WYŚLIJ:

STRESZCZENIE-POZYCJA Z:

STRESZCZENIE-POZYCJA:

STRESZCZENIE-KLIENT:
Adresy ABSTRACT są prawie identyczne z powiązanymi adresami UNIX, z wyjątkiem:
że nie odnoszą się do gniazd opartych na systemie plików, ale do alternatywnej domeny UNIX
przestrzeń adresowa. Aby to zarchiwizować, ciągi adresów gniazd są poprzedzone „\0”
wewnętrznie. Ta funkcja jest dostępna (tylko?) w systemie Linux. Grupy opcji są takie same
podobnie jak w przypadku powiązanych adresów UNIX, z wyjątkiem tego, że adresy ABSTRACT nie są
członek grupy NAMED.

ADRES OPCJE


Opcje adresowe mogą być stosowane do adresowania specyfikacji, aby wpłynąć na proces
otwieranie adresów i właściwości wynikowych kanałów danych.

Ze względów technicznych nie każda opcja może być zastosowana do każdego typu adresu; np,
zastosowanie opcji gniazda do zwykłego pliku nie powiedzie się. Aby złapać większość bezużytecznych kombinacji
już w fazie otwartej koncepcja opcja grupy został wprowadzony. Każda opcja
należy do jednej lub więcej grup opcji. Opcje mogą być używane tylko z typami adresów, które
obsługują co najmniej jedną ze swoich grup opcji (ale zobacz opcję -g).

Opcje adresu mają typy danych, z którymi muszą być zgodne ich wartości. Każda opcja adresu
składa się tylko ze słowa kluczowego lub słowa kluczowego, po którym następuje „=wartość”, gdzie wartość musi być zgodna z
typ opcji. Niektóre opcje adresu manipulują parametrami wywołań systemowych; np,
opcja sync ustawia flagę O_SYNC z wywołaniem open(). Inne opcje powodują, że system lub
wizyta biblioteczna; np. z opcją `ttl=wartość' setsockopt(fd, SOL_IP, IP_TTL, wartość,
stosowane jest wywołanie sizeof(int)). Inne opcje ustawione wewnętrznie sok używane zmienne
podczas przesyłania danych; np. `crnl' powoduje jawną konwersję znaków. Kilka opcji
mieć bardziej złożone wdrożenia; np. su-d (substuser-delayed) pyta jakiegoś użytkownika i
informacje o grupach, przechowuje je i stosuje później po ewentualnym wywołaniu chroot().

Jeśli adresowi podano wiele opcji, ich kolejność w specyfikacji adresu
nie ma (prawie) żadnego wpływu na kolejność ich wykonywania/aplikacji. W zamian, sok ma
wbudowany opcja faza model, który stara się ustawić opcje w użytecznej kolejności. Niektóre
opcje istnieją w różnych formach (np. odłącz, odłącz wcześnie, odłącz późno), aby kontrolować
czas ich wykonania.

Jeśli ta sama opcja jest podana więcej niż raz w ramach jednej specyfikacji adresu, z
równe lub różne wartości, efekt zależy od rodzaju opcji. Opcje skutkujące
wywołania funkcji, takie jak setsockopt(), powodują wiele wywołań. Z opcjami, które ustawiają
parametry wymaganego wywołania, takie jak open() lub ustawienie wewnętrznych flag, wartość ostatniego
wystąpienie opcji jest skuteczne.

Istnienie lub semantyka wielu opcji zależy od systemu. Socat zwykle NIE
spróbuj emulować brakujące funkcje libc lub jądra, to po prostu zapewnia interfejs do
podstawowy system. Tak więc, jeśli system operacyjny nie ma funkcji, powiązaną opcją jest:
po prostu niedostępne na tej platformie.

Poniższe akapity przedstawiają tylko bardziej popularne opcje adresu. Na więcej
obszerne odniesienie i znalezienie informacji o kanonicznych nazwach opcji, nazwach aliasów,
fazy opcji i platformy patrz plik xio.pomoc.

FD opcja grupa

Ta grupa opcji zawiera opcje, które są stosowane do deskryptora pliku w stylu UN*X, nie
bez względu na to, jak został wygenerowany. Ponieważ wszystkie obecne sok typy adresów są deskryptorami plików
w oparciu o te opcje, można je zastosować do dowolnego adresu.
Uwaga: Niektóre z tych opcji są również członkami innej grupy opcji, która zapewnia:
inny, nie oparty na fd mechanizm. W przypadku tych opcji zależy to od rzeczywistego typu adresu
i jego grupy opcji, który mechanizm jest używany. Drugim mechanizmem nie opartym na fd jest
priorytetowe.

cloexec=
Ustawia flagę FD_CLOEXEC z wywołaniem systemowym fcntl() na wartość . Jeśli ustawione,
deskryptor pliku jest zamykany przy wywołaniach funkcji rodziny exec(). Socat wewnętrznie uchwyty
ta flaga dla plików fd, które kontroluje, więc w większości przypadków nie będzie potrzeby stosowania
ta opcja.

setk Próbuje ustawić dyskrecjonalną blokadę zapisu dla całego pliku za pomocą fcntl(fd,
F_SETLK, ...) wywołanie systemowe. Jeśli plik jest już zablokowany, wywołanie to spowoduje
błąd. W systemie Linux, gdy uprawnienia do plików dla grupy to „S” (gx,g+s), a
system plików jest montowany lokalnie z opcją "mand", blokada jest obowiązkowa, tj
uniemożliwia innym procesom otwarcie pliku.

setkw Próbuje ustawić dyskrecjonalną blokadę oczekiwania na zapis dla całego pliku za pomocą
fcntl(fd, F_SETLKW, ...) wywołanie systemowe. Jeśli plik jest już zablokowany, to wywołanie
Bloki. Zobacz opcję setlk, aby dowiedzieć się, jak ustawić tę blokadę jako obowiązkową.

setlk-rd
Próbuje ustawić dyskrecjonalną blokadę odczytu dla całego pliku za pomocą fcntl(fd,
F_SETLK, ...) wywołanie systemowe. Jeśli plik jest już zablokowany przed zapisem, wywołanie to skutkuje
w błędzie. Zobacz opcję setlk, aby dowiedzieć się, jak ustawić tę blokadę jako obowiązkową.

setlkw-rd
Próbuje ustawić dyskrecjonalną blokadę oczekiwania na odczyt dla całego pliku za pomocą
fcntl(fd, F_SETLKW, ...) wywołanie systemowe. Jeśli plik jest już zablokowany przed zapisem, to
bloki połączeń. Zobacz opcję setlk, aby dowiedzieć się, jak ustawić tę blokadę jako obowiązkową.

stado ex
Próbuje ustawić blokującą wyłączną blokadę doradczą dla pliku za pomocą flock(fd,
LOCK_EX) wywołanie systemowe. Socat zawiesza się w tym wywołaniu, jeśli plik jest zablokowany przez inny
proces.

stado-ex-nb
Próbuje ustawić nieblokującą wyłączną blokadę doradczą pliku za pomocą flock(fd,
LOCK_EX|LOCK_NB) wywołanie systemowe. Jeśli plik jest już zablokowany, ta opcja powoduje
błąd.

stado-sz
Próbuje ustawić blokującą współdzieloną blokadę doradczą na plik za pomocą flock(fd,
LOCK_SH) wywołanie systemowe. Socat zawiesza się w tym wywołaniu, jeśli plik jest zablokowany przez inny
proces.

stado-sz-nb
Próbuje ustawić nieblokującą współdzieloną blokadę doradczą pliku za pomocą flock(fd,
LOCK_SH|LOCK_NB) wywołanie systemowe. Jeśli plik jest już zablokowany, ta opcja powoduje
błąd.

zablokować Ustawia blokadę blokującą na pliku. Wykorzystuje mechanizm setlk lub flock w zależności od
dostępność na danej platformie. Jeśli oba są dostępne, wariant POSIX
(setlkw) jest używany.

użytkownik=
Ustawia (właściciel) strumienia. Jeśli adres jest członkiem NAMED
grupa opcji, sok używa wywołania systemowego chown() po otwarciu pliku lub powiązaniu
do gniazda domeny UNIX (warunek wyścigu!). Bez wpisu systemu plików, sok zestawy
użytkownik strumienia za pomocą wywołania systemowego fchown(). Te połączenia mogą wymagać
uprawnienia administratora.

użytkownik-późny=
Ustawia właściciela fd na z wywołaniem systemowym fchown() po otwarciu lub
podłączenie kanału. Jest to przydatne tylko w przypadku wpisów systemu plików.

grupa=
Ustawia strumienia. Jeśli adres jest członkiem opcji NAMED
Grupa, sok używa wywołania systemowego chown() po otwarciu pliku lub powiązaniu z
Gniazdo domeny UNIX (warunek wyścigu!). Bez wpisu systemu plików, sok ustawia
grupa strumienia z wywołaniem systemowym fchown(). Te połączenia mogą wymagać grupy
członkostwo lub uprawnienia roota.

grupa późno=
Ustawia grupę fd na z wywołaniem systemowym fchown() po otwarciu lub
podłączenie kanału. Jest to przydatne tylko w przypadku wpisów systemu plików.

tryb=
Ustawia [mode_t] (uprawnienia) strumienia. Jeśli adres jest członkiem
grupa opcji NAMED i używa wywołania open() lub creat(), tryb jest stosowany
z nimi. Jeśli adres jest członkiem grupy opcji NAZWA bez użycia tych
wywołania systemowe, sok używa wywołania systemowego chmod() po otwarciu wpisu systemu plików
lub powiązanie z gniazdem domeny UNIX (warunek wyścigu!). W przeciwnym razie, sok ustawia
tryb strumienia za pomocą fchmod() . Te wywołania mogą wymagać własności lub roota
przywilej.

perm-późny=
Ustawia uprawnienia fd na wartość [mode_t] przy użyciu systemu fchmod()
wywołanie po otwarciu lub podłączeniu kanału. Jest to przydatne tylko w systemie plików
wpisy.

dołącz=
Zawsze zapisuje dane do rzeczywistego końca pliku. Jeśli adres jest członkiem OPEN
grupa opcji, sok używa flagi O_APPEND z wywołaniem systemowym open() (przykład).
Inaczej, sok stosuje wywołanie fcntl(fd, F_SETFL, O_APPEND).

nonblock=
Próbuje otworzyć lub użyć pliku w trybie nieblokującym. Jego jedynym skutkiem jest to, że
Wywołanie connect() adresów TCP nie blokuje, a otwarcie nazwanego potoku dla
czytanie nie blokuje. Jeżeli adres należy do grupy opcji OPEN, sok
używa flagi O_NONBLOCK z wywołaniem systemowym open(). W przeciwnym razie, sok stosuje
wywołanie fcntl(fd, F_SETFL, O_NONBLOCK).

dwójkowy Otwiera plik w trybie binarnym, aby uniknąć niejawnej konwersji terminatora wiersza
(Cygwina).

XNUMX Otwiera plik w trybie tekstowym w celu wymuszenia niejawnej konwersji terminatora wiersza (Cygwin).

nie odziedziczyć
Nie utrzymuje tego pliku otwartego w procesie odradzania (Cygwin).

fajnie pisać
Ułatwia, gdy zapis nie powiedzie się za pomocą EPIPE lub ECONNRESET i rejestruje wiadomość za pomocą
tablica ogłoszeń poziom zamiast błąd. Zapobiega to zapełnieniu pliku dziennika
bezużyteczne komunikaty o błędach, gdy socat jest używany jako serwer o dużej objętości lub proxy, gdzie
klienci często przerywają połączenie.
Ta opcja jest eksperymentalna.

koniec-zamknij
Zmienia (zależną od adresu) metodę kończenia połączenia, aby zamknąć
deskryptory plików. Jest to przydatne, gdy połączenie ma być ponownie używane lub udostępniane
z innymi procesami (przykład).
Normalnie połączenia gniazdowe będą zakończone zamknięcie(2) który kończy
Socket, nawet jeśli jest współużytkowany przez wiele procesów. zamknięte(2) "odłącza" gniazdo
z procesu, ale utrzymuje go aktywnym, dopóki istnieją linki od innych
procesów.
Podobnie, gdy kończy się adres typu EXEC lub SYSTEM, socat zwykle:
jawnie zabić proces podrzędny. Dzięki tej opcji po prostu zamknie plik
deskryptory.

zamknij się
Zmienia (zależną od adresu) metodę wyłączania części zapisu a
połączenie nic nie robić.

wyłączenia
Zmienia (zależną od adresu) metodę wyłączania części zapisu a
połączenie z zamknięciem\(fd, SHUT_WR). Przydaje się tylko z gniazdami.

zamknij-zamknij
Zmienia (zależną od adresu) metodę wyłączania części zapisu a
połączenie do zamknięcia\(fd).

zamknij-null
Gdy jeden adres wskazuje EOF, sok wyśle ​​pakiet o rozmiarze zerowym do zapisu
kanał drugiego adresu do przekazania warunku EOF. Jest to przydatne w przypadku UDP
i inne protokoły datagramowe. Został przetestowany pod kątem netcat i socat z opcją
null-eof.

null-eof
Normalnie sok zignoruje puste pakiety (ładunek o zerowym rozmiarze) przychodzące na datagram
gniazda, dzięki czemu przetrwa skanowanie portów. Z tą opcją sok interpretuje pusty
pakiety datagramowe jako wskaźnik EOF (patrz Shut-null).

ioctl-unieważnienie=
Wywołuje ioctl() z wartością żądania jako drugim argumentem i NULL jako trzecim argumentem.
Ta opcja pozwala na użycie ioctl, które nie są jawnie zaimplementowane w socat.

ioctl-int= :
Wywołuje ioctl() z wartością żądania jako drugim argumentem i wartością całkowitą jako
trzeci argument.

ioctl-intp= :
Wywołuje ioctl() z wartością żądania jako drugim argumentem i wskaźnikiem do
wartość całkowita jako trzeci argument.

ioctl-bin= :
Wywołuje ioctl() z wartością żądania jako drugim argumentem i wskaźnikiem do podanego
wartość danych jako trzeci argument. Te dane muszą być określone w Formularz.

ciąg-ioctl= :
Wywołuje ioctl() z wartością żądania jako drugim argumentem i wskaźnikiem do podanego
ciąg jako trzeci argument. Formularz.

NAMED opcja grupa

Te opcje działają na wpisach systemu plików.
Zobacz także opcje użytkownik, grupa i tryb.

user-early=
Zmienia (właściciel) wpisu systemu plików przed uzyskaniem do niego dostępu, używając
Wywołanie systemowe chown(). To wywołanie może wymagać uprawnień administratora.

grupa-wczesna=
Zmienia wpisu systemu plików przed uzyskaniem do niego dostępu za pomocą funkcji chown()
wywołanie systemowe. To wywołanie może wymagać członkostwa w grupie lub uprawnień administratora.

trwała-wczesna=
Zmienia [tryb_t] wpisu systemu plików przed uzyskaniem do niego dostępu, używając
Wywołanie systemowe chmod(). To wywołanie może wymagać prawa własności lub uprawnień administratora.

umask=
Ustawia umask procesu na [mode_t] przed uzyskaniem dostępu do systemu plików
wpis (przydatny z gniazdami domeny UNIX!). To wezwanie może wpłynąć na wszystkie dalsze
operacje sok proces!

wczesne odłączenie
Odłącza (usuwa) plik przed jego otwarciem, a nawet przed wczesnym zastosowaniem użytkownika
itd.

odczepić Odłącza (usuwa) plik przed uzyskaniem do niego dostępu, ale po wczesnej fazie użytkownika itp.

spóźnione odłączenie
Odłącza (usuwa) plik po otwarciu go, aby stał się niedostępny dla innych
procesy po krótkim wyścigu.

odłącz-zamknij
Usuwa wpis z systemu plików adresów podczas zamykania adresu. Dla rur nazwanych,
nasłuchujące gniazda domeny unix i dowiązania symboliczne adresów pty, domyślnie
wynosi 1; dla utworzonych plików, otwartych plików, ogólnych otwartych plików i domeny uniksowej klienta
domyślną wartością gniazd jest 0.

OPEN opcja grupa

Opcje grupy OPEN pozwalają ustawić flagi za pomocą wywołania systemowego open(). Np. opcja
`create' ustawia flagę O_CREAT.
Zobacz także opcje append i nonblock.

tworzenie=
Tworzy plik, jeśli nie istnieje (przykład).

dsync=
Blokuje wywołania write(), dopóki metainformacje nie zostaną fizycznie zapisane na nośniku.

wył=
W przypadku opcji create, jeśli plik istnieje, jest to błąd.

largefile=
W systemach 32-bitowych zezwala na plik większy niż 2^31 bajtów.

nie ma czasu
Ustawia opcje O_NOATIME, więc odczyty nie zmieniają znacznika czasu dostępu.

noctty=
Nie czyni tego pliku terminalem sterującym.

nofollow=
Nie podąża za dowiązaniami symbolicznymi.

nshare=
Nie pozwala na udostępnianie tego pliku innym procesom.

rshare=
Nie zezwala innym procesom na otwarcie tego pliku do zapisu.

rsync=
Blokuje write(), dopóki metainformacje nie zostaną fizycznie zapisane na nośniku.

synchronizacja=
Blokuje write(), dopóki dane nie zostaną fizycznie zapisane na nośniku.

rdonly=
Otwiera plik tylko do odczytu.

błędnie=
Otwiera plik tylko do zapisu.

trunc Obcina plik do rozmiaru 0 podczas jego otwierania.

REG i BLK opcja grupa

Te opcje są zwykle stosowane do deskryptora plików UN*X, ale ich semantyka sprawia, że:
wyczuć tylko na pliku obsługującym dostęp losowy.

szukać=
Stosuje lseek(fd, , SEEK_SET) (lub lseek64 ), więc
pozycjonowanie wskaźnika pliku absolutnie na [off_t lub off64_t]. Proszę zanotować
że brakująca wartość domyślnie wynosi 1, a nie 0.

szukanie-kur=
Stosuje lseek(fd, , SEEK_CUR) (lub lseek64 ), więc
pozycjonowanie wskaźnika pliku [off_t lub off64_t] bajtów w stosunku do jego
aktualna pozycja (która zwykle wynosi 0). Należy pamiętać, że brakująca wartość jest domyślnie
1, a nie 0.

poszukiwanie-koniec=
Stosuje lseek(fd, , SEEK_END) (lub lseek64 ) wywołanie systemowe, stąd
pozycjonowanie wskaźnika pliku [off_t lub off64_t] bajtów w stosunku do
pliki bieżący koniec. Należy pamiętać, że brakująca wartość domyślnie wynosi 1, a nie 0.

fruncate=
Stosuje ftruncate(fd, ) (lub ftruncate64, jeśli jest dostępne) wywołanie systemowe, stąd
obcinanie pliku na pozycji [off_t lub off64_t]. Należy pamiętać, że
brakująca wartość domyślnie wynosi 1, a nie 0.

sekrm=

unrm=

compr=

ext2-sync=

niezmienny=

ext2-append=

nodump=

ext2-noatime=

dane-dziennika=

notatka=

dirsync=
Te opcje zmieniają niestandardowe atrybuty plików w systemach operacyjnych i plikach
systemy obsługujące te funkcje, takie jak Linux z ext2fs, ext3fs lub reiserfs.
Zobacz chattr man 1, aby uzyskać informacje na temat tych opcji. Pamiętaj, że może być
wyścig między utworzeniem pliku a zastosowaniem tych opcji.

PROCES opcja grupa

Opcje z tej grupy zmieniają właściwości procesu zamiast wpływać tylko na jedne dane
kanał. Dla adresów EXEC i SYSTEM oraz dla adresów typu LISTEN i CONNECT z
opcja FORK, te opcje dotyczą procesów potomnych zamiast głównego procesu socat.

chroot=
Wykonuje operację chroot(), aby po przetworzeniu adresu
(przykład). To wywołanie może wymagać uprawnień administratora.

chroot-early=
Wykonuje operację chroot(), aby przed otwarciem adresu. To wezwanie
może wymagać uprawnień administratora.

setgid=
Zmienia podstawowy procesu po przetworzeniu adresu. To wezwanie
może wymagać uprawnień administratora. Należy pamiętać, że ta opcja nie rezygnuje z innych
uprawnienia związane z grupą.

setgid-early=
Podobnie jak setgit, ale jest wykonywany przed otwarciem adresu.

setuid=
Zmienia (właściciel) procesu po przetworzeniu adresu. To wezwanie
może wymagać uprawnień administratora. Należy pamiętać, że ta opcja nie usuwa grupy
powiązane przywileje. Sprawdź, czy opcja su lepiej pasuje do Twoich potrzeb.

setuid-wczesny=
Jak setuid, ale jest wykonywany przed otwarciem adresu.

su=
Zmienia (właściciel) i grupy procesu po przetworzeniu adresu
(przykład). To wywołanie może wymagać uprawnień administratora.

su-d=
Krótka nazwa dla podrzędnego opóźnionego. Zmienia (właściciel) i grupy
proces po przetworzeniu adresu (przykład). Użytkownik i jego grupy są
odzyskane zanim możliwy chroot() . To wywołanie może wymagać uprawnień administratora.

setpgid=
Sprawia, że ​​proces jest członkiem określonej grupy procesów . Jeśli nie ma wartości
podany, lub jeśli wartość wynosi 0 lub 1, proces staje się liderem nowego procesu
grupa.

setid Czyni proces liderem nowej sesji (przykład).

CZYTAJ LINIĘ opcja grupa

Z powodu ograniczeń licencyjnych funkcja readline jest wyłączona w Debianie (zobacz BŁĘDY).
Te opcje dotyczą typu adresu readline.

historia=
Czyta i zapisuje historię od/do (przykład).

bez pytania
Od wersji 1.4.0, socat domyślnie próbuje określić znak zachęty - to jest wtedy
przekazywane do wywołania readline - poprzez zapamiętanie ostatniej niepełnej linii
wyjście. Dzięki tej opcji socat nie przekazuje zachęty do readline, więc zaczyna się
edycja linii w pierwszej kolumnie terminala.

noecho=
Określa regularny wzór monitu, który zapobiega następującym wierszom wejściowym
przed wyświetleniem na ekranie i dodaniem do historii. Monit
jest zdefiniowany jako tekst, który został wyprowadzony na adres readline po ostatnim
znak nowej linii i przed wpisaniem znaku wejściowego. Wzór jest regularny
wyrażenie, np. "^[Pp]hasło:.*$" lub "([Uu]ser:|[Pp]hasło:)". Zobacz wyrażenie regularne\(7)
dla szczegółów. (przykład)

monit=
Przekazuje ciąg znaków jako zachętę do funkcji readline. readline wyświetla ten monit
przemierzając historię. Jeśli ten ciąg pasuje do stałego monitu wydanego
przez interaktywny program pod drugim adresem socat, spójny wygląd i styl mogą
być archiwizowane.

WNIOSEK opcja grupa

Ta grupa zawiera opcje, które działają na poziomie danych. Pamiętaj, że te opcje mają zastosowanie tylko
do "surowych" danych przesyłanych przez socat, ale nie do danych protokołu używanych przez adresy takie jak
PEŁNOMOCNIK.

cr Konwertuje domyślny znak zakończenia linii NL ('\n', 0x0a) na/z CR ('\r',
0x0d) podczas zapisu/odczytu na tym kanale.

krnl Konwertuje domyślny znak zakończenia linii NL ('\n', 0x0a) na/z CRNL
("\r\n", 0x0d0a) podczas zapisu/odczytu na tym kanale (przykład). Uwaga: socat
po prostu usuwa wszystkie znaki CR.

ignorować
Gdy na tym kanale wystąpi EOF, sok ignoruje go i próbuje odczytać więcej danych (np.
"ogon -f") (przykład).

readbytes=
sok odczytuje tylko tyle bajtów z tego adresu (adres podaje tylko tyle
bajtów do przesłania i udaje, że jest później w EOF). Musi być większa niż 0.

lockfile=
Jeśli plik blokady istnieje, kończy pracę z błędem. Jeśli plik blokady nie istnieje, tworzy go i
kontynuuje, odłącza plik blokujący przy wyjściu.

waitlock=
Jeśli plik blokujący istnieje, czeka, aż zniknie. Gdy plik blokady nie istnieje,
tworzy go i kontynuuje, odłącza plik blokujący przy wyjściu.

ucieczka=
Określa kod numeryczny znaku, który wyzwala EOF w strumieniu wejściowym. To
jest przydatne z terminalem w trybie surowym (przykład).

GNIAZDO ELEKTRYCZNE opcja grupa

Opcje te są przeznaczone dla wszystkich rodzajów gniazd, np. domeny IP lub UNIX. Większość jest
stosowane z wywołaniem setsockopt().

wiązanie=
Wiąże gniazdo z podanym adresem gniazda za pomocą wywołania systemowego bind(). Forma
z jest zależny od domeny gniazda: IP4 i IP6 zezwalają na formę
[nazwa hosta|adres hosta][:(usługa|port)] (przykład), gniazda domeny UNIX wymagają
.

limit czasu połączenia=
Przerwij próbę połączenia po [czas] ze statusem błędu.

so-bindtodevice=
Wiąże gniazdo z podanym . Ta opcja może wymagać roota
przywilej.

nadawanie
W przypadku gniazd datagramowych umożliwia wysyłanie na adresy rozgłoszeniowe i odbieranie pakietów
adresowane do adresów rozgłoszeniowych.

debug Włącza debugowanie gniazd.

dontrout
Komunikuje się tylko z bezpośrednio podłączonymi peerami, nie korzysta z routerów.

keepalive
Umożliwia wysyłanie komunikatów podtrzymujących w gnieździe.

ociągać się=
Blokuje shutdown() lub close() aż do zakończenia przesyłania danych lub danego
upłynął limit czasu [int].

oobinline
Umieszcza dane spoza pasma w strumieniu danych wejściowych.

priorytet=
Ustawia zdefiniowany protokół [ ] dla pakietów wychodzących.

rcvbuf=
Ustawia rozmiar bufora odbioru po wywołaniu socket() na [int]. Z
Gniazda TCP, ta wartość odpowiada maksymalnemu rozmiarowi okna gniazda.

rcvbuf-późny=
Ustawia rozmiar bufora odbioru, gdy gniazdo jest już podłączone do
[int]. W przypadku gniazd TCP ta wartość odpowiada maksymalnemu oknu gniazda
rozmiar.

rcvlowat=
Określa minimalną liczbę odebranych bajtów [int] do momentu, gdy warstwa gniazda będzie
przekaż zbuforowane dane do sok.

rcvtimeo=
Ustawia limit czasu odbioru [timeval].

ponowne użycie
Pozwala innym gniazdom na wiązanie się z adresem, nawet jeśli jest to jego część (np. lokalny
port) są już używane przez sok (przykład).

sndbuf=
Ustawia rozmiar bufora wysyłania po wywołaniu socket() na [int].

sndbuf-późny=
Ustawia rozmiar bufora wysyłania, gdy gniazdo jest podłączone do [int].

sndlowat=
Określa minimalną liczbę bajtów w buforze wysyłania do warstwy gniazda
wyśle ​​dane do [int].

sndtimeo=
Ustawia limit czasu wysyłania na sekundy [timeval].

pf=
Wymusza użycie określonej wersji IP lub protokołu. może być czymś
jak „ip4” lub „ip6”. Wynikowa wartość jest używana jako pierwszy argument funkcji socket()
lub wywołania socketpair(). Ta opcja wpływa na rozdzielczość adresów i wymagane
składnia opcji powiązania i zakresu.

typ=
Ustawia typ gniazda, określony jako drugi argument funkcji socket() lub
Wywołania socketpair(), do [int]. Nie ma to wpływu na rozdzielczość adresów
opcja. W systemie Linux 1 oznacza gniazdo zorientowane na strumień, 2 oznacza gniazdo datagramowe, a
3 oznacza surowe gniazdo.

prototyp
Ustawia protokół gniazda, określony jako trzeci argument funkcji socket() lub
Wywołania socketpair(), do [int]. Na rozdzielczość adresu nie ma wpływu
ta opcja. 6 oznacza TCP, 17 oznacza UDP.

tak-sygnatura czasowa
Ustawia opcję gniazda SO_TIMESTAMP. Umożliwia to odbieranie i logowanie
dodatkowe wiadomości z sygnaturą czasową.

setsockopt-int= : :
Wywołuje setsockopt() dla gniazda z podanymi parametrami. używany jest poziom [int]
jako drugi argument setsockopt() i określa warstwę, np. SOL_TCP dla TCP (6
w systemie Linux) lub SOL_SOCKET dla warstwy gniazd (1 w systemie Linux). optname [int] to
trzeci argument do setsockopt() i mówi, która opcja gniazda ma zostać ustawiona. Dla
rzeczywiste numery, które możesz potrzebować, aby wyszukać odpowiednie pliki dołączane swojego
system. Czwarty parametr setsockopt(), wartość [int], jest przekazywany do funkcji per
wskaźnik, a dla długości parametr sizeof\(int) jest przyjmowany niejawnie.

setsockopt-bin= : :
Jak setsockopt-int, ale musi być dostarczony w formacie dalan i określa
dowolna sekwencja bajtów; parametr długości jest automatycznie wyprowadzany z
danych.

setsockopt-string= : :
Jak setsockopt-int, ale musi być ciągiem. Ten ciąg jest przekazywany do
funkcja z końcowym znakiem null, a parametr długości jest automatycznie
pochodzące z danych.

UNIX opcja grupa

Te opcje dotyczą adresów opartych na domenie UNIX.

unix-tightsocklen=[0|1]
W operacjach na gniazdach przekaż długość adresu gniazda, która nie obejmuje całości
struct sockaddr_un rekord, ale (oprócz innych komponentów) tylko odpowiednia część
nazwę pliku lub abstrakcyjny ciąg. Wartość domyślna to 1.

IP4 i IP6 opcja grupy

Te opcje mogą być używane z gniazdami opartymi na protokole IPv4 i IPv6.

tos=
Ustawia pole TOS (typ usługi) wychodzących pakietów na [bajt] (patrz RFC
791).

ttl=
Ustawia pole TTL (czas życia) wychodzących pakietów na [bajt].

ip-opcje=
Ustawia opcje IP, takie jak routing źródłowy. Należy podać w formie binarnej, zalecane
format to wiodący „x”, po którym następuje parzysta liczba cyfr szesnastkowych. Ta opcja może
być używane wielokrotnie, dane są dołączane. Np. aby połączyć się z hostem 10.0.0.1 przez
jakaś bramka korzystająca z luźnej trasy źródłowej, użyj bramy jako parametru adresu i
ustaw luźną trasę źródłową za pomocą opcji ip-options=x8307040a000001 .
Opcje IP są zdefiniowane w RFC 791.

mtudiscover=<0|1|2>
Zajmuje 0, 1, 2, aby nigdy, nie chcieć lub zawsze używaj ścieżki MTU Discover w tym gnieździe.

ip-pktinfo
Ustawia opcję gniazda IP_PKTINFO. Umożliwia to odbieranie i rejestrowanie pomocniczych
wiadomości zawierające adres docelowy i interfejs (Linux) (przykład).

ip-recverr
Ustawia opcję gniazda IP_RECVERR. Umożliwia to odbieranie i rejestrowanie pomocniczych
komunikaty zawierające szczegółowe informacje o błędach.

ip-recvopts
Ustawia opcję gniazda IP_RECVOPTS. Umożliwia to odbieranie i logowanie IP
opcje wiadomości pomocniczych (Linux, *BSD).

ip-recvtos
Ustawia opcję gniazda IP_RECVTOS. Umożliwia to odbieranie i rejestrowanie TOS (typ
usługi) wiadomości pomocniczych (Linux).

ip-recvtl
Ustawia opcję gniazda IP_RECVTTL. Umożliwia to odbieranie i rejestrowanie TTL (czas
na żywo) wiadomości pomocniczych (Linux, *BSD).

ip-recvdstaddr
Ustawia opcję gniazda IP_RECVDSTADDR. Umożliwia to odbieranie i logowanie
komunikaty pomocnicze zawierające adres docelowy (*BSD) (przykład).

ip-recvif
Ustawia opcję gniazda IP_RECVIF. Umożliwia to odbieranie i logowanie interfejsu
komunikaty pomocnicze (*BSD) (przykład).

ip-dodaj-członkostwo=

ip-dodaj-członkostwo=

ip-dodaj-członkostwo=

ip-dodaj-członkostwo=

ip-dodaj-członkostwo=
Tworzy element członkowski gniazda określonej grupy multiemisji. To jest obecnie tylko
zaimplementowany dla IPv4. Opcja pobiera adres IP grupy multicast i
informacje o żądanym interfejsie sieciowym. Najpopularniejsza składnia to pierwsza,
podczas gdy inne są dostępne tylko w systemach, które udostępniają struct mreqn (Linux).
Indeksy aktywnych interfejsów sieciowych można wyświetlić za pomocą narzędzia prokan.

ip-multicast-if=
Określa nazwę hosta lub adres interfejsu sieciowego, który ma być używany do multiemisji
ruch drogowy.

ip-multicast-loop=
Określa, czy wychodzący ruch multiemisji powinien zapętlić się z powrotem do interfejsu.

ip-multicast-ttl=
Ustawia czas TTL używany dla wychodzącego ruchu multiemisji. Wartość domyślna to 1.

ponowne debugowanie

res-aaonly

ponowne użycievc

res-podstawowy

rezygnacja

rekurencja

res-definicje

res-pobyt otwarty

res-dnsrch
Te opcje ustawiają odpowiednie flagi opcji rozpoznawania nazw (solver).
Dołącz „=0”, aby wyczyścić domyślną opcję. Zobacz man resolver\(5), aby uzyskać więcej informacji na temat
te opcje. Uwaga: te opcje są ważne tylko dla adresu, w którym są stosowane
do.

IP6 opcja grupa

Te opcje mogą być używane tylko w gniazdach opartych na protokole IPv6. Zobacz opcje IP dla opcji, które mogą:
być stosowane do gniazd IPv4 i IPv6.

ipv6only=
Ustawia opcję gniazda IPV6_V6ONLY. Jeśli 0, stos TCP również zaakceptuje
połączenia przy użyciu protokołu IPv4 na tym samym porcie. Wartość domyślna jest zależna od systemu.

IPv6-recvdstopts
Ustawia opcję gniazda IPV6_RECVDSTOPTS. Umożliwia to odbieranie i logowanie
dodatkowe wiadomości zawierające opcje miejsca docelowego.

IPv6-recvhoplimit
Ustawia opcję gniazda IPV6_RECVHOPLIMIT. Umożliwia to odbieranie i logowanie
komunikaty pomocnicze zawierające limit przeskoków.

ipv6-recvhoopts
Ustawia opcję gniazda IPV6_RECVHOPOPTS. Umożliwia to odbieranie i logowanie
komunikaty pomocnicze zawierające opcje przeskoku.

ipv6-recvpktinfo
Ustawia opcję gniazda IPV6_RECVPKTINFO. Umożliwia to odbieranie i logowanie
komunikaty pomocnicze zawierające adres docelowy i interfejs.

ipv6-unicast-hops=link(TYPE_INT)( )
Ustawia opcję gniazda IPV6_UNICAST_HOPS. Ustawia limit liczby przeskoków (TTL) dla
wychodzące pakiety emisji pojedynczej.

ipv6-recvrthdr
Ustawia opcję gniazda IPV6_RECVRTHDR. Umożliwia to odbieranie i logowanie
komunikaty pomocnicze zawierające informacje o routingu.

IPv6-tclass
Ustawia opcję gniazda IPV6_TCLASS. Ustawia to klasę transferu wychodzących
pakiety.

ipv6-recvtclass
Ustawia opcję gniazda IPV6_RECVTCLASS. Umożliwia to odbieranie i logowanie
komunikaty pomocnicze zawierające klasę transferu.

TCP opcja grupa

Te opcje można zastosować do gniazd TCP. Działają poprzez wywołanie setsockopt() z
odpowiednie parametry.

korek Nie wysyła pakietów mniejszych niż MSS (maksymalny rozmiar segmentu).

odroczyć akceptację
Podczas nasłuchiwania akceptuje połączenia tylko wtedy, gdy nadejdą dane od peera.

zachowaj cnt=
Ustawia liczbę podtrzymania aktywności przed wyłączeniem gniazda na [int].

bezczynny=
Ustawia czas bezczynności przed wysłaniem pierwszego keepalive do [int].

keepintvl=
Ustawia interwał między dwoma podtrzymaniami na [int].

zaleganie2=
Ustawia czas utrzymywania gniazda w stanie FIN-WAIT-2 na [int].

mss=
Ustawia MSS (maksymalny rozmiar segmentu) po wywołaniu socket() na [int]. Ten
wartość jest następnie proponowana do peera z pakietem SYN lub SYN/ACK (przykład).

mss-późny=
Ustawia MSS gniazda po nawiązaniu połączenia na [int].

bez opóźnień
Wyłącza algorytm Nagle'a do pomiaru RTT (czas podróży w obie strony).

RFC1323
Włącza opcje RFC1323 TCP: skalowanie okna TCP, pomiar czasu w obie strony (RTTM),
i chronić przed opakowanymi numerami sekwencyjnymi (PAWS) (AIX).

stdurg Włącza obsługę pilnych wskaźników zgodną z RFC1122 (AIX).

syncnt=
Ustawia maksymalną liczbę retransmisji SYN podczas połączenia z [int].

md5sig Umożliwia generowanie skrótów MD5 na pakietach (FreeBSD).

nie, nie Wyłącza korzystanie z opcji TCP (FreeBSD, MacOSX).

nie pchaj ustawia opcję gniazda TCP_NOPUSH (FreeBSD, MacOSX).

worek-wyłącz
Wyłącza używanie funkcji selektywnego potwierdzania (OpenBSD).

podpis-włącz
Umożliwia generowanie skrótów MD5 na pakietach (OpenBSD).

próg przerwania=
Ustawia czas oczekiwania na odpowiedź peera w nawiązanym połączeniu
(HP-UX).

conn-abort-threshold=
Ustawia czas oczekiwania na odpowiedź serwera podczas początkowego połączenia
(HP-UX).

utrzymuj
Ustawia czas oczekiwania na odpowiedź serwera podczas połączenia\() przed podaniem
w górę. Wartość w pół sekundy, domyślnie 150 (75s) (Tru64).

łapy Włącza funkcję „ochrony przed opakowanymi numerami sekwencji” (Tru64).

sackena
Włącza potwierdzanie selektywne (Tru64).

tsoptena
Włącza opcję znacznika czasu, która umożliwia ponowne obliczanie RTT dla istniejących połączeń
(Tru64).

SCTP opcja grupa

Te opcje można zastosować do gniazd strumienia SCTP.

sctp-nodelay
Ustawia opcję gniazda SCTP_NODELAY, która wyłącza algorytm Nagle'a.

sctp-maxseg=
Ustawia opcję gniazda SCTP_MAXSEG na [int]. Ta wartość jest następnie proponowana
do peera z pakietem SYN lub SYN/ACK.

UDP, TCP, i SCTP opcja grupy

Znajdziemy tutaj opcje, które są związane z mechanizmem portu sieciowego i dzięki temu można ich użyć
z adresami klientów i serwerów UDP, TCP i SCTP.

port źródłowy=
Dla wychodzących (klienckich) połączeń TCP i UDP ustawia źródło używając an
dodatkowe wywołanie bind(). W przypadku adresów nasłuchiwania TCP lub UDP socat natychmiast się wyłącza
połączenie, jeśli klient nie używa tego portu źródłowego (przykład).

niski port
Wychodzące (klienckie) połączenia TCP i UDP z tą opcją wykorzystują nieużywany losowy
port źródłowy od 640 do 1023 włącznie. W systemach operacyjnych klasy UNIX to
wymaga uprawnień administratora, a tym samym wskazuje, że proces klienta jest autoryzowany
przez lokalny korzeń. Adresy nasłuchiwania TCP i UDP z tą opcją natychmiast się wyłącza
połączenie, jeśli klient nie korzysta z portu źródłowego <= 1023. Ten mechanizm może
w pewnych okolicznościach udzielać ograniczonej autoryzacji.

SKARPETY opcja grupa

Używając adresów typu SOCKS, można ustawić niektóre opcje dotyczące skarpet.

skarpetki= usługa>
Zastępuje domyślną usługę „socks” lub port 1080 dla portu serwera skarpetek za pomocą
.

skarpetki=
Wysyła [ciąg] w polu nazwy użytkownika do serwera skarpetek. Domyślnie jest to
rzeczywista nazwa użytkownika ($LOGNAME lub $USER) (przykład).

HTTP opcja grupa

Opcje, które można podać z adresami typu HTTP. Jedyny obecnie adres HTTP
zaimplementowane jest połączenie proxy.

port proxy= usługa>
Zastępuje domyślny port proxy HTTP 8080 przez .

ignorować
Protokół HTTP wymaga użycia CR+NL jako terminatora linii. Gdy serwer proxy
narusza ten standard, socat może nie zrozumieć jego odpowiedzi. Ta opcja kieruje
socat zinterpretuje NL jako terminator linii i zignoruje CR w odpowiedzi.
Mimo to socat wysyła CR+NL do proxy.

proxyauto= :
Zapewnij „podstawowe” uwierzytelnianie do serwera proxy. Argumentem przemawiającym za tą opcją jest
używany z nagłówkiem „Proxy-Authorization: Base” w postaci zakodowanej w base64.
Uwaga: nazwa użytkownika i hasło są widoczne dla każdego użytkownika na komputerze lokalnym w
Lista procesów; nazwa użytkownika i hasło są przesyłane do serwera proxy w postaci niezaszyfrowanej
(kodowanie base64) i może zostać sniffowany.

rozwiązać
Domyślnie socat wysyła do proxy żądanie CONNECT zawierające cel
nazwa hosta. Dzięki tej opcji socat rozwiązuje nazwę hosta lokalnie i wysyła adres IP
adres. Należy pamiętać, że zgodnie z RFC 2396, tylko rozpoznawanie nazw na IPv4
adresy są zaimplementowane.

RANGE opcja grupa

Te opcje sprawdzają, czy łączący się klient powinien otrzymać dostęp. Mogą być stosowane
do słuchania i odbierania gniazd sieciowych. Opcje tcp-wrappers należą do tej grupy.

zakres=
Po zaakceptowaniu połączenia sprawdza, czy peer jest w zasięgu zasięg. Dla IPv4
adresy, zakres-adresów przyjmuje postać adres/bity, np. 10.0.0.0/8, lub
adres:maska, np. 10.0.0.0:255.0.0.0 (przykład); w przypadku IPv6 jest to
[adres ip6/bity], np. [::1/128]. Jeśli adres klienta nie pasuje, sok
wydaje ostrzeżenie i nadal nasłuchuje/odbiera.

tcpwrap[= ]
Używa biblioteki libwrap (tcpd) Wietse Venema, aby określić, czy klient jest dozwolony
połączyć. Pliki konfiguracyjne są /etc/hosts.allow i /etc/hosts.deny dla
domyślnie, zobacz "man 5 hosts_access", aby uzyskać więcej informacji. Opcjonalne (rodzaj
string) jest przekazywany do funkcji opakowujących jako nazwa procesu demona (przykład). Jeśli
pominięto, przekazywana jest podstawowa nazwa wywołania socats (argv[0]). Jeśli oba tcpwrap
i zakres są stosowane do adresu, oba warunki muszą być spełnione, aby
zezwól na połączenie.

zezwalaj-tabeli=
Pobiera określony plik zamiast /etc/hosts.allow.

odmowa tabeli=
Pobiera określony plik zamiast /etc/hosts.deny.

tcpwrap-etc=
Szuka hosts.allow i hosts.deny w określonym katalogu. jest zastąpiony przez
opcje hosts-allow i hosts-deny.

SŁUCHAĆ opcja grupa

Opcje specyficzne dla gniazd nasłuchowych.

zaległości=
Ustawia wartość zaległości przekazaną z wywołaniem systemowym listen() na [int].
Wartość domyślna to 5.

max-dzieci=
Ogranicza liczbę współbieżnych procesów podrzędnych [int]. Domyślnie nie ma limitu.

DZIECKO opcja grupa

Opcje dla adresów z wieloma połączeniami za pośrednictwem procesów podrzędnych.

widelec Po nawiązaniu połączenia obsługuje swój kanał w procesie potomnym i utrzymuje
proces nadrzędny próbuje stworzyć więcej połączeń, albo przez nasłuchiwanie, albo
przez połączenie w pętlę (przykład).
OPENSSL-CONNECT i OPENSSL-LISTEN różnią się tym, kiedy faktycznie odrywają dziecko:

Widelce OPENSSL-LISTEN zanim uścisk dłoni SSL, podczas gdy widełki OPENSSLSSL-CONNECT
potem. Opcje RETRY i FOREVER nie są dziedziczone przez proces podrzędny.
W niektórych systemach operacyjnych (np. FreeBSD) ta opcja nie działa dla UDP-LISTEN
adresy.

WYKONAJ opcja grupa

Opcje adresów wywołujących program.

ścieżka=
Zastępuje zmienną środowiskową PATH do wyszukiwania programu za pomocą .
Ta wartość $PATH działa również w procesie potomnym.

Zaloguj Się Przedrostek argv[0] dla wywołania execvp() z „-”, dzięki czemu powłoka zachowuje się jak
powłoka logowania.

WIDELEC opcja grupa

Adresy EXEC lub SYSTEM wywołują program przy użyciu procesu potomnego i przesyłają dane między
sok i program. Na mechanizm komunikacji międzyprocesowej można wpływać za pomocą
następujące opcje. Domyślnie socketpair() jest tworzony i przypisywany do stdin i stdout
procesu potomnego, podczas gdy stderr jest dziedziczony z sok proces, a dziecko
proces używa deskryptorów plików 0 i 1 do komunikacji z głównym procesem socat.

niefork Nie rozwidla podprocesu do wykonywania programu, zamiast tego wywołuje execvp\() lub
system\() bezpośrednio z rzeczywistej instancji socat. Pozwala to uniknąć kosztów ogólnych
kolejny proces między programem a jego odpowiednikiem, ale wprowadza wiele
ograniczenia:

o tę opcję można zastosować tylko do drugiego sok adres.

o nie można go zastosować do części podwójnego adresu.

o pierwszym adresem socat nie może być OPENSSL ani READLINE

o opcje socat -b, -t, -D, -l, -v, -x stają się bezużyteczne

o dla obu adresów opcje ignoreeof, cr i crnl stają się bezużyteczne

o dla drugiego adresu (tego z opcją nofork), options append, cloexec,
flock, user, group, mode, nonblock, perm-late, setlk i setpgid nie mogą być
stosowany. Niektóre z nich mogłyby być jednak użyte pod pierwszym adresem.

Rury Tworzy parę nienazwanych potoków do komunikacji międzyprocesowej zamiast gniazda
para.

otwarty
Nawiązuje komunikację z podprocesem za pomocą pseudoterminalu utworzonego za pomocą
openpty() zamiast domyślnej (socketpair lub ptmx).

ptx Nawiązuje komunikację z podprocesem za pomocą pseudoterminalu stworzonego przez
otwarcie /dev/ptmx or /dev/ptc zamiast domyślnego (socketpair).

Pty Nawiązuje komunikację z podprocesem za pomocą pseudoterminalu zamiast
para gniazd. Tworzy pty z dostępnym mechanizmem. Jeśli openpty i ptmx są
oba są dostępne, używa ptmx, ponieważ jest zgodny z POSIX (przykład).

ctty Sprawia, że ​​pty jest tty kontrolującym proces podrzędny (przykład).

stderr Kieruje stderr podprocesu do jego kanału wyjściowego, czyniąc stderr dup() z
standardowe wyjście (przykład).

fdin=
Przypisuje kanał wejściowy podprocesów do jego deskryptora pliku zamiast
wejście (0). Program uruchomiony z podprocesu musi używać tego pliku fd do odczytu
dane z sok (przykład).

fdout=
Przypisuje kanał wyjściowy podprocesów do jego deskryptora pliku zamiast
wyjście standardowe (1). Program uruchomiony z podprocesu musi używać tego pliku fd do pisania
dane do sok (przykład).

westchnienie, podpis, sigquit
Ma sok przekazują sygnały tego typu do podprocesu. Jeśli nie ma tego adresu
opcja socat kończy się na tych sygnałach.

TERMIO opcja grupa

Dla adresów działających na tty (np. stdio, file:/dev/tty, exec:...,pty), terminal
parametry zdefiniowane w mechanizmie UN*X termios są udostępniane jako opcja adresowa
parametry. Należy pamiętać, że zmiany parametrów terminala interaktywnego
pozostają skuteczne po sok, więc może być konieczne wpisanie „reset” lub „stty
rozsądnie" w twojej powłoce później. Dla adresów EXEC i SYSTEM z opcją PTY, te
opcje mają zastosowanie do pty przez procesy potomne.

b0 Odłącza terminal.

b19200 Ustawia prędkość linii szeregowej na 19200 bodów. Możliwe są inne stawki; posługiwać się
coś takiego jak socat -hh |grep ' b[1-9]', aby znaleźć wszystkie prędkości obsługiwane przez twój
realizacja.
Uwaga: w niektórych systemach operacyjnych te opcje mogą być niedostępne. Użyj ispeed lub
zamiast tego.

echo=
Włącza lub wyłącza lokalne echo.

icanon=
Ustawia lub czyści tryb kanoniczny, włączając buforowanie linii i niektóre znaki specjalne.

surowy Ustawia tryb surowy, dzięki czemu dane wejściowe i wyjściowe są prawie nieprzetworzone. Ta opcja to
przestarzałe, zamiast tego użyj opcji rawer lub cfmakeraw.

surowiec Sprawia, że ​​terminal jest bardziej surowy niż opcja surowa. Ta opcja domyślnie wyłącza echo.
(przykład).

cfmakeraw
Ustawia tryb surowy, wywołując cfmakeraw() lub symulując to wywołanie. Ta opcja
domyślnie wyłącza echo.

ignbrk=
Ignoruje lub interpretuje znak BREAK (np. ^C)

brkint=

bs0

bs1

bsdly=<0|1>

clocal=

cr0
cr1
cr2
cr3

Ustawia opóźnienie powrotu karetki odpowiednio na 0, 1, 2 lub 3. 0 oznacza brak opóźnienia,
pozostałe wartości są zależne od terminala.

crdly=<0|1|2|3>

cred=

crtscts=

cs5
cs6
cs7
cs8

Ustawia rozmiar znaku odpowiednio na 5, 6, 7 lub 8 bitów.

csize=<0|1|2|3>

cstopb=
Ustawia dwa bity stopu zamiast jednego.

dsusp=
Ustawia wartość znaku VDSUSP, który zawiesza bieżący pierwszy plan
przetwarza i reaktywuje powłokę (wszystkie z wyjątkiem Linuksa).

echoctl=
Echos kontroluje znaki w notacji kapelusza (np. ^A)

echoe=

echok=

echoke=

echonl=

echoprt=

eof=

eol=

eol2=

kasować=

odrzuć=

ff0

ff1

ffdly=

flusho=

hupcl=

icrnl=

iexten=

igncr=

ignpar=

imaxbel=

włcr=

inpck=

intr=

isig=

prędkość=
Ustaw szybkość transmisji danych przychodzących na tej linii.
Zobacz też: ospeed, b19200

istrip=

iuclc=

ixany=

ixoff=

ikson=

zabić=

następne=

min=

nl0 Ustawia opóźnienie nowej linii na 0.

nl1

nldly=

noflsh=

ocrnl=

ofdel=

ofill=

olkuk=

onlcr=

onlret=

onokr=

opost=
Włącza lub wyłącza przetwarzanie danych wyjściowych; np. konwertuje NL na CR-NL.

ospeed=
Ustaw szybkość transmisji dla danych wychodzących na tej linii.
Zobacz też: ispeed, b19200

parenb=
Włącz generowanie parzystości na wyjściu i sprawdzanie parzystości dla danych wejściowych.

parmrk=

parodd=

pendin=

zakończ=

przedruk=

rozsądny Sprowadza terminal do użytecznego stanu domyślnego.

początek=

stop=

susp=

swtc=

tab0

tab1

tab2

tab3

tabdly=

czas=

zatrzymać=

vt0

vt1

vtdly=

wase=

xcase=

xtab

ja-pop-wszyscy
W systemie UNIX System V STREAMS usuwa wszystkie sterowniki ze stosu.

i-push=
Z UNIX System V STREAMS, wypycha sterownik (moduł) o podanej nazwie (string)
na stos. Na przykład, aby upewnić się, że urządzenie znakowe w systemie Solaris
obsługuje termios itp., użyj następujących opcji:
i-pop-all,i-push=ptem,i-push=ldterm,i-push=ttcompat

PTY opcja grupa

Te opcje są przeznaczone do użytku z typem adresu pty.

link=
Generuje dowiązanie symboliczne, które wskazuje na rzeczywisty pseudoterminal (pty). Ten
może pomóc w rozwiązaniu problemu, z którym generowane są ptys za pomocą mniej lub więcej
nieprzewidywalne nazwy, co utrudnia bezpośredni dostęp do pliku pty generowanego przez socat
automatycznie. Dzięki tej opcji użytkownik może określić punkt „naprawienia” w pliku
hierarchia, która pomaga mu uzyskać dostęp do rzeczywistego pty (przykład). Zaczynając od sok
w wersji 1.4.3, dowiązanie symboliczne jest usuwane po zamknięciu adresu (ale zobacz
opcja odłącz-zamknij).

czekaj-niewolnik
Blokuje fazę otwarcia, dopóki proces nie otworzy strony podrzędnej pty. Zwykle,
socat kontynuuje po wygenerowaniu pty z otwarciem następnego adresu lub z
wejście w pętlę transferową. Z opcją wait-slave, socat czeka, aż trochę
proces otwiera stronę podrzędną pty przed kontynuowaniem. Ta opcja działa tylko
jeśli system operacyjny udostępnia wywołanie systemowe poll(). A to zależy od…
nieudokumentowane zachowanie pty's, więc nie działa we wszystkich systemach operacyjnych. To
został pomyślnie przetestowany na Linux, FreeBSD, NetBSD i na Tru64 z openpty.

pty-interwał=
Gdy ustawiona jest opcja oczekiwania-slave, socat okresowo sprawdza stan HUP
używając poll(), aby sprawdzić, czy strona slave pty została otwarta. Domyślne odpytywanie
interwał wynosi 1s. Użyj opcji pty-interval [timeval], aby zmienić tę wartość.

OTWÓRZ opcja grupa

Te opcje dotyczą typów adresów openssl i openssl-listen.

szyfr=
Wybiera listę szyfrów, których można użyć do połączenia. Zobacz stronę man
szyfrów , sekcja CIPHER WYKAZ FORMAT, aby uzyskać szczegółowe informacje o składni,
wartości i domyślnie .
Można podać kilka ciągów szyfrujących, oddzielonych ':'. Kilka prostych ciągów szyfrujących:

3DES Używa zestawu szyfrów z potrójnym DES.

MD5 Używa zestawu szyfrów z MD5.

aNULL Używa zestawu szyfrów bez uwierzytelniania.

NULL Nie używa szyfrowania.

WYSOKI Używa zestawu szyfrów z „wysokim” szyfrowaniem. Zauważ, że peer musi obsługiwać
wybraną nieruchomość lub negocjacje się nie powiedzą.

metoda=
Ustawia używaną wersję protokołu. Prawidłowe ciągi (bez rozróżniania wielkości liter) to:

SSL2 Wybierz protokół SSL w wersji 2.

SSL3 Wybierz protokół SSL w wersji 3.

SSL23 Wybierz najlepszy dostępny protokół SSL lub TLS. Jest to ustawienie domyślne, gdy ta opcja
nie jest przewidziany.

TLS1 Wybierz wersję protokołu TLS 1.

TLS1.1 Wybierz wersję protokołu TLS 1.1.

TLS1.2 Wybierz wersję protokołu TLS 1.2.

DTLS1 Wybierz wersję protokołu DTLS 1.

zweryfikuj=
Kontroluje sprawdzenie certyfikatu partnera. Wartość domyślna to 1 (prawda). Wyłączanie weryfikacji
może otworzyć twoje gniazdo dla wszystkich, czyniąc szyfrowanie bezużytecznym!

certyfikat=
Określa plik z certyfikatem i kluczem prywatnym do uwierzytelniania. ten
certyfikat musi być w formacie OpenSSL (*.pem). Używaj tego z openssl-listen
opcja jest zdecydowanie zalecana. Z wyjątkiem szyfru aNULL, błąd „brak współdzielonych szyfrów”
nastąpi, gdy nie zostanie wydany żaden certyfikat.

klucz=
Określa plik z kluczem prywatnym. Klucz prywatny może znajdować się w tym pliku lub w
plik podany z opcją cert. Partia, która musi udowodnić, że jest
właściciel certyfikatu potrzebuje klucza prywatnego.

dhparams=
Określa plik z parametrami Diffie Hellman. Te parametry mogą również być
w pliku podanym z opcją cert, w którym to przypadku opcja dhparams nie jest
potrzebne.

plik=
Określa plik z zaufanymi (głównymi) certyfikatami urzędu. Plik musi być
w formacie PEM i powinien zawierać jeden lub więcej certyfikatów. Partia, która sprawdza
uwierzytelnianie swojego partnera ufa tylko certyfikatom znajdującym się w tym pliku.

capat=
Określa katalog z zaufanymi (głównymi) certyfikatami. Katalog musi
zawierają certyfikaty w formacie PEM i ich skróty (patrz dokumentacja OpenSSL)

egd=
W niektórych systemach openssl wymaga jawnego źródła losowych danych. Określić
nazwa gniazda, w którym demon zbierający entropię, taki jak egd, dostarcza losowe dane, np
/dev/egd-pool.

przezwisko W systemach, w których openssl nie może znaleźć źródła entropii i gdzie nie ma entropii
można użyć demona zbierającego, ta opcja aktywuje mechanizm dostarczania
pseudo entropia. Jest to archiwizowane, biorąc aktualny czas w mikrosekundach za
karmienie generatora liczb pseudolosowych libc wartością początkową. opensl jest
następnie zasilany danymi wyjściowymi z wywołań losowych\().
UWAGA: Ten mechanizm nie wystarcza do generowania bezpiecznych kluczy!

kompresować
Włącz lub wyłącz stosowanie kompresji dla połączenia. Ustawiam to na „brak”
wyłącza kompresję, ustawiając ją na "auto" pozwala OpenSSL wybrać najlepszą dostępną
algorytm obsługiwany przez obie strony. Domyślnie nie dotykaj żadnego
ustawienia związane z kompresją. UWAGA: Wymaga OpenSSL 0.9.8 lub nowszego i wyłączenia
kompresja z OpenSSL 0.9.8 wpływa na wszystkie nowe połączenia w procesie.

nazwa zwyczajowa=
Określ nazwę pospolitą, do której musi pasować certyfikat równorzędny. Z OPENSSL-CONNECT
adres to zastępuje podaną nazwę hosta lub docelowy adres IP; z OPENSSL-LISTEN
włącza to sprawdzanie certyfikatów równorzędnych nazwa pospolita. Ta opcja ma tylko znaczenie
gdy opcja weryfikacji nie jest wyłączona, a wybrany szyfr zapewnia peera
certyfikat.

figi Włącza tryb FIPS, jeśli jest wkompilowany. Aby uzyskać informacje o implementacji szyfrowania FIPS
standardowe patrz http://oss-institute.org/fips-faq.html. Ten tryb może wymagać tego
zaangażowane certyfikaty są generowane za pomocą wersji openssl z obsługą FIPS.
Ustawienie lub wyczyszczenie tej opcji na jednym adresie socat wpływa na wszystkie adresy OpenSSL
tego procesu.

RETRY opcja grupa

Opcje kontrolujące ponawianie prób niektórych wywołań systemowych, zwłaszcza prób połączenia.

ponowna próba=
Liczba ponownych prób przed przerwaniem połączenia lub próby nasłuchiwania. Wartość domyślna to
0, co oznacza tylko jedną próbę.

interwał=
Czas między kolejnymi próbami (sekundy, [określenie czasowe]). Wartość domyślna to 1 sekunda.

na zawsze
Wykonuje nieograniczoną liczbę ponownych prób.

TUN opcja grupa

Opcje kontrolujące adresy urządzeń interfejsu Linux TUN/TAP.

tun-urządzenie=
Instruuje program socat, aby wybrał inną ścieżkę dla urządzenia klonującego TUN. Wartość domyślna to
/dev/net/tun.

nazwa-tun=
Nadaje wynikowemu interfejsowi sieciowemu określoną nazwę zamiast systemu
wygenerowane (tun0, tun1 itd.)

tun-type=[tun|dotknij]
Ustawia typ urządzenia TUN; użyj tej opcji, aby wygenerować urządzenie TAP. Zobacz
Dokumentacja Linux dla różnicy między tymi typami. Kiedy próbujesz ustalić
tunel między dwoma urządzeniami TUN, ich typy powinny być takie same.

jeśli-nie-pi
Ustawia flagę IFF_NO_PI, która kontroluje, czy urządzenie zawiera dodatkowy pakiet
informacje w tunelu. Kiedy próbujesz utworzyć tunel między dwoma TUN
urządzeń, te flagi powinny mieć te same wartości.

nieprawdaż Ustawia status interfejsu sieciowego TUN W GÓRĘ. Zdecydowanie polecam.

transmisja iff
Ustawia flagę BROADCAST interfejsu sieciowego TUN.

debugowanie iff
Ustawia flagę DEBUG interfejsu sieciowego TUN.

sprzężenie zwrotne iff
Ustawia flagę LOOPBACK interfejsu sieciowego TUN.

punkt-iff
Ustawia flagę POINTOPOINT urządzenia TUN.

jeśli nie ma przyczep
Ustawia flagę NOTRAILERS urządzenia TUN.

jeśli działa
Ustawia flagę RUNNING urządzenia TUN.

jeśli-noarp
Ustawia flagę NOARP urządzenia TUN.

iff-promisc
Ustawia flagę PROMISC urządzenia TUN.

iff-allmulti
Ustawia flagę ALLMULTI urządzenia TUN.

mistrz-iff
Ustawia flagę MASTER urządzenia TUN.

jeśli-niewolnik
Ustawia flagę SLAVE urządzenia TUN.

iff multicast
Ustawia flagę MULTICAST urządzenia TUN.

if-portsel
Ustawia flagę PORTSEL urządzenia TUN.

iff-automedia
Ustawia flagę AUTOMEDIA urządzenia TUN.

iff-dynamiczny
Ustawia flagę DYNAMIC urządzenia TUN.

DATA WARTOŚCI


W tej sekcji opisano różne typy danych, które dotyczą parametrów i opcji adresowania
może wziąć.

zakres adresów
Jest obecnie zaimplementowany tylko dla IPv4 i IPv6. Zobacz `zakres' opcji adresu

logiczne „0” lub „1”; jeśli wartość jest pominięta, przyjmowane jest „1”.

byte Liczba int bez znaku, odczytywana za pomocą strtoul() , mniejsza lub równa UCHAR_MAX .

wiersza polecenia
Ciąg określający nazwę programu i jego argumenty oddzielone pojedynczymi odstępami.

data Specyfikacja surowych danych następująca gałąź składnia. Obecnie jedyną poprawną formą jest
ciąg rozpoczynający się od „x”, po którym następuje parzysta liczba cyfr szesnastkowych, określająca
sekwencja bajtów.

katalog
Ciąg ze zwykłą semantyką nazw katalogów UN*X.

łatwość
Nazwa obiektu syslog pisana małymi literami.

fdnum Typ unsigned int, odczytywany za pomocą strtoul() , określający deskryptor pliku UN*X.

filename
Ciąg ze zwykłą semantyką nazw plików UN*X.

group Jeśli pierwszy znak jest cyfrą dziesiętną, wartość jest odczytywana za pomocą strtoul() jako
liczba całkowita bez znaku określająca identyfikator grupy. W przeciwnym razie musi to być istniejąca grupa
nazwa.

int Liczba zgodna z regułami funkcji strtol() o podstawie „0”, tj. dziesiętna
liczba, liczba ósemkowa z początkowym „0” lub liczba szesnastkowa z początkowym „0x”. ten
wartość musi pasować do C int.

Interfejs
Ciąg określający nazwę urządzenia interfejsu sieciowego pokazaną przez ifconfig lub
procan, np. "eth0".

adres IP
Adres IPv4 w notacji liczb i kropek, adres IPv6 w notacji szesnastkowej
ujęta w nawiasy kwadratowe lub nazwa hosta, która jest tłumaczona na adres IPv4 lub IPv6.
Przykłady: 127.0.0.1, [::1], www.dest-unreach.org, dns1

Adres IPv4
Adres IPv4 w notacji liczb i kropek lub nazwa hosta, która jest tłumaczona na IPv4
adres.
Przykłady: 127.0.0.1, www.dest-unreach.org, dns2

Adres IPv6
Adres IPv6 w notacji szesnastkowej i dwukropkowej ujęty w nawiasy kwadratowe lub a
nazwa hosta, która jest tłumaczona na adres IPv6.
Examples: [::1], [1234:5678:9abc:def0:1234:5678:9abc:def0], ip6name.domain.org

long Liczba odczytana za pomocą strtol() . Wartość musi pasować do długości C.

długo długo
Liczba odczytana za pomocą strtoll() . Wartość musi pasować do długiego C.

off_t Zależna od implementacji liczba ze znakiem, zwykle 32 bity, odczytywana za pomocą strtol lub
strtoll.

wyłączone64_t
Zależna od implementacji liczba ze znakiem, zwykle 64 bity, odczytywana za pomocą strtol lub
strtoll.

mode_t Liczba całkowita bez znaku, odczytywana za pomocą strtoul() , określająca bity trybu (uprawnień).

pid_t Liczba odczytywana za pomocą strtol() , określająca identyfikator procesu.

port A uint16_t (16-bitowa liczba bez znaku) określający port TCP lub UDP, odczytany za pomocą
strtoul() .

protokół
8-bitowa liczba bez znaku, odczytywana za pomocą strtoul() .

size_t Liczba bez znaku z ograniczeniami size_t, odczytywana za pomocą strtoul .

nazwa skarpety
Adres gniazda. Zobacz opcję adresu `bind'

ciąg Ciąg znaków niezawierający „\0” i, w zależności od pozycji wewnątrz
wiersz poleceń, ':', ',' lub "!!". Pamiętaj, że być może będziesz musiał uciec z meta powłoki
znaki w wierszu poleceń.

Usługa TCP
Nazwa usługi, która nie zaczyna się od cyfry, która jest rozwiązywana przez getservbyname() lub
16-bitowa liczba bez znaku int odczytana za pomocą strtoul() .

czas
Podwójna liczba zmiennoprzecinkowa określająca sekundy; liczba jest odwzorowana na struct timeval,
składający się z sekund i mikrosekund.

terminarz
Podwójna liczba zmiennoprzecinkowa określająca sekundy; liczba jest odwzorowana na struct timespec,
składający się z sekund i nanosekund.

Usługa UDP
Nazwa usługi, która nie zaczyna się od cyfry, która jest rozwiązywana przez getservbyname() lub
16-bitowa liczba bez znaku int odczytana za pomocą strtoul() .

niepodpisany
Liczba odczytana za pomocą strtoul() . Wartość musi mieścić się w C unsigned int.

user Jeśli pierwszy znak jest cyfrą dziesiętną, wartość jest odczytywana za pomocą strtoul() jako
liczba całkowita bez znaku określająca identyfikator użytkownika. W przeciwnym razie musi to być istniejąca nazwa użytkownika.

PRZYKŁADY


sok - TCP4:www.domena.org:80

przesyła dane między STDIO (-) a połączeniem TCP4 do portu 80 hosta
www.domena.org. Ten przykład skutkuje interaktywnym połączeniem podobnym do telnet
lub netcat. Parametry terminala stdin nie są zmieniane, więc możesz zamknąć
przekaż za pomocą ^D lub przerwij to za pomocą ^C.

sok -d -d READLINE,historia=$HOME/.http_historia \
TCP4:www.domena.org:www,crnl

jest to podobne do poprzedniego przykładu, ale możesz edytować bieżącą linię w a
bash jak sposób (READLINE) i użyj pliku historii .http_history; sok wydruki
komunikaty o postępie (-d -d). Port jest określony przez nazwę usługi (www) oraz
używane są poprawne znaki zakończenia linii sieciowej (crnl) zamiast NL.

sok TCP4-LISTEN: www TCP4:www.domena.org:www

instaluje prosty forwarder portów TCP. Dzięki TCP4-LISTEN nasłuchuje na porcie lokalnym
„www” do momentu nawiązania połączenia, zaakceptuje je, a następnie połączy się ze zdalnym hostem
(TCP4) i rozpoczyna transfer danych. Nie zaakceptuje drugiego połączenia.

sok -d -d -lmlokalny2 \
TCP4-LISTEN:80,bind=myaddr1,reuseaddr,fork,su=nobody,range=10.0.0.0/8 \
TCP4:www.domena.org:80,bind=mojaddr2

Przekierowanie portów TCP, każda strona powiązana z innym lokalnym adresem IP (bind). Ten
przykład obsługuje prawie dowolną liczbę równoległych lub następujących po sobie połączeń
przez rozwidlenie nowego procesu po każdym accept() . Zapewnia trochę bezpieczeństwa dzięki
sugerowanie nikomu po rozwidleniu; zezwala tylko na połączenia z prywatnego
10 sieć (zasięg); ze względu na reuseaddr, umożliwia natychmiastowy restart po master
zakończenie procesu, nawet jeśli niektóre gniazda podrzędne nie są całkowicie zamknięte.
Z -lmlocal2, socat loguje się do stderr aż do pomyślnego dotarcia do pętli akceptacji.
Dalsze logowanie jest kierowane do syslog z facility local2.

sok TCP4-LISTEN:5555,widelec,tcpwrap=skrypt \
EXEC:/bin/myscript,chroot=/home/sandbox,su-d=sandbox,pty,stderr

prosty serwer, który akceptuje połączenia (TCP4-LISTEN) i fork to nowe dziecko
proces dla każdego połączenia; każde dziecko działa jak pojedynczy przekaźnik. Klient musi
dopasuj reguły dla nazwy procesu demona "skrypt" w /etc/hosts.allow i
/etc/hosts.deny, w przeciwnym razie odmówiono mu dostępu (patrz "man 5 hosts_access"). Do
EXEC'uruchamiając program, proces potomny chroot's to /dom/piaskownica, su do użytkownika
sandbox, a następnie uruchamia program /home/piaskownica/bin/myscript. Socat i myscript
komunikować się przez pseudo tty (pty); stderr myscript jest przekierowywany na standardowe wyjście, więc
jego komunikaty o błędach są przesyłane przez sok do połączonego klienta.

sok EXEC:"mail.sh [email chroniony]",fdin=3,fdout=4 \
TCP4:mail.relay.org:25,crnl,bind=alias1.server.org,mss=512

poczta.sh to skrypt powłoki, dystrybuowany z sok, który implementuje prosty SMTP
klient. Jest zaprogramowany do „mówienia” SMTP na swoich FD 3 (wejście) i 4 (wyjście). Fdin
i fdout opcje powiedz sok używać tych FD do komunikacji z programem.
Ponieważ mail.sh dziedziczy stdin i stdout, podczas gdy sok nie używa ich, skrypt
może odczytać treść poczty ze standardowego wejścia. Socat sprawia, że ​​alias1 jest Twoim lokalnym adresem źródłowym
(bind), dba o prawidłowe zakończenie linii sieci (crnl) i wysyła maksymalnie 512
bajtów danych na pakiet (mss).

sok -,ucieczka=0x0f /dev/ttyS0,rawer,crnl

otwiera interaktywne połączenie przez linię szeregową, np. do rozmowy z modemem.
rawer ustawia parametry terminala konsoli i ttyS0 na możliwe do zrealizowania wartości,
crnl konwertuje na poprawne znaki nowej linii. ucieczka pozwala zakończyć socat
proces z kontrolą znaków-O.

sok UNIX-LISTEN:/tmp/.X11-unix/X1,widelec \
SOCKS4:host.victim.org:127.0.0.1:6000,socksuser=nikt,sourceport=20

z UNIX-LISTEN, sok otwiera nasłuchujące gniazdo domeny UNIX /tmp/.X11-unix/X1.
Ta ścieżka odpowiada lokalnemu wyświetlaczowi XWindow :1 na twoim komputerze, więc XWindow
akceptowane są połączenia klientów z DISPLAY=:1. Socat następnie rozmawia z SOCKS4
serwer host.victim.org, który może zezwalać na połączenia oparte na porcie źródłowym 20 z powodu
Słabość związana z FTP w jego statycznych filtrach IP. Socat udaje, że jest przywoływany przez
socksuser nikt i prosi o połączenie z portem pętli zwrotnej 6000 (tylko słaby
konfiguracje sockd na to pozwolą). Więc mamy połączenie z ofiarami
serwer XWindow oraz, jeśli nie wymaga plików cookie MIT lub uwierzytelniania Kerberos,
możemy rozpocząć pracę. Należy pamiętać, że w danym momencie może być tylko jedno połączenie,
ponieważ TCP może nawiązać tylko jedną sesję z danym zestawem adresów i portów.

sok -u /tmp/readdata,seek-end=0,ignoreeof -

jest to przykład jednokierunkowego przesyłania danych (-u). Socat przesyła dane z
plik /tmp/readdata (niejawny adres GOPEN), zaczynając od obecnego końca
(seek-end=0 pozwala sok rozpocząć czytanie od bieżącego końca pliku; użyj seek=0 lub nie wyszukaj
opcja, aby najpierw odczytać istniejące dane) w trybie podobnym do "tail -f" (ignoreeof). ten
"plik" może być również gniazdem nasłuchującym domeny UNIX (nie używaj opcji wyszukiwania)
następnie).

(spać 5; przegapić HASŁO; spać 5; przegapić ls; spać 1) |
sok - EXEC: ssh -l użytkownik serwer',pty,setsid,ctty

EXEC przesyła sesję ssh do serwera. Używa pty do komunikacji między sok i
ssh, sprawia, że ​​ssh kontroluje tty (ctty), a ten pty staje się właścicielem nowego
grupa procesów (setsid), więc ssh akceptuje hasło od sok.

sok -u TCP4-LISTEN: 3334, ponowne użycie adddr, widelec \
OTWÓRZ:/tmp/in.log,tworzenie,dołączenie

implementuje prosty kolektor wiadomości oparty na sieci. Dla każdego klienta łączącego się z
port 3334, generowany jest nowy proces potomny (rozwidlenie opcji). Wszystkie dane przesłane przez
klienci są dołączani do pliku /tmp/in.log. Jeśli plik nie istnieje, socat
stworzyć to. Opcja reuseaddr umożliwia natychmiastowe ponowne uruchomienie procesu serwera.

sok PTY,link=$HOME/dev/vmodem0,rawer,czekaj-slave \
EXEC:"ssh modemserver.us.org sok - /dev/ttyS0,nonblock,rawer"

generuje pseudoterminal (PTY) na kliencie, do którego można się dostać pod
dowiązanie symboliczne $HOME/dev/vmodem0. Aplikacja oczekująca łącza szeregowego lub
modem można skonfigurować do użycia $HOME/dev/vmodem0; jego ruch będzie kierowany do
serwer modemu przez ssh, z którym łączy go inna instancja socat /dev/ttyS0.

sok TCP4-LISTEN: 2022, ponowne użycie adddr, widelec \
PROXY:proxy:www.domain.org:22,proxyport=3128,proxyauth=użytkownik:hasło

uruchamia forwarder, który akceptuje połączenia na porcie 2022 i przekierowuje je przez
demon proxy nasłuchujący na porcie 3128 (proxyport) na serwerze proxy hosta, używając
Metoda CONNECT, gdzie są uwierzytelniane jako „użytkownik” z „pass” (proxyauth). ten
proxy powinno wtedy nawiązać połączenie z hostem www.domain.org na porcie 22.

sok - OPENSSL:serwer:4443,cafile=serwer.crt,cert=klient.pem

to klient OpenSSL, który próbuje nawiązać bezpieczne połączenie z serwerem SSL.
Opcja cafile określa plik, który zawiera certyfikaty zaufania: ufamy
serwer tylko wtedy, gdy przedstawi jeden z tych certyfikatów i udowodni, że jest właścicielem
powiązany klucz prywatny. W przeciwnym razie połączenie zostanie zakończone. Z certyfikatem pliku
zawierający certyfikat klienta i skojarzony klucz prywatny. Ten
jest wymagane w przypadku, gdy serwer życzy sobie uwierzytelnienia klienta; wiele Internetu
serwery nie.
Pierwszy adres ('-') można zastąpić prawie każdym innym adresem socat.

sok OPENSSL-LISTEN:4443,reuseaddr,pf=ip4,fork,cert=server.pem,cafile=client.crt PIPE

jest serwerem OpenSSL akceptującym połączenia TCP, przedstawia certyfikat od
plik server.pem i zmusza klienta do przedstawienia zweryfikowanego certyfikatu
przeciwko cafile.crt.
Drugi adres („PIPE”) można zastąpić prawie każdym innym adresem socat.
Aby uzyskać instrukcje dotyczące generowania i dystrybucji kluczy i certyfikatów OpenSSL, zobacz
dodatkowy dokument socat socat-openssl.txt.

przegapić |sokot -u - plik:/tmp/bigfile,utwórz,dużyplik,szukaj=100000000000

tworzy rzadki plik 100 GB; wymaga to typu systemu plików, który to obsługuje
(ext2, ext3, reiserfs, jfs; nie minix, vfat). Operacja zapisu 1 bajt może
zająć dużo czasu (reiserfs: kilka minut; ext2: czas "nie"), a wynikowy plik może
zajmują trochę miejsca na dysku tylko z jego i-węzłami (reiserfs: 2MB; ext2: 16KB).

sok tcp-l: 7777, reuseaddr, widelec system:'filan -i 0 -s >&2', bez widelców

nasłuchuje przychodzących połączeń TCP na porcie 7777. Dla każdego zaakceptowanego połączenia,
przywołuje powłokę. Ta powłoka ma swoje standardowe wejście i wyjście bezpośrednio połączone z TCP
gniazdo (nofork). Powłoka uruchamia filan i pozwala mu wydrukować adresy gniazd do
stderr (twoje okno terminala).

przegapić -en „\0\14\0\0\c” |sokot -u - plik:/usr/bin/squid.exe,seek=0x00074420

działa jako prymitywny edytor binarny: zapisuje 4 bajty 000 014 000 000 do
wykonywalny /usr/bin/squid pod offsetem 0x00074420 (jest to poprawka do
kałamarnica wykonywalna z Cygwin uruchomiona w systemie Windows, stan faktyczny na maj 2004 r.).

sok - tcp:www.blackhat.org:31337, odczyt bajtów=1000

łączy się z nieznaną usługą i zapobiega zalaniu.

sok -U TCP: cel: 9999, koniec-zamknij TCP-L: 8888, ponowne użycie adddr, widelec

łączy dane przychodzące z różnych strumieni TCP na porcie 8888 w jeden strumień, aby
cel: 9999. Opcja end-close zapobiega rozwidleniu procesów potomnych przez
drugi adres od zakończenia współdzielonego połączenia do 9999 (zamknij\(2) just
odłącza i-węzeł, który pozostaje aktywny tak długo, jak długo żyje proces nadrzędny;
shutdown\(2) aktywnie zakończy połączenie).

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

wysyła transmisję do sieci 192.168.1.0/24 i odbiera odpowiedzi od
tam serwery czasu. Ignoruje pakiety NTP z hostów spoza tej sieci.

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

jest semantycznie równoważny z poprzednim przykładem, ale wszystkie parametry są
określone w formie ogólnej. wartość 6 setsockopt-int jest wartością Linuksa dla
SO_BROADCAST.

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

wysyła transmisję do sieci lokalnej przy użyciu protokołu 44. Akceptuje odpowiedzi od
tylko zakres adresów prywatnych.

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

przesyła dane z stdin na określony adres multicast za pomocą UDP. Zarówno lokalne
a porty zdalne to 6666. Informuje interfejs eth0, aby akceptował również multicast
pakiety z danej grupy. Wiele hostów w sieci lokalnej może to uruchomić
polecenie, więc wszystkie dane wysłane przez jeden z hostów zostaną odebrane przez wszystkie inne
te. Zauważ, że istnieje wiele możliwych przyczyn niepowodzenia, w tym filtry IP,
problemy z routingiem, niewłaściwy wybór interfejsu przez system operacyjny, mosty lub a
źle skonfigurowany przełącznik.

sok TCP: host2: 4443 TUN: 192.168.255.1/24, w górę

ustanawia jedną stronę wirtualnej (ale nie prywatnej!) sieci z host2 gdzie a
podobny proces może się uruchomić, z UDP-L i adresem tun 192.168.255.2. Mogą dotrzeć
nawzajem przy użyciu adresów 192.168.255.1 i 192.168.255.2. Pamiętaj, że przesyłanie strumieniowe
np. przez TCP lub SSL nie gwarantuje zachowania granic pakietów i może w związku z tym
spowodować utratę pakietów.

sok PTY,link=/var/run/ppp,rawer INTERFEJS: hdlc0

omija problem polegający na tym, że pppd wymaga urządzenia szeregowego i dlatego może nie być
w stanie pracować na linii synchronicznej reprezentowanej przez urządzenie sieciowe. socat
tworzy PTY, aby uszczęśliwić pppd, łączy się z interfejsem sieciowym hdlc0 i może
przesyłać dane między obydwoma urządzeniami. Następnie użyj pppd na urządzeniu /var/run/ppp.

sok -T 1 -d -d TCP-L: 10081, reuseaddr, widelec, crlf SYSTEM:"echo -e \"\\\"HTTP/1.0 200
OK\\\nTyp dokumentu: tekst/zwykły\\\n\\\ndata:
\$\(data\)\\\nserwer:\$SOCAT_SOCKADDR:\$SOCAT_SOCKPORT\\\nklient:
\$SOCAT_PEERADDR:\$SOCAT_PEERPORT\\\n\\\"\"; Kot; przegapić -e \"\\\"\\\n\\\"\""

tworzy prosty serwer HTTP echo: każdy klient HTTP, który się łączy, otrzymuje prawidłowy HTTP
odpowiedź, która zawiera informacje o adresie i porcie klienta widzianym przez
host serwera, adres hosta (który może się różnić w przypadku serwerów wieloadresowych) oraz
oryginalne żądanie klienta.

sok -d -d
UDP4-RECVFROM: 9999,tak-broadcast,tak-sygnatura czasowa,ip-pktinfo,ip-recverr,ip-recvopts,ip-recvtos,ip-recvttl!!-
SYSTEM:'eksport; spać 1 " |grep SOCAT

czeka na przychodzący pakiet UDP na porcie 9999 i drukuje zmienne środowiskowe
dostarczone przez socat. W systemach opartych na BSD musisz zastąpić ip-pktinfo przez
ip-recvdstaddr,ip-recvif. Szczególnie interesujący jest SOCAT_IP_DSTADDR: zawiera
adres docelowy pakietu, który może być unicast, multicast lub broadcast
adres.

DIAGNOSTYKA


Socat wykorzystuje mechanizm logowania, który pozwala filtrować wiadomości według ważności. Naciski
pod warunkiem, że są mniej lub bardziej zgodne z odpowiednim priorytetem dziennika systemowego. Z jednym lub maksymalnie
cztery wystąpienia opcji wiersza poleceń -d, najniższy priorytet wiadomości, które są
wydane można wybrać. Każda wiadomość zawiera jedną wielką literę określającą
ważność wiadomości (jedna z F, E, W, N, I lub D)

KRYTYCZNY: Warunki wymagające bezwarunkowego i natychmiastowego zakończenia programu.

BŁĄD: Warunki uniemożliwiające prawidłowe przetwarzanie programu. Zwykle program to
zakończone (patrz opcja -s).

UWAGA:
Coś nie działa poprawnie lub jest w stanie, w którym dalej jest poprawne
przetwarzanie nie może być zagwarantowane, ale może być możliwe.

UWAGA:
Ciekawe działania programu, np. do nadzorowania sok w jakimś rodzaju
tryb serwera.

INFO: Opis tego, co robi program i może dlaczego tak się dzieje. Pozwala na monitorowanie
cykle życia deskryptorów plików.

DEBUG: Opis działania programu, wszystkie wywołania systemowe lub biblioteczne i ich
wyników.

Komunikaty dziennika mogą być zapisywane na stderr, do pliku lub do sysloga.

Na wyjściu, sok daje status 0, jeśli został zakończony z powodu EOF lub limitu czasu nieaktywności, z
wartość dodatnia w przypadku błędu i ujemna w przypadku błędu krytycznego.

Korzystaj z filan online, korzystając z usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

  • 1
    NSIS: skryptowy system instalacyjny Nullsoft
    NSIS: skryptowy system instalacyjny Nullsoft
    NSIS (instalacja skryptowa Nullsoft
    System) jest profesjonalnym oprogramowaniem typu open source
    system do tworzenia instalatorów Windows. Ono
    ma być tak mały i elastyczny
    w miarę możliwości...
    Pobierz NSIS: Nullsoft Scriptable Install System
  • 2
    przepustka
    przepustka
    AuthPass to hasło typu open source
    menedżer ze wsparciem dla popularnych i
    sprawdzony Keepass (kdbx 3.x ORAZ kdbx 4.x ...
    Pobierz authpass
  • 3
    Zabbix
    Zabbix
    Zabbix jest otwartą platformą klasy korporacyjnej
    rozwiązanie do monitorowania rozproszonego źródła
    przeznaczony do monitorowania i śledzenia
    wydajność i dostępność sieci
    serwery, urządzenia...
    Pobierz Zabbixa
  • 4
    KRóżn.3
    KRóżn.3
    To repozytorium nie jest już obsługiwane
    i jest przechowywany w celach archiwalnych. Widzieć
    https://invent.kde.org/sdk/kdiff3 for
    najnowszy kod i
    https://download.kde.o...
    Pobierz KDiff3
  • 5
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX to GUI dla
    Ładowarka USB firmy Waninkoko, oparta na
    libwiigui. Umożliwia wyświetlanie i
    uruchamianie gier Wii, gier Gamecube i
    homebrew na Wii i WiiU...
    Pobierz USBLoaderGX
  • 6
    Firebird
    Firebird
    Firebird RDBMS oferuje funkcje ANSI SQL
    & działa w systemach Linux, Windows i
    kilka platform uniksowych. Cechy
    doskonała współbieżność i wydajność
    & moc...
    Pobierz Firebirda
  • więcej »

Komendy systemu Linux

Ad