англійськафранцузькаіспанська

Ad


Значок OnWorks

filan - онлайн у хмарі

Запустіть filan у безкоштовному хостинг-провайдері OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

Це команда filan, яку можна запустити у безкоштовного хостинг-провайдера OnWorks за допомогою однієї з наших безкоштовних онлайн-робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

ПРОГРАМА:

ІМ'Я


socat - багатоцільове реле (SOcket CAT)

СИНТАКСИС


socat [параметри]
сокат -В
socat -h[h[h]] | -?[?[?]]
і так далі
прокан

ОПИС


Сокат — це утиліта на основі командного рядка, яка встановлює два двонаправлених потоки байтів і
передає дані між ними. Оскільки потоки можна побудувати з великого набору
різні типи приймачів і джерел даних (див. типи адрес), а також через велику кількість адрес
Параметри можуть бути застосовані до потоків, socat можна використовувати для багатьох різних цілей.

і так далі це утиліта, яка друкує інформацію про свої активні дескриптори файлу в стандартний вивід. Це
було написано для налагодження сокат, але може бути корисним і для інших цілей. Використовувати
-h, щоб знайти додаткову інформацію.

Прокан це утиліта, яка друкує інформацію про параметри процесу в стандартний виведення. Це має
було написано для кращого розуміння деяких властивостей процесу UNIX і для налагодження сокат,
але може бути корисним і для інших цілей.

Життєвий цикл а сокат екземпляр зазвичай складається з чотирьох етапів.

У ініціалізації фазі параметри командного рядка аналізуються та ініціалізується протоколювання.

Під час відкрити фаза, сокат відкриває першу адресу, а потім другу адресу.
Ці кроки зазвичай блокують; таким чином, особливо для складних типів адрес, таких як socks,
запити на підключення або діалогове вікно автентифікації повинні бути завершені, перш ніж виконувати наступний крок
розпочато.

У переклад фаза, сокат спостерігає за дескрипторами файлів читання та запису обох потоків через
select() і, коли дані доступні на одній стороні та можна записати на іншу сторону,
socat читає його, виконує перетворення символів нового рядка, якщо потрібно, і записує дані в
дескриптор файлу запису іншого потоку, а потім продовжує чекати на отримання додаткових даних
обидва напрямки.

Коли один із потоків ефективно досягає EOF, закриття починається фаза. Сокат переклади
умова EOF до іншого потоку, тобто намагається вимкнути лише свій потік запису,
даючи йому можливість витончено завершитися. На визначений час сокат продовжує передавати
дані в іншому напрямку, але потім закриває всі канали, що залишилися, і закінчується.

ВАРІАНТИ


Сокат надає деякі параметри командного рядка, які змінюють поведінку програми. Вони
не мають нічого спільного з так званими параметрами адреси, які використовуються як частини адреси
технічні умови.

-V Роздрукуйте версію та доступну інформацію про функції для стандартного виведення та вийдіть.

-h | -?
Надрукуйте текст довідки в стандартному виводі з описом параметрів командного рядка та доступної адреси
типи та вихід.

-га | - ??
Як і -h, а також список коротких назв усіх доступних варіантів адреси. Дещо
параметри залежать від платформи, тому цей вихід корисний для перевірки
конкретна реалізація.

-ххх | - ???
Як і -hh, а також список усіх доступних назв параметрів адреси.

-d Без цієї опції генеруються лише повідомлення про небезпеку та помилки; застосовуючи це
параметр також друкує попереджувальні повідомлення. Додаткову інформацію див. у розділі ДІАГНОСТИКА.

-d -d Друкує фатальні повідомлення, повідомлення про помилки, попередження та повідомлення.

-d -d -d
Друкує фатальні повідомлення, повідомлення про помилки, попередження, повідомлення та інформаційні повідомлення.

-d -d -d -d
Друкує фатальні повідомлення, повідомлення про помилки, попередження, повідомлення, інформацію та повідомлення про налагодження.

-D Записує інформацію про дескриптори файлів перед початком фази передачі.

-ly[ ]
Записує повідомлення в системний журнал замість stderr; серйозність, визначена опцією -d.
З опціональним , тип системного журналу можна вибрати, за замовчуванням — «демон».
Сторонні бібліотеки можуть не підкорятися цій опції.

-Еф
Пише повідомлення до [ім'я файлу] замість stderr. Якась третя сторона
бібліотеки, зокрема libwrap, можуть не підкорятися цій опції.

-ls Записує повідомлення в stderr (це за замовчуванням). Деякі сторонні бібліотеки можуть
не підкоряйтеся цьому параметру, зокрема, здається, що libwrap реєструється лише в системному журналі.

-lp
Замінює назву програми, надруковану в повідомленнях про помилки та використану для побудови
імена змінних середовища.

-лу Розширює часову мітку повідомлень про помилку до мікросекундної роздільної здатності. Не працює
під час входу в системний журнал.

-лм[ ]
Змішаний режим журналу. Під час запуску повідомлення друкуються на stderr; коли сокат починається
цикл фази передачі або режим демона (тобто після відкриття всіх потоків і до
починаючи передачу даних, або, з розетками прослуховування з опцією fork, перед
першим прийняти виклик), він перемикає ведення журналу на системний журнал. З опціональним ,
Тип системного журналу можна вибрати, за замовчуванням — «демон».

-lh Додає ім’я хоста до повідомлень журналу. Використовує значення зі змінної середовища HOSTNAME або
значення, отримане за допомогою uname(), якщо HOSTNAME не встановлено.

-v Записує передані дані не тільки в цільові потоки, а й у stderr.
Формат виведення – це текст із деякими перетвореннями для читабельності та з префіксом
"> " або "< ", що вказує напрями потоку.

-x Записує передані дані не тільки в цільові потоки, а й у stderr.
Формат виведення є шістнадцятковим, із префіксом «>» або «<», що вказує на потік
напрямки. Може поєднуватися з -v .


Встановлює блок передачі даних [розмір_t]. Максимум передаються байти
за крок. За замовчуванням 8192 байти.

-s За замовчуванням сокат завершується, коли сталася помилка, щоб запобігти процесу
запускається, коли якийсь параметр не можна застосувати. За допомогою цієї опції, сокат є недбалим
з помилками і намагається продовжити. Навіть із цією опцією socat вийде
смертельна, і перериває спроби підключення, якщо перевірка безпеки не вдалася.


Коли один канал досягає EOF, частина запису іншого каналу припиняється.
Потім сокат чекає [timeval] секунд до завершення. За замовчуванням 0.5
секунд. Цей тайм-аут застосовується лише до адрес, де можна записувати та читати
закриваються самостійно. Коли під час тайм-ауту частина зчитування дає EOF,
socat завершується, не чекаючи тайм-ауту.


Повний тайм-аут неактивності: коли socat вже в циклі передачі і нічого
сталося для [timeval] секунд (ні надійшли дані, ні переривання
відбулося...), потім він припиняється. Корисно з такими протоколами, як UDP, які не можуть
передача EOF.

-u Використовує односпрямований режим. Перша адреса використовується лише для читання, а
друга адреса використовується лише для запису (приклад).

-U Використовує односпрямований режим у зворотному напрямку. Перша адреса використовується лише для
запис, а друга адреса використовується лише для читання.

-g Під час розбору параметрів адреси не перевіряйте, чи цей параметр вважається корисним у
задане адресне середовище. Використовуйте його, якщо ви хочете змусити, наприклад, використовувати a
опція розетки до послідовного пристрою.


Якщо файл блокування існує, виходить з помилкою. Якщо файл блокування не існує, створює його і
продовжується, від'єднує файл блокування при виході.


Якщо файл блокування існує, чекає, поки він не зникне. Коли файл блокування не існує,
створює його та продовжує, від'єднує файл блокування при виході.

-4 Використовуйте IP-версію 4, якщо адреси не вказуються явно чи явно
версія; це за замовчуванням.

-6 Використовуйте IP-версію 6, якщо адреси не вказуються явно чи явно
версія.

АДРЕСА Технічні характеристики


За допомогою аргументів командного рядка адреси користувач надає сокат інструкції та
необхідну інформацію для встановлення байтових потоків.

Специфікація адреси зазвичай складається з ключового слова типу адреси, нуль або більше
необхідні параметри адреси, розділені ':' від ключового слова та один від одного, і
нуль або більше параметрів адреси, розділених символом ",".

Ключове слово визначає тип адреси (наприклад, TCP4, OPEN, EXEC). Для деяких ключових слів є
існують синоніми ('-' для STDIO, TCP для TCP4). Ключові слова не чутливі до регістру. Для кількох
спеціальні типи адрес, ключове слово може бути опущено: Специфікації адреси, починаючи з a
число вважається адресою FD (необробленого дескриптора файлу); якщо '/' знайдено перед
спочатку передбачається ':' або ',', GOPEN (загальний відкритий файл).

Необхідна кількість і тип параметрів адреси залежать від типу адреси. Наприклад, TCP4
вимагає специфікації сервера (ім’я або адреса) і специфікації порту (номер або
назва послуги).

Для кожної адреси може бути надано нуль або більше варіантів адреси. Вони впливають на адресу в
деякі способи. Параметри складаються з ключового слова параметра або ключового слова параметра та значення,
розділені символом "=". Ключові слова з параметрами не чутливі до регістру. Для фільтрації параметрів, які
корисні з типом адреси, кожен параметр є членом однієї групи параметрів. Для кожного
тип адреси є набір груп опцій. Лише варіанти, що належать одному з
ці групи адрес можна використовувати (крім параметра -g).

Також називаються специфікації адрес, що відповідають наведеній вище схемі один адреса
специфікації. Дві окремі адреси можна об'єднати з "!!" утворити а подвійний тип
адреса для одного каналу. Тут перша адреса використовується сокат для читання даних і
друга адреса для запису даних. Неможливо вказати параметр лише один раз для
застосовується до обох окремих адрес.

Зазвичай адреси відкриваються в режимі читання/запису. Коли адреса є частиною подвійного
специфікації адреси, або коли використовується параметр -u або -U, адреса може використовуватися лише для
читання чи для письма. Це важливо для деяких типів адрес.

З socat версії 1.5.0 і вище лексичний аналіз намагається обробляти лапки та
дужки змістовно і дозволяє екранувати спеціальні символи. Якщо один з
символи ( { [ ' знайдено, відповідний символ закриття - ) } ] ' - переглянуто
для; вони також можуть бути вкладеними. Усередині цих конструкцій socats спеціальні символи і
струни : , !! не обробляються спеціально. Усі ці символи та рядки можна екранувати
з \ або всередині ""

АДРЕСА ВИДИ


У цьому розділі описано доступні типи адрес з їх ключовими словами, параметрами та
семантика.

СТВОРИТИ:
Відкривається за допомогою creat() і використовує дескриптор файлу для запису. Це
Тип адреси вимагає контексту лише для запису, оскільки файл, відкритий за допомогою creat, не може
бути прочитаним з.
Прапори, як-от O_LARGEFILE, не можна застосувати. Якщо вони вам потрібні, використовуйте OPEN з параметрами
створювати, творити.
має бути дійсним існуючим або неіснуючим шляхом. Якщо є іменованим
pipe, creat() може блокувати; якщо посилається на сокет, це помилка.
Групи параметрів: FD,REG,NAMED
Корисні параметри: режим, користувач, група, роз’єднати раніше, від’єднати пізніше, додати
Дивіться також: ВІДКРИТИ, ВІДКРИТИ

EXEC:
Розгалужує підпроцес, який встановлює зв’язок з його батьківським процесом і
викликає зазначену програму за допомогою execvp() . це проста команда
з аргументами, розділеними одинарними пробілами. Якщо назва програми містить '/', то
частина після останнього '/' приймається як ARGV[0]. Якщо назва програми є відносною
path, застосовується семантика execvp() для пошуку програми через $PATH. Після
успішний старт програми, сокат записує дані в stdin процесу і читає з них
його стандартний вихід із використанням доменного сокета UNIX, згенерованого socketpair() за замовчуванням.
(приклад)
Групи опцій: FD,SOCKET,EXEC,FORK,TERMIOS
Корисні параметри: path, fdin, fdout, chroot, su, su-d, nofork, pty, stderr, ctty,
setsid, pipes, login, sigint, sigquit
Дивіться також: СИСТЕМА

FD:
Використовує дескриптор файлу . Він уже має існувати як дійсний файл UN*X
дескриптор.
Групи опцій: FD (TERMIOS,REG,SOCKET)
Дивіться також: STDIO, STDIN, STDOUT, STDERR

GOPEN:
(Загальний відкритий) Цей тип адреси намагається обробити будь-який запис файлової системи, крім
каталоги корисно. може бути відносним або абсолютним шляхом. Якщо вже
існує, перевіряється його тип. У разі доменного сокета UNIX, сокат з'єднує; якщо
не вдалося підключитися, сокат передбачає наявність дейтаграмного сокета і використовує виклики sendto(). Якщо
вхід не є розеткою, сокат відкриває його, застосовуючи прапор O_APPEND. Якщо це не так
існує, він відкривається з прапорцем O_CREAT як звичайний файл (приклад).
Групи опцій: FD,REG,SOCKET,NAMED,OPEN
Дивіться також: ВІДКРИТИ, СТВОРИТИ, З'єднати UNIX

IP-SENDTO: :
Відкриває необроблений IP-сокет. Залежно від специфікації хоста або опції pf, протокол IP
використовується версія 4 або 6. Воно використовує для відправки пакетів [IP-адреса]
і отримує пакети від хоста, ігнорує пакети з інших хостів. Протокол 255
використовує необроблений сокет із заголовком IP, що є частиною даних.
Групи опцій: FD,SOCKET,IP4,IP6
Корисні опції: pf, ttl
Дивіться також: IP4-SENDTO, IP6-SENDTO, IP-RECVFROM, IP-RECV, UDP-SENDTO, UNIX-SENDTO

ІНТЕРФЕЙС:
Зв'язується з мережею, підключеною через інтерфейс, використовуючи необроблені пакети, в тому числі
дані рівня посилання. це назва мережевого інтерфейсу. Наразі тільки
доступний у Linux. Групи опцій: FD,SOCKET
Корисні параметри: pf, type
Дивіться також: ip-recv

IP4-SENDTO: :
Як і IP-SENDTO, але завжди використовує IPv4.
Групи опцій: FD,SOCKET,IP4

IP6-SENDTO: :
Як і IP-SENDTO, але завжди використовує IPv6.
Групи опцій: FD,SOCKET,IP6

IP-ДАТАГРАМА: :
Відправляє вихідні дані на вказану адресу, яка, зокрема, може бути широкомовною
або багатоадресну адресу. Пакети, що надходять на локальний сокет, перевіряються на їх наявність
адреси джерел відповідають параметрам RANGE або TCPWRAP. Цей тип адреси може, наприклад
використовуватися для реалізації симетричної або асиметричної широкомовної або багатоадресної передачі
Комунікації
Групи опцій: FD, SOCKET, IP4, IP6, RANGE
Корисні параметри: bind, range, tcpwrap, broadcast, ip-multicast-loop,
ip-multicast-ttl, ip-multicast-if, ip-add-membership, ttl, tos, pf
Дивіться також: IP4-DATAGRAM, IP6-DATAGRAM, IP-SENDTO, IP-RECVFROM, IP-RECV, UDP-DATAGRAM

IP4-ДАТАГРАМА: :
Як і IP-DATAGRAM, але завжди використовує IPv4. (приклад)
Групи опцій: FD,SOCKET,IP4,RANGE

IP6-ДАТАГРАМА: :
Як і IP-DATAGRAM, але завжди використовує IPv6. Зверніть увагу, що IPv6 не знає
трансляції.
Групи опцій: FD,SOCKET,IP6,RANGE

IP-RECVFROM:
Відкриває необроблений IP-сокет . Залежно від параметра pf, IP-протокол версії 4
або використовується 6. Він отримує один пакет від невизначеного однорангового користувача і може надіслати один або
більше пакетів відповідей цьому однорангові. Цей режим особливо корисний для вилки
опція, де кожен пакет, що надходить від довільних однорангових пристроїв, обробляється самостійно
підпроцес. Це дозволяє поведінку, подібну до типових серверів на основі UDP, наприклад
ntpd або названий.
Зверніть увагу, що пакети відповіді можуть бути отримані як вхідний трафік, коли відправник
і IP-адреса одержувача ідентичні, оскільки немає номера порту для
розрізняти розетки.
Ця адреса добре працює з одноранговими адресами IP-SENDTO (див. вище). Протокол 255
використовує необроблений сокет із заголовком IP, що є частиною даних.
Групи опцій: FD,SOCKET,IP4,IP6,CHILD,RANGE
Корисні опції: pf, fork, range, ttl, broadcast
Дивіться також: IP4-RECVFROM, IP6-RECVFROM, IP-SENDTO, IP-RECV, UDP-RECVFROM,
UNIX-RECVFROM

IP4-RECVFROM:
Як IP-RECVFROM, але завжди використовує IPv4.
Групи опцій: FD,SOCKET,IP4,CHILD,RANGE

IP6-RECVFROM:
Як IP-RECVFROM, але завжди використовує IPv6.
Групи опцій: FD,SOCKET,IP6,CHILD,RANGE

IP-RECV:
Відкриває необроблений IP-сокет . Залежно від параметра pf, IP-протокол версії 4
або використовується 6. Він отримує пакети від кількох невизначених однорангових пристроїв і об’єднує
дані. Відповіді неможливі. Його можна, наприклад, адресувати за допомогою socat IP-SENDTO
звертатися до однолітків. Протокол 255 використовує необроблений сокет, частиною якого є IP-заголовок
дані.
Групи опцій: FD,SOCKET,IP4,IP6,RANGE
Корисні параметри: pf, range
Дивіться також: IP4-RECV, IP6-RECV, IP-SENDTO, IP-RECVFROM, UDP-RECV, UNIX-RECV

IP4-RECV:
Як IP-RECV, але завжди використовує IPv4.
Групи опцій: FD,SOCKET,IP4,RANGE

IP6-RECV:
Як IP-RECV, але завжди використовує IPv6.
Групи опцій: FD,SOCKET,IP6,RANGE

ВІДЧИНЕНО:
Відкривається за допомогою системного виклику open() (приклад). Ця операція не вдається
Доменні сокети UNIX.
Примітка. Цей тип адреси рідко буває корисним у двонаправленому режимі.
Групи опцій: FD,REG,NAMED,OPEN
Корисні параметри: creat, excl, noatime, nofollow, append, rdonly, wronly, lock,
readbytes, ignoreeof
Дивіться також: CREATE, GOPEN, UNIX-CONNECT

OPENSSL: :
Намагається встановити з’єднання SSL до [Служба TCP] увімкнено [IP-адреса]
використовуючи TCP/IP версії 4 або 6 залежно від специфікації адреси, роздільної здатності імен або
варіант пф.
ПРИМІТКА. До версії 1.7.2.4 сертифікат сервера перевірявся лише на дійсність
проти сховища системних сертифікатів, cafile чи capath, але не для відповідності з
ім'я сервера або його IP-адреса. Починаючи з версії 1.7.3.0 socat перевіряє одноранговий
сертифікат на збіг з параметр або значення
параметр openssl-commonname. Socat намагається зіставити його з сертифікатами
subject commonName і розширення для сертифікатів subjectAltName DNS-імена.
Підтримуються символи підстановки в сертифікаті.
Групи опцій: FD,SOCKET,IP4,IP6,TCP,OPENSSL,RETRY
Корисні параметри: шифр, метод, перевірка, файл загального імені, капат, сертифікат,
ключ, стиснення, зв'язування, pf, тайм-аут підключення, вихідний порт, повторна спроба
Дивіться також: OPENSSL-LISTEN, TCP

ВІДКРИТИ-СЛУХАТИ:
Слухає на tcp [Служба TCP]. Версія IP – 4 або та, яка вказана в
пф. Коли підключення прийнято, ця адреса поводиться як SSL-сервер.
Примітка. Можливо, ви захочете використовувати параметр сертифіката з цією адресою.
ПРИМІТКА. Сертифікат клієнта перевіряється на дійсність лише з cafile або capath,
але не для збігу з ім'ям клієнта або його IP-адресою!
Групи опцій: FD,SOCKET,IP4,IP6,TCP,LISTEN,OPENSSL,CHILD,RANGE,RETRY
Корисні параметри: pf, cipher, method, verify, commonname cafile, capath, certificate,
ключ, стиснення, вилка, прив'язка, діапазон, tcpwrap, su, reuseaddr, повторна спроба
Дивіться також: OPENSSL, TCP-LISTEN

ТРУБА:
Якщо вже існує, вона відкрита. Якщо він не існує, іменований канал є
створено та відкрито. Починаючи з socat версії 1.4.3, названий канал видаляється
коли адреса закрита (але дивіться параметр unlink-close
Примітка: коли канал використовується як для читання, так і для запису, він працює як служба відлуння.
Примітка: коли труба використовується як для читання, так і для запису, а socat намагається писати
більше байтів, ніж канал може буферувати (Linux 2.4: 2048 байт), socat може блокувати.
Розгляньте можливість використання параметра socat, наприклад, -b 2048
Групи параметрів: FD,NAMED,OPEN
Корисні параметри: rdonly, nonblock, group, user, mode, unlink-early
Дивіться також: труба без імені

ТРУБА Створює безіменний канал і використовує його для читання та запису. Він працює як відлуння,
тому що все, що до нього записано, з'являється відразу як прочитані дані.
Примітка: коли socat намагається записати більше байтів, ніж канал може поставити в чергу (Linux 2.4: 2048
байт), socat може заблокувати. Розглянемо, наприклад, використання параметра -b 2048
Групи варіантів: FD
Дивіться також: названа труба

ПРОКІ: : :
Підключається до проксі-сервера HTTP на порту 8080 за допомогою TCP/IP версії 4 або 6
залежно від специфікації адреси, роздільної здатності імен або параметра pf, і надсилає a
Запит CONNECT для імені хоста: порт. Якщо проксі-сервер надає доступ і досягає успіху
підключитися до цілі, може початися передача даних між socat і цільовим елементом. Примітка
що трафік не обов’язково має бути HTTP, але може бути довільним протоколом.
Групи опцій: FD,SOCKET,IP4,IP6,TCP,HTTP,RETRY
Корисні параметри: proxyport, ignorecr, proxyauth, resolve, crnl, bind,
тайм-аут підключення, mss, вихідний порт, повторна спроба
Дивіться також: SOCKS, TCP

PTY Генерує псевдотермінал (pty) і використовує його головну сторону. Інший процес може
відкрийте підпорядковану сторону pty, використовуючи її як послідовну лінію або термінал. (приклад). Якщо
доступні як механізми ptmx, так і openpty, використовується ptmx (POSIX).
Групи параметрів: FD,NAMED,PTY,TERMIOS
Корисні параметри: посилання, openpty, wait-slave, режим, користувач, група
Дивіться також: UNIX-LISTEN, PIPE, EXEC, SYSTEM

ЧИТАННЯ
Використовує рядок читання та історію GNU на stdio, щоб дозволити редагувати та повторно використовувати рядки введення
(приклад).
Через обмеження ліцензування функція readline вимкнена в Debian. Побачити
ПОМИЛКИ.
Замість цього можна використовувати STDIO.

SCTP-CONNECT: :
Встановлює потокове з’єднання SCTP із зазначеним [IP-адреса] і
[Служба TCP] за допомогою TCP/IP версії 4 або 6 залежно від адреси
специфікація, роздільна здатність назви або параметр pf.
Групи опцій: FD,SOCKET,IP4,IP6,SCTP,CHILD,RETRY
Корисні параметри: bind, pf, connect-timeout, tos, mtudiscover, sctp-maxseg,
sctp-nodelay, nonblock, sourceport, retry, readbytes
Дивіться також: SCTP4-CONNECT, SCTP6-CONNECT, SCTP-LISTEN, TCP-CONNECT

SCTP4-CONNECT: :
Як і SCTP-CONNECT, але підтримує лише протокол IPv4.
Групи опцій: FD,SOCKET,IP4,SCTP,CHILD,RETRY

SCTP6-CONNECT: :
Як і SCTP-CONNECT, але підтримує лише протокол IPv6.
Групи опцій: FD,SOCKET,IP6,SCTP,CHILD,RETRY

SCTP-LISTEN:
Слухає далі [Служба TCP] і приймає підключення TCP/IP. Версія IP
4 або той, який вказано з параметром адреси pf, параметром socat (-4, -6), або
змінна середовища SOCAT_DEFAULT_LISTEN_IP. Зверніть увагу, що відкриття цієї адреси
зазвичай блокується, поки клієнт не з’єднається.
Групи опцій: FD, SOCKET, LISTEN, CHILD, RANGE, IP4, IP6, SCTP, RETRY
Корисні параметри: crnl, fork, bind, range, tcpwrap, pf, max-children, backlog,
sctp-maxseg, sctp-nodelay, su, reuseaddr, retry, cool-write
Дивіться також: SCTP4-LISTEN, SCTP6-LISTEN, TCP-LISTEN, SCTP-CONNECT

SCTP4-СЛУХАТИ:
Як і SCTP-LISTEN, але підтримує лише протокол IPv4.
Групи параметрів: FD, SOCKET, LISTEN, CHILD, RANGE, IP4, SCTP, RETRY

SCTP6-СЛУХАТИ:
Як і SCTP-LISTEN, але підтримує лише протокол IPv6.
Групи параметрів: FD, SOCKET, LISTEN, CHILD, RANGE, IP6, SCTP, RETRY

Гніздо-ПІДКЛЮЧЕННЯ: : :
Створює потоковий сокет з використанням першого та другого заданих параметрів сокета та
SOCK_STREAM (див. man socket\(2)) і підключається до віддаленої адреси. Два
параметри сокета мають бути задані числами типу int. Зверніться до своєї ОС
документації та доданих файлів, щоб знайти відповідні значення. Віддалена адреса
має бути представленням даних структури sockaddr без sa_family та (BSD)
sa_len компоненти.
Зверніть увагу, що ви можете - крім параметрів зазначених груп - також використовувати
параметри протоколів вищого рівня, коли ви застосовуєте опцію socat -g.
Групи параметрів: FD,SOCKET,CHILD,RETRY
Корисні параметри: bind, setsockopt-int, setsockopt-bin, setsockopt-string
Дивіться також: TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO

СОКЕТ-ДАТАГРАМА: : : :
Створює сокет дейтаграми, використовуючи перші три задані параметри сокета (див. man
socket\(2)) і надсилає вихідні дані на віддалену адресу. Три розетки
параметри мають бути задані числами типу int. Зверніться до документації вашої ОС і
включити файли, щоб знайти відповідні значення. Віддалена адреса має бути даними
представлення структури sockaddr без sa_family та (BSD) sa_len
компонентами.
Зверніть увагу, що ви можете - крім параметрів зазначених груп - також використовувати
параметри протоколів вищого рівня, коли ви застосовуєте опцію socat -g.
Групи опцій: FD,SOCKET,RANGE
Корисні параметри: bind, range, setsockopt-int, setsockopt-bin, setsockopt-string
Дивіться також: UDP-DATAGRAM, IP-DATAGRAM, SOCKET-SENDTO, SOCKET-RECV, SOCKET-RECVFROM

SOCKET-LISTEN: : :
Створює потоковий сокет з використанням першого та другого заданих параметрів сокета та
SOCK_STREAM (див. man socket\(2)) і чекає на вхідні з'єднання на
місцева адреса. Два параметри сокета мають бути задані числами int.
Зверніться до документації вашої ОС і включіть файли, щоб знайти відповідні значення. The
local-address має бути представленням даних структури sockaddr без
sa_family і (BSD) компоненти sa_len.
Зверніть увагу, що ви можете - крім параметрів зазначених груп - також використовувати
параметри протоколів вищого рівня, коли ви застосовуєте опцію socat -g.
Групи параметрів: FD, SOCKET, LISTEN, RANGE, CHILD, RETRY
Корисні параметри: setsockopt-int, setsockopt-bin, setsockopt-string
Дивіться також: TCP, UDP-CONNECT, UNIX-CONNECT, SOCKET-LISTEN, SOCKET-SENDTO,
SOCKET-SENDTO

SOCKET-RECV: : : :
Створює сокет з використанням трьох заданих параметрів сокета (див. man socket\(2)) і
прив'язує його до . Отримує дані, що надходять. Три параметри повинні
задаватися числами типу int. Зверніться до документації вашої ОС і включіть файли до
знайти відповідні значення. Локальна адреса має бути представленням даних a
Структура sockaddr без компонентів sa_family та (BSD) sa_len.
Групи опцій: FD,SOCKET,RANGE
Корисні параметри: range, setsockopt-int, setsockopt-bin, setsockopt-string
Дивіться також: UDP-RECV, IP-RECV, UNIX-RECV, SOCKET-DATAGRAM, SOCKET-SENDTO,
ГНІЗДО-RECVFROM

SOCKET-RECVFROM: : : :
Створює сокет з використанням трьох заданих параметрів сокета (див. man socket\(2)) і
прив'язує його до . Отримує дані, що надходять, і надсилає відповіді на адресу
відправник. Перші три параметри необхідно вказати у вигляді int чисел. Проконсультуйтеся
документації до вашої ОС і включіть файли, щоб знайти відповідні значення. The
local-address має бути представленням даних структури sockaddr без
sa_family і (BSD) компоненти sa_len.
Групи опцій: FD,SOCKET,CHILD,RANGE
Корисні параметри: fork, range, setsockopt-int, setsockopt-bin, setsockopt-string
Дивіться також: UDP-RECVFROM, IP-RECVFROM, UNIX-RECVFROM, SOCKET-DATAGRAM, SOCKET-SENDTO,
РОЗЕТКА-RECV

SOCKET-SENDTO: : : :
Створює сокет з використанням трьох заданих параметрів сокета (див. man socket\(2)).
Відправляє вихідні дані на вказану адресу та отримує відповіді. троє
параметри мають бути вказані як числа int. Зверніться до документації вашої ОС і
включити файли, щоб знайти відповідні значення. Віддалена адреса має бути даними
представлення структури sockaddr без sa_family та (BSD) sa_len
компонентами.
Групи опцій: FD,SOCKET
Корисні параметри: bind, setsockopt-int, setsockopt-bin, setsockopt-string
Дивіться також: UDP-SENDTO, IP-SENDTO, UNIX-SENDTO, SOCKET-DATAGRAM, SOCKET-RECV
ГНІЗДО-RECVFROM

шкарпетки 4: : :
Підключається через [IP-адреса] до [IPv4-адреса] увімкнено [TCP
service], використовуючи протокол socks версії 4 через IP версії 4 або 6 залежно від
специфікація адреси, роздільна здатність імен або параметр pf (приклад).
Групи опцій: FD,SOCKET,IP4,IP6,TCP,SOCKS4,ПОВТОРНИЙ СПРАБУ
Корисні параметри: socksuser, socksport, sourceport, pf, retry
Дивіться також: SOCKS4A, PROXY, TCP

SOCKS4A: : :
як SOCKS4, але використовує протокол socks версії 4a, таким чином залишаючи дозвіл імен хоста
на сервер socks.
Групи опцій: FD,SOCKET,IP4,IP6,TCP,SOCKS4,ПОВТОРНИЙ СПРАБУ

STDERR Використовує дескриптор файлу 2.
Групи опцій: FD (TERMIOS,REG,SOCKET)
Дивіться також: FD

STDIN Використовує дескриптор файлу 0.
Групи опцій: FD (TERMIOS,REG,SOCKET)
Корисні параметри: readbytes
Дивіться також: FD

STDIUM Використовує дескриптор файлу 0 для читання і 1 для запису.
Групи опцій: FD (TERMIOS,REG,SOCKET)
Корисні параметри: readbytes
Дивіться також: FD

ВИСТАВКА Використовує дескриптор файлу 1.
Групи опцій: FD (TERMIOS,REG,SOCKET)
Дивіться також: FD

СИСТЕМА:
Розгалужує підпроцес, який встановлює зв’язок з його батьківським процесом і
викликає зазначену програму за допомогою system() . Будь ласка, зверніть увагу, що
[рядок] не повинен містити ',' або "!!", і ці метасимволи оболонки можуть мати
бути захищеним. Після успішного запуску програми, сокат записує дані в stdin
процес і читає з його стандартного виведення.
Групи опцій: FD,SOCKET,EXEC,FORK,TERMIOS
Корисні параметри: path, fdin, fdout, chroot, su, su-d, nofork, pty, stderr, ctty,
setsid, pipes, sigint, sigquit
Дивіться також: EXEC

TCP: :
Підключається до [Служба TCP] увімкнено [IP-адреса] за допомогою TCP/IP версії 4 або 6
залежно від специфікації адреси, роздільної здатності імен або опції pf.
Групи опцій: FD,SOCKET,IP4,IP6,TCP,RETRY
Корисні параметри: crnl, bind, pf, connect-timeout, tos, mtudiscover, mss, nodelay,
nonblock, sourceport, retry, readbytes
Дивіться також: TCP4, TCP6, TCP-LISTEN, UDP, SCTP-CONNECT, UNIX-CONNECT

TCP4: :
Як і TCP, але підтримує лише протокол IPv4 (приклад).
Групи опцій: FD,SOCKET,IP4,TCP,RETRY

TCP6: :
Як і TCP, але підтримує лише протокол IPv6.
Групи опцій: FD,SOCKET,IP6,TCP,RETRY

TCP-LISTEN:
Слухає далі [Служба TCP] і приймає підключення TCP/IP. Версія IP
4 або той, який вказано з параметром адреси pf, параметром socat (-4, -6), або
змінна середовища SOCAT_DEFAULT_LISTEN_IP. Зверніть увагу, що відкриття цієї адреси
зазвичай блокується, поки клієнт не з’єднається.
Групи параметрів: FD, SOCKET, LISTEN, CHILD, RANGE, IP4, IP6, TCP, RETRY
Корисні параметри: crnl, fork, bind, range, tcpwrap, pf, max-children, backlog, mss,
su, reuseaddr, retry, cool-write
Дивіться також: TCP4-LISTEN, TCP6-LISTEN, UDP-LISTEN, SCTP-LISTEN, UNIX-LISTEN,
ВІДКРИТИ-СЛУХАТИ, TCP-ПІДКЛЮЧИТИ

TCP4-СЛУХАТИ:
Як TCP-LISTEN, але підтримує лише протокол IPv4 (приклад).
Групи параметрів: FD,SOCKET,LISTEN,CHILD,RANGE,IP4,TCP,RETRY

TCP6-СЛУХАТИ:
Як і TCP-LISTEN, але підтримує лише протокол IPv6.
Додаткова корисна опція: ipv6only
Групи параметрів: FD,SOCKET,LISTEN,CHILD,RANGE,IP6,TCP,RETRY

TUN[: / ]
Створює пристрій Linux TUN/TAP і за бажанням призначає йому адресу та маску мережі
задається параметрами. Отриманий мережевий інтерфейс майже готовий до використання
інші процеси; socat обслуговує свою «дротяну сторону». Ця адреса вимагає читання та запису
доступ до пристрою клонування тунелю, зазвичай /dev/net/tun , а також дозвіл
щоб встановити деякі ioctl()s. варіант іфф-ап is вимагається до негайно активоване
інтерфейс!
Групи опцій: FD,NAMED,OPEN,TUN
Корисні параметри: iff-up, tun-device, tun-name, tun-type, iff-no-pi
Дивіться також: ip-recv

UDP: :
Підключається до [Служба UDP] увімкнено [IP-адреса] за допомогою UDP/IP версії 4 або 6
залежно від специфікації адреси, роздільної здатності імен або опції pf.
Зверніть увагу, що через властивості протоколу UDP реального з’єднання немає
встановлений; дані повинні бути відправлені для "з'єднання" з сервером, а не кінець файлу
стан можна транспортувати.
Групи опцій: FD,SOCKET,IP4,IP6
Корисні параметри: ttl, tos, bind, sourceport, pf
Дивіться також: UDP4, UDP6, UDP-LISTEN, TCP, IP

UDP4: :
Як UDP, але підтримує лише протокол IPv4.
Групи опцій: FD,SOCKET,IP4

UDP6: :
Як UDP, але підтримує лише протокол IPv6.
Групи опцій: FD,SOCKET,IP6

UDP-ДАТАГРАМА: :
Відправляє вихідні дані на вказану адресу, яка, зокрема, може бути широкомовною
або багатоадресну адресу. Пакети, що надходять на локальний сокет, перевіряються на наявність
правильний віддалений порт і якщо їхні вихідні адреси відповідають параметрам RANGE або TCPWRAP.
Цей тип адреси можна, наприклад, використовувати для реалізації симетричного або асиметричного
широкомовний або багатоадресний зв'язок.
Групи опцій: FD,SOCKET,IP4,IP6,RANGE
Корисні параметри: bind, range, tcpwrap, broadcast, ip-multicast-loop,
ip-multicast-ttl, ip-multicast-if, ip-add-membership, ttl, tos, sourceport, pf
Дивіться також: UDP4-DATAGRAM, UDP6-DATAGRAM, UDP-SENDTO, UDP-RECVFROM, UDP-RECV,
UDP-CONNECT, UDP-LISTEN, IP-DATAGRAM

UDP4-ДАТАГРАМА: :
Як UDP-DATAGRAM, але підтримує лише протокол IPv4 (приклад1, приклад2).
Групи опцій: FD,SOCKET,IP4, RANGE

UDP6-ДАТАГРАМА: :
Як UDP-DATAGRAM, але підтримує лише протокол IPv6.
Групи опцій: FD,SOCKET,IP6,RANGE

UDP-LISTEN:
Чекає на прибуття пакета UDP/IP [Служба UDP] і `підключається' назад до
відправник. Прийнятою версією IP є 4 або та, яка вказана за допомогою параметра pf. Будь ласка
зауважте, що через властивості протоколу UDP реальне з’єднання не встановлено; дані
має надійти від однорангового партнера першим, і жодна умова кінця файлу не може бути перенесена.
Зауважте, що відкриття цієї адреси зазвичай блокується, доки клієнт не з’єднається.
Групи опцій: FD, SOCKET, LISTEN, CHILD, RANGE, IP4, IP6
Корисні параметри: fork, bind, range, pf
Дивіться також: UDP, UDP4-LISTEN, UDP6-LISTEN, TCP-LISTEN

UDP4-СЛУХАТИ:
Як UDP-LISTEN, але підтримує лише протокол IPv4.
Групи опцій: FD,SOCKET,LISTEN,CHILD,RANGE,IP4

UDP6-СЛУХАТИ:
Як UDP-LISTEN, але підтримує лише протокол IPv6.
Групи опцій: FD,SOCKET,LISTEN,CHILD,RANGE,IP6

UDP-SENDTO: :
Зв’язується із зазначеним одноранговим сокетом, визначеним за допомогою [Служба UDP] увімкнено
[IP-адреса], використовуючи UDP/IP версії 4 або 6 залежно від адреси
специфікація, роздільна здатність назви або параметр pf. Він надсилає пакети та отримує
пакети лише з цього однорангового сокета. Ця адреса ефективно реалізує дейтаграму
клієнта. Він добре працює з одноранговими адресами socat UDP-RECVFROM і UDP-RECV.
Групи опцій: FD,SOCKET,IP4,IP6
Корисні параметри: ttl, tos, bind, sourceport, pf
Дивіться також: UDP4-SENDTO, UDP6-SENDTO, UDP-RECVFROM, UDP-RECV, UDP-CONNECT,
UDP-LISTEN, IP-SENDTO

UDP4-SENDTO: :
Як UDP-SENDTO, але підтримує лише протокол IPv4.
Групи опцій: FD,SOCKET,IP4

UDP6-SENDTO: :
Як UDP-SENDTO, але підтримує лише протокол IPv6.
Групи опцій: FD,SOCKET,IP6

UDP-RECVFROM:
Створює сокет UDP [Служба UDP] із використанням UDP/IP версії 4 або 6 залежно
на варіанті pf. Він отримує один пакет від невизначеного однорангового користувача і може надіслати один або
більше пакетів відповідей цьому однорангові. Цей режим особливо корисний з опцією вилки
де кожен пакет, що надходить від довільних однорангових пристроїв, обробляється власним підпорядком
процес. Це забезпечує поведінку, подібну до типових серверів на основі UDP, таких як ntpd або
названий. Ця адреса добре працює з одноранговими адресами socat UDP-SENDTO.
Групи опцій: FD,SOCKET,IP4,IP6,CHILD,RANGE
Корисні параметри: fork, ttl, tos, bind, sourceport, pf
Дивіться також: UDP4-RECVFROM, UDP6-RECVFROM, UDP-SENDTO, UDP-RECV, UDP-CONNECT,
UDP-LISTEN, IP-RECVFROM, UNIX-RECVFROM

UDP4-RECVFROM:
Як UDP-RECVFROM, але підтримує лише протокол IPv4.
Групи опцій: FD,SOCKET,IP4,CHILD,RANGE

UDP6-RECVFROM:
Як UDP-RECVFROM, але підтримує лише протокол IPv6.
Групи опцій: FD,SOCKET,IP6,CHILD,RANGE

UDP-RECV:
Створює сокет UDP [Служба UDP] із використанням UDP/IP версії 4 або 6 залежно
на варіанті pf. Він отримує пакети від кількох невизначених однорангових пристроїв і об’єднує
дані. Відповіді неможливі. Він добре працює, наприклад, з адресою UDP-SENDTO socat
однолітки; він веде себе подібно до сервера системного журналу.
Групи опцій: FD,SOCKET,IP4,IP6,RANGE
Корисні параметри: fork, pf, bind, sourceport, ttl, tos
Дивіться також: UDP4-RECV, UDP6-RECV, UDP-SENDTO, UDP-RECVFROM, UDP-CONNECT, UDP-LISTEN,
IP-RECV, UNIX-RECV

UDP4-RECV:
Як UDP-RECV, але підтримує лише протокол IPv4.
Групи опцій: FD,SOCKET,IP4,RANGE

UDP6-RECV:
Як UDP-RECV, але підтримує лише протокол IPv6.
Групи опцій: FD,SOCKET,IP6,RANGE

UNIX-CONNECT:
Підключається до припускаючи, що це сокет домену UNIX. Якщо не
існує, це помилка; якщо це не сокет домену UNIX, це домен
помилка; якщо це сокет домену UNIX, але жоден процес не прослуховує, це так
помилка.
Групи параметрів: FD,SOCKET,NAMED,RETRY,UNIX
) Корисні параметри: bind
Дивіться також: UNIX-LISTEN, UNIX-SENDTO, TCP

UNIX-LISTEN:
Слухає далі використовує сокет потоку домену UNIX і приймає підключення.
Якщо існує і не є сокетом, це помилка. Якщо існує
і є сокетом домену UNIX, прив’язка до адреси не вдається (використовуйте параметр
роз'єднати - рано!). Зауважте, що відкриття цієї адреси зазвичай блокується, поки не з’явиться клієнт
з'єднує. Починаючи з socat версії 1.4.3, запис файлової системи видаляється
коли ця адреса закрита (але дивіться параметр unlink-close) (приклад).
Групи параметрів: FD,SOCKET,NAMED,LISTEN,CHILD,RETRY,UNIX
Корисні параметри: fork, umask, mode, user, group, unlink-early
Дивіться також: UNIX-CONNECT, UNIX-RECVFROM, UNIX-RECV, TCP-LISTEN

UNIX-SENDTO:
Зв’язується із зазначеним одноранговим сокетом, визначеним [ ] за умови, що так
сокет дейтаграми домену UNIX. Він надсилає пакети та отримує з нього пакети
тільки одноранговий сокет. Зверніть увагу, що може знадобитися прив’язати локальний сокет
на адресу (наприклад, /tmp/sock1, яка раніше не повинна існувати). Цей тип адреси
добре працює з одноранговими адресами socat UNIX-RECVFROM і UNIX-RECV.
Групи параметрів: FD,SOCKET,NAMED,UNIX
Корисні параметри: прив'язувати
Дивіться також: UNIX-RECVFROM, UNIX-RECV, UNIX-CONNECT, UDP-SENDTO, IP-SENDTO

UNIX-RECVFROM:
Створює дейтаграмний сокет домену UNIX [ ]. Отримує один пакет і може
відправити один або кілька пакетів відповідей цьому однорангові. Цей режим особливо корисний
з опцією fork, де кожен пакет, що надходить від довільних однорангових пристроїв, обробляється
власний підпроцес. Ця адреса добре працює з одноранговими адресами socat UNIX-SENDTO.
Групи параметрів: FD,SOCKET,NAMED,CHILD,UNIX
Корисні опції: вилка
Дивіться також: UNIX-SENDTO, UNIX-RECV, UNIX-LISTEN, UDP-RECVFROM, IP-RECVFROM

UNIX-RECV:
Створює дейтаграмний сокет домену UNIX [ ]. Отримує пакети від кількох
невизначені однорангові й об’єднує дані. Відповіді неможливі. Це може бути, наприклад,
адресовано одноранговими адресами socat UNIX-SENDTO. Він веде себе подібно до системного журналу
сервер. Групи параметрів: FD,SOCKET,NAMED,UNIX
Дивіться також: UNIX-SENDTO, UNIX-RECVFROM, UNIX-LISTEN, UDP-RECV, IP-RECV

UNIX-КЛІЄНТ:
Зв’язується із зазначеним одноранговим сокетом, визначеним [ ] за умови, що так
сокет домену UNIX. Спочатку він намагається підключитися і, якщо це не вдається, припускає, що так
сокет дейтаграми, що підтримує обидва типи.
Групи параметрів: FD,SOCKET,NAMED,UNIX
Корисні параметри: прив'язувати
Дивіться також: UNIX-CONNECT, UNIX-SENDTO, GOPEN

АНОТАЦІЯ-ПІДКЛЮЧЕННЯ:

РЕФЕРАТ-СЛУХАЙТЕ:

РЕФЕРАТ-НАДІСЛАТИ:

АНОТАЦІЯ-РЕЗАЦІЯ З:

ABSTRACT-RECV:

РЕФЕРАТ-КЛІЄНТ:
Адреси ABSTRACT майже ідентичні пов'язаним адресам UNIX, за винятком
що вони адресують не сокети на основі файлової системи, а альтернативний домен UNIX
адресний простір. Щоб заархівувати це, рядки адреси сокету мають префікс "\0"
внутрішньо. Ця функція доступна (тільки?) у Linux. Групи варіантів однакові
як і для пов'язаних адрес UNIX, за винятком того, що адреси ABSTRACT не є
член групи NAMED.

АДРЕСА ВАРІАНТИ


Параметри адреси можна застосувати до специфікацій адреси, щоб впливати на процес
відкриття адрес і властивостей отриманих каналів даних.

З технічних причин не кожен параметр можна застосувати до кожного типу адреси; наприклад,
застосувати параметр сокета до звичайного файлу не вдасться. Щоб ловити найбільш марні комбінації
ще на відкритій фазі концепція варіант групи було введено. Кожен варіант
належить до однієї або кількох груп варіантів. Параметри можна використовувати лише з типами адрес, які
підтримують принаймні одну зі своїх груп опцій (але дивіться параметр -g).

Параметри адреси мають типи даних, яким мають відповідати їхні значення. Кожен варіант адреси
складається лише з ключового слова або ключового слова, за яким слідує "=value", де значення має відповідати
тип опцій. Деякі параметри адреси маніпулюють параметрами системних викликів; наприклад,
параметр sync встановлює прапор O_SYNC за допомогою виклику open(). Інші варіанти викликають систему або
дзвінок до бібліотеки; наприклад, з опцією `ttl=value' setsockopt(fd, SOL_IP, IP_TTL, значення,
застосовано виклик sizeof(int)). Інші параметри встановлені внутрішньо сокат змінні, які використовуються
під час передачі даних; наприклад, `crnl' викликає явні перетворення символів. Кілька варіантів
мають більш складні реалізації; наприклад, su-d (substuser-delayed) запитує якогось користувача та
групує інформацію, зберігає їх і застосовує пізніше після можливого виклику chroot().

Якщо для адреси надано кілька варіантів, їх послідовність у специфікації адреси
не впливає (майже) на послідовність їх виконання/застосування. натомість сокат має
вбудований в варіант фаза модель, яка намагається привести параметри в корисний порядок. Дещо
опції існують у різних формах (наприклад, від’єднати, від’єднати раніше, від’єднати пізніше) для керування
час їх виконання.

Якщо один і той же параметр вказано більше одного разу в межах однієї специфікації адреси, с
однакові або різні значення, ефект залежить від виду опції. Варіанти в результаті
виклики функцій, як-от setsockopt(), викликають багаторазові виклики. З параметрами, які встановлені
параметри для необхідного виклику, наприклад open() або встановити внутрішні прапори, значення останнього
виникнення опціонів є ефективним.

Існування або семантика багатьох опцій залежать від системи. Сокат зазвичай НІ
спробуйте емулювати відсутні функції libc або ядра, він просто надає інтерфейс до
базова система. Отже, якщо в операційній системі немає функції, пов’язана опція
просто недоступний на цій платформі.

У наступних параграфах представлені лише більш поширені параметри адреси. Для більшого
вичерпну довідку та знайти інформацію про канонічні назви опцій, псевдоніми,
параметри фази та платформи див. файл xio.help.

FD варіант група

Ця група параметрів містить параметри, які застосовуються до дескриптора файлу стилю UN*X, №
незалежно від того, як він був створений. Тому що всі поточні сокат Типи адреси є дескрипторами файлів
на основі цих параметрів можна застосувати до будь-якої адреси.
Примітка. Деякі з цих параметрів також є членами іншої групи параметрів, яка надає
інший механізм, не заснований на fd. Для цих параметрів це залежить від фактичного типу адреси
та його групи варіантів, який використовується механізм. Другий механізм, не заснований на fd
пріоритетні.

cloexec=
Встановлює значення прапора FD_CLOEXEC із системним викликом fcntl(). . Якщо встановлено, то
дескриптор файлу закривається при викликах функцій сімейства exec(). Сокат внутрішні ручки
цей прапорець для fds, яким він керує, тому в більшості випадків не потрібно буде застосовувати
цей варіант.

setlk Намагається встановити дискреційне блокування запису для всього файлу за допомогою fcntl(fd,
F_SETLK, ...) системний виклик. Якщо файл уже заблоковано, цей виклик призводить до
помилка. У Linux, коли правами доступу до файлу для групи є "S" (gx,g+s), і
файлова система локально монтується з опцією «mand», блокування є обов’язковим, тобто
забороняє іншим процесам відкривати файл.

setlkw Намагається встановити дискреційне очікування блокування запису для всього файлу за допомогою
fcntl(fd, F_SETLKW, ...) системний виклик. Якщо файл уже заблоковано, цей виклик
блоків. Перегляньте параметр setlk для отримання інформації про те, як зробити це блокування обов’язковим.

setlk-rd
Намагається встановити дискреційне блокування читання для всього файлу за допомогою fcntl(fd,
F_SETLK, ...) системний виклик. Якщо запис уже заблоковано, цей виклик буде результатом
у помилці. Перегляньте параметр setlk, щоб отримати інформацію про те, як зробити це блокування обов’язковим.

setlkw-rd
Намагається встановити дискреційне очікування блокування читання для всього файлу за допомогою
fcntl(fd, F_SETLKW, ...) системний виклик. Якщо файл уже заблоковано, це
блоки викликів. Перегляньте параметр setlk для отримання інформації про те, як зробити це блокування обов’язковим.

стадо-екс
Намагається встановити блокування ексклюзивного рекомендаційного блокування для файлу за допомогою flock(fd,
LOCK_EX) системний виклик. Сокат зависає в цьому виклику, якщо файл заблоковано іншим
процесу.

стадо-екс-нб
Намагається встановити неблокуючу ексклюзивну рекомендаційну блокування для файлу за допомогою flock(fd,
LOCK_EX|LOCK_NB) системний виклик. Якщо файл уже заблоковано, ця опція призведе до
помилка.

флок-ш
Намагається встановити блокування спільного рекомендаційного блокування для файлу за допомогою flock(fd,
LOCK_SH) системний виклик. Сокат зависає в цьому виклику, якщо файл заблоковано іншим
процесу.

стадо-ш-нб
Намагається встановити неблокуючий спільний рекомендаційний блокування для файлу за допомогою flock(fd,
LOCK_SH|LOCK_NB) системний виклик. Якщо файл уже заблоковано, ця опція призведе до
помилка.

замикати Встановлює блокування файлу. Використовує механізм setlk або flock залежно від
доступність на певній платформі. Якщо обидва доступні, варіант POSIX
(setlkw) використовується.

користувач=
Встановлює (власник) потоку. Якщо адреса є членом NAMED
група варіантів, сокат використовує системний виклик chown() після відкриття файлу або прив’язки
на сокет домену UNIX (умова гонки!). Без запису файлової системи, сокат Набори
користувач потоку за допомогою системного виклику fchown(). Ці дзвінки можуть знадобитися
привілей root.

user-late=
Встановлює власника fd за допомогою системного виклику fchown() після відкриття або
підключення каналу. Це корисно лише для записів файлової системи.

група=
Встановлює потоку. Якщо адреса є членом параметра NAMED
група, сокат використовує системний виклик chown() після відкриття файлу або прив’язки до
Доменний сокет UNIX (умова гонки!). Без запису файлової системи, сокат встановлює
група потоку із системним викликом fchown(). Для цих дзвінків може знадобитися група
членство або привілей root.

група-пізно=
Встановлює групу fd за допомогою системного виклику fchown() після відкриття або
підключення каналу. Це корисно лише для записів файлової системи.

режим=
Встановлює [mode_t] (дозволи) потоку. Якщо адреса є учасником
групі параметрів NAMED і використовує виклик open() або creat(), застосовується режим
з цими. Якщо адреса є членом групи параметрів NAMED без використання цих параметрів
системні виклики, сокат використовує системний виклик chmod() після відкриття запису файлової системи
або прив'язування до сокету домену UNIX (умова гонки!). інакше сокат встановлює
режим потоку за допомогою fchmod() . Ці виклики можуть вимагати права власності або root
привілей.

perm-late=
Встановлює значення дозволів fd [mode_t] за допомогою системи fchmod().
виклик після відкриття або підключення каналу. Це корисно лише для файлової системи
записів

додати =
Завжди записує дані до фактичного кінця файлу. Якщо адреса є членом OPEN
група варіантів, сокат використовує прапор O_APPEND із системним викликом open() (приклад).
Інакше сокат застосовує виклик fcntl(fd, F_SETFL, O_APPEND).

nonblock=
Намагається відкрити або використати файл у неблокуючому режимі. Єдиний його ефект полягає в тому, що
connect() виклик TCP-адрес не блокує, і це відкриття іменованого каналу для
читання не блокує. Якщо адреса є членом групи параметрів OPEN, сокат
використовує прапор O_NONBLOCK із системним викликом open(). інакше сокат застосовується
fcntl(fd, F_SETFL, O_NONBLOCK).

двійковий Відкриває файл у двійковому режимі, щоб уникнути неявних перетворень термінатора рядка
(Cygwin).

текст Відкриває файл у текстовому режимі для примусового перетворення термінатора рядка (Cygwin).

noinherit
Не зберігає цей файл відкритим у створеному процесі (Cygwin).

круто-пиши
Полегшує роботу, коли запис не вдається за допомогою EPIPE або ECONNRESET, і записує повідомлення в журнал
повідомлення рівень замість помилка. Це запобігає заповненню файлу журналу
марні повідомлення про помилки, коли socat використовується як сервер великого обсягу чи проксі-сервер
клієнти часто переривають з’єднання.
Цей варіант є експериментальним.

кінець-закрити
Змінює (залежно від адреси) метод завершення з’єднання, щоб просто закрити
дескриптори файлів. Це корисно, коли з’єднання має використовуватися повторно або спільно
з іншими процесами (приклад).
Як правило, розеткові підключення закінчуються вимикання(2) який завершує
сокет, навіть якщо він використовується кількома процесами. близько(2) "роз'єднує" сокет
з процесу, але залишає його активним, доки ще є посилання з інших
процесів.
Аналогічно, коли адреса типу EXEC або SYSTEM завершується, socat зазвичай закінчується
явно вбити підпроцес. За допомогою цієї опції файл просто закриється
дескриптори.

закритий - немає
Змінює (залежно від адреси) метод вимкнення частини запису a
зв'язку, щоб нічого не робити.

Відключення
Змінює (залежно від адреси) метод вимкнення частини запису a
підключення до вимкнення\(fd, SHUT_WR). Корисний тільки з розетками.

закрити-закрити
Змінює (залежно від адреси) метод вимкнення частини запису a
підключення для закриття\(fd).

закритий-нуль
Коли одна адреса вказує на EOF, сокат надішле пакет нульового розміру на запис
канал іншої адреси для передачі умови EOF. Це корисно з UDP
та інші протоколи дейтаграм. Перевірено проти netcat і socat з опцією
null-eof.

null-eof
Зазвичай сокат буде ігнорувати порожні (корисне навантаження нульового розміру) пакети, що надходять на дейтаграму
сокетів, тому він виживає після сканування портів. З цією опцією сокат інтерпретує порожній
пакети дейтаграм як індикатор EOF (див. shut-null).

ioctl-void=
Викликає ioctl() зі значенням запиту як другим аргументом і NULL як третім аргументом.
Ця опція дозволяє використовувати ioctl, які явно не реалізовані в socat.

ioctl-int= :
Викликає ioctl() зі значенням запиту як другим аргументом і цілим значенням як
третій аргумент.

ioctl-intp= :
Викликає ioctl() зі значенням запиту як другим аргументом і вказівником на
ціле значення як третій аргумент.

ioctl-bin= :
Викликає ioctl() зі значенням запиту як другим аргументом і вказівником на дане
значення даних як третій аргумент. Ці дані необхідно вказати в форму.

ioctl-string= :
Викликає ioctl() зі значенням запиту як другим аргументом і вказівником на дане
рядок як третій аргумент. форму.

НАЗВАНИЙ варіант група

Ці параметри працюють із записами файлової системи.
Дивіться також параметри користувача, групи та режиму.

user-early=
Змінює (власник) запису файлової системи перед доступом до нього за допомогою
системний виклик chown(). Для цього виклику може знадобитися привілей root.

групово-ранній=
Змінює запису файлової системи перед доступом до нього за допомогою chown()
системний виклик. Для цього виклику може знадобитися членство в групі або права root.

завивка-рання=
Змінює [mode_t] запису файлової системи перед доступом до нього за допомогою
Системний виклик chmod(). Цей виклик може вимагати права власності або прав root.

umask=
Встановлює umask процесу [mode_t] перед доступом до файлової системи
запис (корисно з сокетами домену UNIX!). Цей дзвінок може вплинути на все подальше
операції сокат процес!

роз'єднати-рано
Від’єднує (видаляє) файл перед його відкриттям і навіть перед раннім застосуванням користувача
і т.п.

unlink Від’єднує (видаляє) файл перед доступом до нього, але після раннього доступу користувача тощо.

від'єднати-пізно
Від’єднує (видаляє) файл після його відкриття, щоб зробити його недоступним для інших
процесів після умов короткої гонки.

роз'єднати-закрити
Видаляє запис файлової системи адрес під час закриття адреси. Для іменованих труб,
прослуховування доменных сокетів unix та символічних посилань адрес pty, за замовчуванням
дорівнює 1; для створених файлів, відкритих файлів, загальних відкритих файлів і клієнтського домену Unix
сокети за замовчуванням 0.

ВІДЧИНЕНО варіант група

Параметри групи OPEN дозволяють встановити прапорці за допомогою системного виклику open(). Наприклад, варіант
`creat' встановлює прапор O_CREAT.
Дивіться також параметри додавання та неблокування.

creat=
Створює файл, якщо він не існує (приклад).

dsync=
Блокує виклики write() до тих пір, поки метаінформація не буде фізично записана на медіа.

окрім =
Якщо параметр creat існує, то це помилка.

великий файл=
У 32-розрядних системах дозволяє файл розміром більше 2^31 байт.

вночі
Встановлює параметри O_NOATIME, тому читання не змінюють позначку часу доступу.

noctty=
Не робить цей файл керуючим терміналом.

nofollow=
Не переходить за символічними посиланнями.

nshare=
Не дозволяє ділитися цим файлом з іншими процесами.

rshare=
Не дозволяє іншим процесам відкривати цей файл для запису.

rsync=
Блокує write() до тих пір, поки метаінформація не буде фізично записана на носій.

sync=
Блокує write(), доки дані не будуть фізично записані на носій.

rdonly=
Відкриває файл лише для читання.

помилково=
Відкриває файл лише для запису.

транк Обрізає файл до розміру 0 під час його відкриття.

REG та BLK варіант група

Ці параметри зазвичай застосовуються до дескриптора файлу UN*X, але їх семантика робить
значення лише для файлу, який підтримує довільний доступ.

шукати =
Застосовує lseek(fd, , SEEK_SET) (або lseek64 ) системний виклик, таким чином
позиціонування вказівника файлу абсолютно на [off_t або off64_t]. Будь ласка, запиши
що відсутнє значення за замовчуванням дорівнює 1, а не 0.

seek-cur=
Застосовує lseek(fd, , SEEK_CUR) (або lseek64 ) системний виклик, таким чином
позиціонування вказівника файлу [off_t або off64_t] байт відносно його
поточна позиція (яка зазвичай дорівнює 0). Зауважте, що за умовчанням за пропущеним значенням встановлено значення
1, а не 0.

seek-end=
Застосовує lseek(fd, , SEEK_END) (або lseek64 ) системний виклик, таким чином
позиціонування вказівника файлу [off_t або off64_t] байт відносно
файли поточного кінця. Зауважте, що відсутнє значення за замовчуванням дорівнює 1, а не 0.

ftruncate=
Застосовує ftruncate(fd, ) (або ftruncate64, якщо є) системний виклик, таким чином
обрізання файлу в позиції [off_t або off64_t]. Зверніть увагу, що а
відсутнє значення за замовчуванням дорівнює 1, а не 0.

secrm=

unrm=

compr=

ext2-sync=

незмінний=

ext2-append=

nodump=

ext2-noatime=

журнал-дані=

nottail=

dirsync=
Ці параметри змінюють нестандартні атрибути файлу в операційній системі та файлі
системи, які підтримують ці функції, наприклад Linux з ext2fs, ext3fs або reiserfs.
Інформацію про ці параметри див. у чаті man 1. Зверніть увагу, що може бути
умова змагання між створенням файлу та застосуванням цих параметрів.

ПРОЦЕС варіант група

Параметри цієї групи змінюють властивості процесу, а не впливають лише на одні дані
канал. Для адрес EXEC і SYSTEM, а також для адрес LISTEN і CONNECT типу с
опція FORK, ці параметри застосовуються до дочірніх процесів замість основного процесу socat.

chroot=
Виконує операцію chroot() для після обробки адреси
(приклад). Для цього виклику може знадобитися привілей root.

chroot-early=
Виконує операцію chroot() для перед відкриттям адреси. Цей дзвінок
може знадобитися привілей root.

setgid=
Змінює первинний процесу після обробки адреси. Цей дзвінок
може знадобитися привілей root. Зверніть увагу, що ця опція не скидає інші
пов'язані з групою привілеї.

setgid-early=
Як і setgit, але виконується перед відкриттям адреси.

setuid=
Змінює (власник) процесу після обробки адреси. Цей дзвінок
може знадобитися привілей root. Зверніть увагу, що ця опція не скидає групу
пов'язані привілеї. Перевірте, чи варіант su краще відповідає вашим потребам.

setuid-early=
Як setuid, але виконується перед відкриттям адреси.

su=
Змінює (власник) і групи процесу після обробки адреси
(приклад). Для цього виклику може знадобитися привілей root.

su-d=
Скорочене ім'я для субстузера із затримкою. Змінює (власник) та групи в
процес після обробки адреси (приклад). Користувач і його групи є
витягується перед тим можливий chroot() . Для цього виклику може знадобитися привілей root.

setpgid=
Робить процес членом вказаної групи процесів . Якщо значення немає
задане, або якщо значення дорівнює 0 або 1, процес стає лідером нового процесу
група.

сецид Робить процес лідером нового сеансу (приклад).

ЧИТАННЯ варіант група

Через обмеження ліцензування функція readline вимкнена в Debian (див. ПОМИЛКИ).
Ці параметри застосовуються до типу адреси readline.

історія=
Читає та записує історію від/до (приклад).

noprompt
Починаючи з версії 1.4.0, socat за замовчуванням намагається визначити підказку - саме тоді
переходить до виклику readline - шляхом запам'ятовування останнього неповного рядка
вихід. За допомогою цієї опції socat не передає підказку на рядок читання, тому вона починається
редагування рядка в першому стовпці терміналу.

noecho=
Вказує звичайний шаблон для підказки, який запобігає наступному рядку введення
від відображення на екрані та від додавання в історію. Підказка
визначається як текст, виведений на адресу рядка читання після останньої
символ нового рядка і перед введенням символу введення. Візерунок звичайний
вираз, наприклад "^[Pp]assword:.*$" або "([Uu]ser:|[Pp]assword:)". Див. регулярний вираз\(7)
для деталей. (приклад)

підказка =
Передає рядок як підказку функції readline. readline друкує цю підказку
коли крокуєш по історії. Якщо цей рядок відповідає постійному запиту
за допомогою інтерактивної програми за іншою адресою socat, можна отримати послідовний вигляд і відчуття
бути заархівованим.

ЗАСТОСУВАННЯ варіант група

Ця група містить параметри, які працюють на рівні даних. Зауважте, що ці параметри застосовуються лише
до «сирих» даних, переданих socat, але не до даних протоколу, які використовуються адресами на кшталт
ПРОКІ.

cr Перетворює символ завершення рядка за замовчуванням NL ('\n', 0x0a) у/з CR ('\r',
0x0d) під час запису/читання на цьому каналі.

crnl Перетворює символ завершення рядка за замовчуванням NL ('\n', 0x0a) у/з CRNL
("\r\n", 0x0d0a) під час запису/читання на цьому каналі (приклад). Примітка: сокат
просто видаляє всі символи CR.

ігнорувати
Коли EOF відбувається на цьому каналі, сокат ігнорує його та намагається прочитати більше даних (наприклад
"хвіст -f") (приклад).

readbytes=
сокат зчитує лише стільки байтів з цієї адреси (адреса надає лише стільки
байтів для передачі і потім прикидається, що перебуває в EOF). Має бути більше 0.

lockfile=
Якщо файл блокування існує, виходить з помилкою. Якщо файл блокування не існує, створює його і
продовжується, від'єднує файл блокування при виході.

waitlock=
Якщо файл блокування існує, чекає, поки він не зникне. Коли файл блокування не існує,
створює його та продовжує, від'єднує файл блокування при виході.

escape=
Вказує числовий код символу, який запускає EOF у вхідному потоці. Це
корисно з терміналом в необробленому режимі (приклад).

SOCKET варіант група

Ці параметри призначені для всіх типів сокетів, наприклад, IP або домену UNIX. Більшість є
застосовується за допомогою виклику setsockopt().

bind=
Прив’язує сокет до заданої адреси сокета за допомогою системного виклику bind(). Форма
з залежить від домену сокета: IP4 та IP6 дозволяють форму
[ім'я хосту|адреса хосту][:(сервіс|порт)] (приклад), сокети домену UNIX вимагають
.

з'єднання-тайм-аут=
Після цього припиніть спробу підключення [timeval] зі статусом помилки.

so-bindtodevice=
Прив’язує сокет до заданого . Для цього параметра може знадобитися root
привілей.

віщати
Для дейтаграмних сокетів дозволяє надсилати на широкомовні адреси та отримувати пакети
адресовано за адресами мовлення.

відлагоджувати Вмикає налагодження сокетів.

донтроут
Спілкується лише з безпосередньо підключеними однолітками, не використовує маршрутизатори.

підтримувати
Дозволяє надсилати дані про підтримку в сокеті.

затримуватися =
Блокує shutdown() або close() до тих пір, поки передача даних не закінчиться або не буде задано
час очікування [int] минув.

oobinline
Поміщає позасмугові дані у вхідний потік даних.

пріоритет=
Встановлює визначений протокол [ ] для вихідних пакетів.

rcvbuf=
Встановлює розмір буфера прийому після виклику socket(). [int]. З
TCP-сокети, це значення відповідає максимальному розміру вікна сокета.

rcvbuf-late=
Встановлює розмір буфера прийому, коли сокет вже підключений
[int]. Для сокетів TCP це значення відповідає максимальному вікну сокета
розмір.

rcvlowat=
Вказує мінімальну кількість отриманих байтів [int], доки рівень сокетів не буде
передати буферизовані дані сокат.

rcvtimeo=
Встановлює час очікування отримання [timeval].

reuseaddr
Дозволяє іншим сокетам прив’язуватися до адреси, навіть якщо її частини (наприклад, локальний
порт) вже використовуються сокат (приклад).

sndbuf=
Встановлює розмір буфера відправки після виклику socket(). [int].

sndbuf-late=
Встановлює розмір буфера відправки, коли сокет підключено [int].

sndlowat=
Вказує мінімальну кількість байтів у буфері відправки до рівня сокета
надішле дані до [int].

sndtimeo=
Встановлює час очікування надсилання в секунди [timeval].

pf=
Примусове використання вказаної версії IP або протоколу. може бути щось
наприклад "ip4" або "ip6". Отримане значення використовується як перший аргумент для socket()
або виклики socketpair(). Цей параметр впливає на роздільну здатність адреси та необхідну
синтаксис параметрів зв'язування та діапазону.

тип=
Встановлює тип сокета, зазначений як другий аргумент socket() або
socketpair() викликає до [int]. Це не впливає на роздільну здатність адрес
варіант. У Linux 1 означає потоково-орієнтований сокет, 2 означає сокет дейтаграми і
3 означає необроблену розетку.

прототип
Встановлює протокол сокета, зазначений як третій аргумент для socket() або
socketpair() викликає до [int]. Роздільна здатність адреси не впливає
цей варіант. 6 означає TCP, 17 означає UDP.

так-мітка часу
Встановлює параметр сокета SO_TIMESTAMP. Це дозволяє отримувати та реєструвати
допоміжні повідомлення з міткою часу.

setsockopt-int= : :
Викликає setsockopt() для сокета з заданими параметрами. використовується рівень [int].
як другий аргумент для setsockopt() і вказує рівень, наприклад SOL_TCP для TCP (6
у Linux) або SOL_SOCKET для рівня сокетів (1 у Linux). optname [int] є
третій аргумент для setsockopt() і вказує, який параметр сокета потрібно встановити. Для
фактичні цифри, можливо, доведеться шукати відповідні файли включення
системи. 4-й параметр setsockopt(), значення [int], передається функції per
покажчик, а для параметра довжини sizeof\(int) береться неявно.

setsockopt-bin= : :
Як і setockopt-int, але має бути надано у форматі далан і вказує an
довільна послідовність байтів; параметр довжини автоматично виводиться з
дані.

setockopt-string= : :
Як і setockopt-int, але має бути рядок. Цей рядок передається до
функція із кінцевим нульовим символом, а параметр довжини автоматично
отримані з даних.

UNIX варіант група

Ці параметри застосовуються до адрес на основі домену UNIX.

unix-tightsocklen=[0|1]
Під час операцій із сокетом передайте довжину адреси сокета, яка не включає ціле
struct sockaddr_un запис, але (крім інших компонентів) лише відповідну частину
ім'я файлу або абстрактний рядок. За замовчуванням 1.

IP4 та IP6 варіант групи

Ці параметри можна використовувати з сокетами на основі IPv4 та IPv6.

tos=
Встановлює поле TOS (тип послуги) вихідних пакетів [байт] (див. RFC
791).

ttl=
Встановлює поле TTL (час життя) вихідних пакетів [байт].

ip-options=
Встановлює параметри IP, як-от вихідну маршрутизацію. Повинно бути подано у двійковій формі, рекомендовано
формат – це провідний «x», за яким слідує парна кількість шістнадцяткових цифр. Цей варіант може
використовуватися кілька разів, дані додаються. Наприклад, для підключення до хоста 10.0.0.1 через
деякий шлюз, який використовує вільний вихідний маршрут, використовуйте шлюз як параметр адреси та
встановіть вільний вихідний маршрут за допомогою параметра ip-options=x8307040a000001 .
Параметри IP визначені в RFC 791.

mtudiscover=<0|1|2>
Приймає 0, 1, 2, щоб ніколи, не хотіти або завжди використовувати шлях MTU виявити на цьому сокеті.

ip-pktinfo
Встановлює параметр IP_PKTINFO сокета. Це дозволяє отримувати та реєструвати допоміжні дані
повідомлення, що містять адресу призначення та інтерфейс (Linux) (приклад).

ip-приймач
Встановлює параметр сокета IP_RECVERR. Це дозволяє отримувати та реєструвати допоміжні дані
повідомлення, що містять детальну інформацію про помилку.

ip-відновлення
Встановлює параметр сокета IP_RECVOPTS. Це дозволяє отримувати та реєструвати IP-адреси
параметри допоміжних повідомлень (Linux, *BSD).

ip-recvtos
Встановлює параметр сокета IP_RECVTOS. Це дозволяє отримувати та реєструвати TOS (тип
обслуговування) допоміжні повідомлення (Linux).

ip-recvttl
Встановлює параметр IP_RECVTTL сокета. Це дозволяє отримувати та реєструвати TTL (час
to live) допоміжні повідомлення (Linux, *BSD).

ip-recvdstaddr
Встановлює параметр сокета IP_RECVDSTADDR. Це дозволяє отримувати та реєструвати
допоміжні повідомлення, що містять адресу призначення (*BSD) (приклад).

ip-recvif
Встановлює параметр IP_RECVIF сокета. Це дозволяє отримувати та реєструвати інтерфейс
допоміжні повідомлення (*BSD) (приклад).

ip-add-membership=

ip-add-membership=

ip-add-membership=

ip-add-membership=

ip-add-membership=
Робить сокет членом зазначеної багатоадресної групи. Наразі це лише
реалізовано для IPv4. Параметр приймає IP-адресу групи багатоадресної розсилки та
інформація про потрібний мережевий інтерфейс. Найпоширенішим синтаксисом є перший,
тоді як інші доступні лише в системах, які забезпечують структуру mreqn (Linux).
За допомогою утиліти можна відобразити індекси активних мережевих інтерфейсів прокан.

ip-multicast-if=
Вказує ім’я хоста або адресу мережевого інтерфейсу, який буде використовуватися для багатоадресної передачі
трафік

ip-multicast-loop=
Вказує, чи повинен вихідний багатоадресний трафік повертатися до інтерфейсу.

ip-multicast-ttl=
Встановлює TTL, що використовується для вихідного багатоадресного трафіку. За замовчуванням 1.

повторне налагодження

res-aaonly

res-usevc

рес-первинний

res-igntc

рес-рекурс

повторні визначення назв

повторно залишатися відкритим

res-dnsrch
Ці параметри встановлюють відповідні прапорці параметрів роздільника (роздільна здатність імен).
Додайте "=0", щоб видалити параметр за замовчуванням. Для отримання додаткової інформації див. man resolver\(5).
ці варіанти. Примітка: ці параметри дійсні лише для адреси, на яку вони застосовано
в.

IP6 варіант група

Ці параметри можна використовувати лише на сокетах на основі IPv6. Перегляньте параметри IP для параметрів, які можуть
застосовуватися до IPv4 і IPv6 сокетів.

ipv6only=
Встановлює параметр IPV6_V6ONLY. Якщо 0, стек TCP також прийме
підключення за допомогою протоколу IPv4 на одному порту. За замовчуванням залежить від системи.

ipv6-recvdstopts
Встановлює параметр сокета IPV6_RECVDSTOPTS. Це дозволяє отримувати та реєструвати
допоміжні повідомлення, що містять параметри призначення.

ipv6-recvhoplimit
Встановлює параметр IPV6_RECVHOPLIMIT. Це дозволяє отримувати та реєструвати
допоміжні повідомлення, що містять hoplimit.

ipv6-recvhopopts
Встановлює параметр сокета IPV6_RECVHOPOPTS. Це дозволяє отримувати та реєструвати
допоміжні повідомлення, що містять параметри переходу.

ipv6-recvpktinfo
Встановлює параметр сокета IPV6_RECVPKTINFO. Це дозволяє отримувати та реєструвати
допоміжні повідомлення, що містять адресу призначення та інтерфейс.

ipv6-unicast-hops=link(TYPE_INT)( )
Встановлює параметр IPV6_UNICAST_HOPS. Це встановлює обмеження кількості стрибків (TTL) для
вихідні одноадресні пакети.

ipv6-recvrthdr
Встановлює параметр сокета IPV6_RECVRTHDR. Це дозволяє отримувати та реєструвати
допоміжні повідомлення, що містять інформацію про маршрутизацію.

ipv6-tclass
Встановлює параметр сокета IPV6_TCLASS. Це встановлює клас передачі вихідних
пакети.

ipv6-recvtclass
Встановлює параметр сокета IPV6_RECVTCLASS. Це дозволяє отримувати та реєструвати
допоміжні повідомлення, що містять клас передачі.

TCP варіант група

Ці параметри можна застосувати до TCP-сокетів. Вони працюють, викликаючи setockopt() з
відповідні параметри.

пробку Не надсилає пакети, менші за MSS (максимальний розмір сегмента).

відкласти-прийняти
Під час прослуховування приймає підключення лише тоді, коли надійшли дані від однорангового партнера.

keepcnt=
Встановлює кількість підтримки перед вимкненням сокета [int].

Keepidle=
Встановлює час простою перед відправкою першого підтримання активності [int].

keepintvl=
Встановлює інтервал між двома підтримками [int].

затримуватися2=
Встановлює час утримання розетки в стані FIN-WAIT-2 [int].

mss=
Встановлює MSS (максимальний розмір сегмента) після виклику socket(). [int]. Це
значення потім пропонується однорангові з пакетом SYN або SYN/ACK (приклад).

mss-late=
Встановлює MSS розетки після встановлення з’єднання [int].

вузол затримки
Вимикає алгоритм Нейгла для вимірювання RTT (час у дорозі).

rfc1323
Вмикає параметри TCP RFC1323: шкала вікна TCP, вимірювання часу в обидва боки (RTTM),
і захист від обгорнутих порядкових номерів (PAWS) (AIX).

stdurg Вмикає сумісну з RFC1122 термінову обробку вказівника (AIX).

syncnt=
Встановлює максимальну кількість повторних передач SYN під час підключення до [int].

md5sig Дозволяє генерувати дайджест MD5 для пакетів (FreeBSD).

noopt Вимикає використання параметрів TCP (FreeBSD, MacOSX).

nopush встановлює параметр сокета TCP_NOPUSH (FreeBSD, MacOSX).

мішок-відключити
Вимикає використання функції вибіркового підтвердження (OpenBSD).

підпис увімкнення
Дозволяє генерувати дайджест MD5 для пакетів (OpenBSD).

abort-threshold=
Встановлює час очікування відповіді однорангового пристрою на встановленому з’єднанні
(HP-UX).

conn-abort-threshold=
Встановлює час очікування відповіді сервера під час первинного підключення
(HP-UX).

keepinit
Встановлює час очікування відповіді сервера під час підключення\() перед наданням
вгору. Значення в півсекунди, за умовчанням 150 (75 с) (Tru64).

лапи Вмикає функцію «захист від загорнутих порядкових номерів» (Tru64).

sackena
Вмикає вибіркове підтвердження (Tru64).

цоптена
Вмикає параметр відмітки часу, який дозволяє перерахувати RTT для існуючих з’єднань
(Tru64).

SCTP варіант група

Ці параметри можна застосувати до потокових сокетів SCTP.

sctp-nodelay
Встановлює параметр сокета SCTP_NODELAY, який вимикає алгоритм Нейгла.

sctp-maxseg=
Встановлює для параметра сокета SCTP_MAXSEG значення [int]. Потім пропонується це значення
однорангові з пакетом SYN або SYN/ACK.

UDP, TCP, та SCTP варіант групи

Тут ми знаходимо параметри, які пов’язані з механізмом мережевого порту і тому можуть бути використані
з адресами клієнта та сервера UDP, TCP та SCTP.

sourceport=
Для вихідних (клієнтських) TCP і UDP-з'єднань він встановлює джерело використовуючи an
додатковий виклик bind(). З адресами прослуховування TCP або UDP socat негайно вимикається
підключення, якщо клієнт не використовує цей вихідний порт (приклад).

низький порт
Вихідні (клієнтські) TCP та UDP з’єднання з цією опцією використовують невикористані випадкові
вихідний порт від 640 до 1023 вкл. В операційних системах класу UNIX це
вимагає прав root, і таким чином вказує на те, що клієнтський процес авторизований
за місцевим коренем. Адреси прослуховування TCP та UDP з цією опцією негайно вимикаються
підключення, якщо клієнт не використовує вихідний порт <= 1023. Цей механізм може
надати обмежений дозвіл за певних обставин.

SOCKS варіант група

Використовуючи адреси типу SOCKS, можна встановити деякі параметри, специфічні для шкарпеток.

socksport= послуга>
Замінює стандартну службу "socks" або порт 1080 для порту сервера socks
.

socksuser=
Відправляє [рядок] у полі імені користувача на сервер socks. За замовчуванням є
фактичне ім’я користувача ($LOGNAME або $USER) (приклад).

HTTP варіант група

Параметри, які можна надати з адресами типу HTTP. Наразі єдина адреса HTTP
реалізовано проксі-підключення.

proxyport= послуга>
Замінює стандартний порт проксі-сервера HTTP 8080 за допомогою .

ігнорувати
Протокол HTTP вимагає використання CR+NL як термінатора рядка. Коли проксі-сервер
порушує цей стандарт, socat може не зрозуміти його відповіді. Цей параметр спрямовує
socat, щоб інтерпретувати NL як термінатор рядка та ігнорувати CR у відповіді.
Тим не менш, socat надсилає CR+NL проксі.

proxyauth= :
Надайте «базову» аутентифікацію проксі-серверу. Аргумент до варіанту є
використовується із заголовком "Proxy-Authorization: Base" у формі base64.
Примітка: ім’я користувача та пароль видимі для кожного користувача на локальній машині в
перелік процесів; Ім'я користувача та пароль передаються на проксі-сервер у незашифрованому вигляді
(закодовано base64) і може бути пронюховано.

рішення
За замовчуванням socat надсилає проксі-серверу запит CONNECT, що містить ціль
ім'я хоста. За допомогою цієї опції socat локально вирішує ім’я хоста та надсилає IP-адресу
адреса. Будь ласка, зверніть увагу, що відповідно до RFC 2396, розділення імен лише до IPv4
адреси реалізовано.

RANGE варіант група

Ці параметри перевіряють, чи потрібно надати підключеному клієнту доступ. Їх можна застосовувати
для прослуховування та прийому мережевих розеток. Параметри tcp-wrappers потрапляють до цієї групи.

діапазон=
Після прийняття з’єднання перевіряє, чи є одноранговий партнер діапазон. Для IPv4
адрес, діапазон адрес приймає форму адреса/біти, наприклад 10.0.0.0/8, або
адреса:маска, наприклад, 10.0.0.0:255.0.0.0 (приклад); для IPv6, це так
[IP6-адреса/біти], наприклад [::1/128]. Якщо адреса клієнта не збігається, сокат
видає попередження і продовжує слухати/отримувати.

tcpwrap[= ]
Використовує бібліотеку libwrap (tcpd) Wietse Venema, щоб визначити, чи дозволено клієнту
з'єднати. Конфігураційні файли є /etc/hosts.allow та /etc/hosts.deny для
за замовчуванням, див. «man 5 hosts_access» для отримання додаткової інформації. Необов’язковий (тип
string) передається функціям обгортки як ім’я процесу демона (приклад). Якщо
опущено, передається базове ім’я виклику socats (argv[0]). Якщо обидва tcpwrap
і параметри діапазону застосовуються до адреси, для якої мають виконуватися обидві умови
дозволити підключення.

Дозвіл-таблиця=
Бере вказаний файл замість /etc/hosts.allow.

deny-table=
Бере вказаний файл замість /etc/hosts.deny.

tcpwrap-etc=
Шукає hosts.allow і hosts.deny у вказаному каталозі. Перевизначено
параметри hosts-allow і hosts-deny.

СЛУХАЛИ варіант група

Опції, специфічні для прослуховуваних розеток.

відставання=
Встановлює значення відставання, передане за допомогою системного виклику listen(). [int].
За замовчуванням - 5.

max-children=
Обмежує кількість одночасних дочірніх процесів [int]. За замовчуванням немає обмежень.

ДИТИНА варіант група

Параметри для адрес із кількома підключеннями через дочірні процеси.

вилка Після встановлення з’єднання обробляє його канал у дочірньому процесі та зберігає
батьківський процес намагається створити більше з'єднань, прослуховуючи або
шляхом з’єднання в петлю (приклад).
OPENSSL-CONNECT і OPENSSL-LISTEN відрізняються тим, коли вони фактично виділяють дитину:

Вилки OPENSSL-LISTEN перед тим рукостискання SSL, а OPENSSLSSL-CONNECT розгалужується
потім. Параметри RETRY і FOREVER не успадковуються дочірнім процесом.
У деяких операційних системах (наприклад, FreeBSD) цей параметр не працює для UDP-LISTEN
адреси

ВИКОН варіант група

Параметри для адрес, які викликають програму.

шлях=
Замінює змінну середовища PATH для пошуку програми .
Це значення $PATH також діє в дочірньому процесі.

Логін Префікси argv[0] для виклику execvp() з '-', таким чином, оболонка веде себе як
оболонка входу.

Форк варіант група

Адреси EXEC або SYSTEM викликають програму, яка використовує дочірній процес і передає дані між ними
сокат і програма. На механізм міжпроцесного зв'язку можна вплинути за допомогою
наступні варіанти. За замовчуванням створюється socketpair() і призначається stdin і stdout
дочірнього процесу, тоді як stderr успадковується від сокат процесу, і дитини
процес використовує файлові дескриптори 0 і 1 для зв'язку з основним процесом socat.

nofork Не розгалужує підпроцес для виконання програми, замість цього викликає execvp\() або
system\() безпосередньо з фактичного екземпляра socat. Це дозволяє уникнути накладних витрат
інший процес між програмою та її аналогом, але вводить багато
обмеження:

o цей параметр можна застосувати лише до другого сокат адреса

o його не можна застосувати до частини подвійної адреси.

o перша адреса socat не може бути OPENSSL або READLINE

o опції socat -b, -t, -D, -l, -v, -x стають марними

o для обох адрес параметри ignoreeof, cr і crnl стають марними

o для другої адреси (з опцією nofork), опції append, cloexec,
flock, user, group, mode, nonblock, perm-late, setlk і setpgid не можуть бути
застосовано. Однак деякі з них можна використовувати для першої адреси.

труби Створює пару безіменних каналів для міжпроцесного зв’язку замість сокета
пару.

openpty
Встановлює зв’язок з підпроцесом за допомогою псевдотерміналу, створеного за допомогою
openpty() замість стандартного (socketpair або ptmx).

ptmx Встановлює зв’язок з підпроцесом за допомогою псевдотерміналу, створеного
відкриття /dev/ptmx or /dev/ptc замість стандартного (пара сокетів).

pty Встановлює зв’язок із підпроцесом, використовуючи псевдотермінал замість a
пара розеток. Створює pty з доступним механізмом. Якщо є openpty і ptmx
обидва доступні, він використовує ptmx, оскільки він сумісний з POSIX (приклад).

ctty Робить pty керуючим tty підпроцесу (приклад).

stderr Направляє stderr підпроцесу до його вихідного каналу, роблячи stderr як dup().
stdout (приклад).

fdin=
Призначає вхідний канал підпроцесів своєму файловому дескриптору замість
стандартний номер (0). Програма, запущена з підпроцесу, повинна використовувати цей fd для читання
дані сокат (приклад).

fdout=
Призначає вихідний канал підпроцесів своєму файловому дескриптору замість
стандартний вихід (1). Програма, запущена з підпроцесу, повинна використовувати цей fd для запису
дані до сокат (приклад).

зітхання, знак, sigquit
Має сокат передавати сигнали цього типу до підпроцесу. Якщо немає такої адреси
опція, socat закінчується на цих сигналах.

ТЕРМІОС варіант група

Для адрес, які працюють на tty (наприклад, stdio, file:/dev/tty, exec:...,pty), термінал
параметри, визначені в механізмі Терміос UN*X, доступні як параметр адреси
параметри. Зверніть увагу, що змінюються параметри вашого інтерактивного терміналу
залишаються ефективними після сокат's припинення, тож вам, можливо, доведеться ввести «reset» або «stty
sane" у вашій оболонці. Для адрес EXEC та SYSTEM з опцією PTY, ці
параметри, що застосовуються до pty дочірніми процесами.

b0 Від’єднує термінал.

b19200 Встановлює швидкість послідовної лінії на 19200 бод. Можливі деякі інші тарифи; використання
щось на кшталт socat -hh |grep ' b[1-9]', щоб знайти всі швидкості, підтримувані вашим
реалізація.
Примітка. У деяких операційних системах ці параметри можуть бути недоступними. Використовуйте ispeed або
ospeed замість цього.

луна =
Вмикає або вимикає локальне ехо.

icanon=
Встановлює або очищає канонічний режим, вмикаючи буферизацію рядків і деякі спеціальні символи.

сировина Встановлює необроблений режим, таким чином передаючи вхід і вихід майже без обробки. Цей варіант є
застаріло, замість цього використовуйте параметр rawer або cfmakeraw.

більш сирий Робить термінал більш сирим, ніж необроблений варіант. Цей параметр неявно вимикає луну.
(приклад).

cfmakeraw
Встановлює необроблений режим, викликаючи cfmakeraw() або моделюючи цей виклик. Цей варіант
неявно вимикає ехо.

ignbrk=
Ігнорує або інтерпретує символ BREAK (наприклад, ^C)

brkint=

bs0

bs1

bsdly=<0|1>

clocal=

cr0
cr1
cr2
cr3

Встановлює затримку повернення каретки на 0, 1, 2 або 3 відповідно. 0 означає відсутність затримки,
інші значення залежать від терміналу.

crdly=<0|1|2|3>

cread=

crtscts=

cs5
cs6
cs7
cs8

Встановлює розмір символу на 5, 6, 7 або 8 біт відповідно.

csize=<0|1|2|3>

cstopb=
Встановлює два стоп-біти, а не один.

dsusp=
Встановлює значення для символу VDSUSP, який призупиняє поточний передній план
обробляти та повторно активувати оболонку (усі, крім Linux).

echoctl=
Символи керування відлунням у позначенні капелюха (наприклад, ^A)

луна =

echok=

echoke=

echonl=

echoprt=

eof=

eol=

eol2=

стерти =

відкинути=

ff0

ff1

ffdly=

flusho=

hupcl=

icrnl=

iexten=

igncr=

ignpar=

imaxbel=

inlcr=

inpck=

intr=

isig=

швидкість =
Встановіть швидкість передачі даних для вхідних даних на цьому рядку.
Дивіться також: ospeed, b19200

istrip=

iuclc=

ixany=

ixoff=

ixon=

kill=

наступний=

мін=

nl0 Встановлює затримку нового рядка на 0.

nl1

nldly=

noflsh=

ocrnl=

ofdel=

погано =

olcuc=

onlcr=

onlret=

onocr=

opost=
Вмикає або вимикає обробку виводу; наприклад, перетворює NL на CR-NL.

ospeed=
Встановіть швидкість передачі даних для вихідних даних на цьому рядку.
Дивіться також: ispeed, b19200

parenb=
Увімкнути генерацію парності на виході та перевірку парності для входу.

parmrk=

parodd=

pendin=

вийти =

передрук=

розсудлива Приводить термінал у щось на зразок корисного стану за замовчуванням.

початок=

стоп=

susp=

swtc=

tab0

tab1

tab2

tab3

tabdly=

час=

tostop=

vt0

vt1

vtdly=

werase=

xcase=

xtabs

i-pop-all
З UNIX System V STREAMS видаляє всі драйвери зі стека.

i-push=
З UNIX System V STREAMS штовхає драйвер (модуль) із заданим ім’ям (рядком)
на стек. Наприклад, щоб переконатися, що символьний пристрій на Solaris
підтримує терміни тощо, використовуйте такі параметри:
i-pop-all,i-push=ptem,i-push=ldterm,i-push=ttcompat

PTY варіант група

Ці параметри призначені для використання з типом адреси pty.

посилання=
Генерує символічне посилання, яке вказує на фактичний псевдотермінал (pty). Це
може допомогти вирішити проблему, що ptys генеруються з більшою чи меншою кількістю
непередбачувані імена, що ускладнює прямий доступ до згенерованого socat pty
автоматично. За допомогою цієї опції користувач може вказати точку «виправлення» у файлі
ієрархія, яка допомагає йому отримати доступ до фактичного pty (приклад). Починаючи з сокат
версії 1.4.3 символічне посилання видаляється, коли адреса закривається (але див
опція unlink-close).

чекати-раб
Блокує відкриту фазу, доки процес не відкриє підпорядковану сторону pty. Зазвичай,
socat продовжується після генерації pty з відкриттям наступної адреси або з
входження в цикл передачі. З опцією wait-slave socat чекає до певної кількості
перед продовженням процес відкриває підпорядковану сторону pty. Ця опція працює лише
якщо операційна система забезпечує системний виклик poll(). І це залежить від
недокументована поведінка pty, тому він працює не на всіх операційних системах. Це
було успішно протестовано на Linux, FreeBSD, NetBSD та на Tru64 з openpty.

pty-інтервал=
Коли встановлено опцію wait-slave, socat періодично перевіряє стан HUP
використовуючи poll(), щоб дізнатися, чи була відкрита підпорядкована сторона pty. Опитування за замовчуванням
інтервал 1с. Використовуйте параметр pty-interval [timeval], щоб змінити це значення.

OPENSSL варіант група

Ці параметри застосовуються до типів адрес openssl і openssl-listen.

шифр=
Вибирає список шифрів, які можна використовувати для з’єднання. Дивіться сторінку man
шифрів , розд CIPHER СПИСОК ФОРМАТ, для отримання детальної інформації про синтаксис,
значення та за замовчуванням .
Можна надати кілька рядків шифру, розділених символом «:». Деякі прості рядки шифру:

3DES Використовує набір шифрів із потрійним DES.

MD5 Використовує набір шифрів з MD5.

aNULL Використовує набір шифрів без аутентифікації.

NULL Не використовує шифрування.

HIGH Використовує набір шифрів із «високим» шифруванням. Зауважте, що партнер повинен підтримувати
вибрано властивість, або переговори не вдасться.

метод=
Встановлює версію протоколу, яка буде використовуватися. Дійсними рядками (не чутливими до регістру) є:

SSL2 Виберіть протокол SSL версії 2.

SSL3 Виберіть протокол SSL версії 3.

SSL23 Виберіть найкращий доступний протокол SSL або TLS. Це значення за замовчуванням, коли ця опція
не надається.

TLS1 Виберіть протокол TLS версії 1.

TLS1.1 Виберіть протокол TLS версії 1.1.

TLS1.2 Виберіть протокол TLS версії 1.2.

DTLS1 Виберіть протокол DTLS версії 1.

перевірити=
Контролює перевірку сертифіката партнера. За замовчуванням – 1 (правда). Вимкнення перевірки
може відкрити ваш сокет для всіх, що робить шифрування марним!

сертифікат=
Вказує файл із сертифікатом і закритим ключем для аутентифікації. The
сертифікат має бути у форматі OpenSSL (*.pem). За допомогою openssl-listen використовуйте це
настійно рекомендований варіант. За винятком шифру aNULL, помилка "немає спільних шифрів".
відбудеться, коли сертифікат не надається.

ключ=
Вказує файл із закритим ключем. Закритий ключ може бути в цьому файлі або в
файл із параметром cert. Сторона, яка має довести, що це є
власнику сертифіката потрібен закритий ключ.

dhparams=
Вказує файл з параметрами Діффі Хеллмана. Ці параметри також можуть бути
у файлі з параметром cert, у цьому випадку параметр dhparams не є
необхідний

cafile=
Вказує файл із довіреними (кореневими) сертифікатами центру. Файл повинен бути
у форматі PEM і має містити один або кілька сертифікатів. Сторона, яка перевіряє
аутентифікація його однорангового партнера довіряє лише сертифікатам, які є в цьому файлі.

capath=
Вказує каталог із довіреними (кореневими) сертифікатами. Довідник повинен
містять сертифікати у форматі PEM та їх хеші (див. документацію OpenSSL)

egd=
У деяких системах openssl вимагає явного джерела випадкових даних. Вкажіть
ім'я сокета, де демон збору ентропії, наприклад egd, надає випадкові дані, напр
/dev/egd-пул.

прізвисько У системах, де openssl не може знайти джерело ентропії і де немає ентропії
можна використовувати демон збору, цей параметр активує механізм надання
псевдоентропія. Це архівується, використовуючи поточний час у мікросекундах
живлення генератора псевдовипадкових чисел libc початковим значенням. openssl є
потім подається вихідним результатом випадкових викликів\().
ПРИМІТКА: цього механізму недостатньо для створення безпечних ключів!

стискати
Увімкнути або вимкнути використання стиснення для підключення. Установити для цього значення "none"
вимикає стиснення, встановлюючи для нього значення «авто», дозволяє OpenSSL вибрати найкращий доступний
алгоритм, який підтримується обома сторонами. За замовчуванням не торкатися жодного
налаштування, пов'язані зі стисненням. ПРИМІТКА. Потрібен OpenSSL 0.9.8 або новішої версії та вимкнення
стиснення за допомогою OpenSSL 0.9.8 впливає на всі нові з'єднання в процесі.

загальне ім'я=
Вкажіть загальне ім’я, якому має відповідати сертифікат однорангового користувача. З OPENSSL-CONNECT
адреса, яка замінює дане ім'я хоста або цільову IP-адресу; з OPENSSL-LISTEN
це вмикає перевірку однорангових сертифікатів commonname. Цей варіант має лише сенс
коли параметр Verify не вимкнено, а вибраний шифр надає однорангового користувача
довідка.

fips Вмикає режим FIPS, якщо він скомпільований. Щоб отримати інформацію про реалізацію шифрування FIPS
стандартний див http://oss-institute.org/fips-faq.html. Цей режим може вимагати цього
відповідні сертифікати генеруються за допомогою версії openssl з підтримкою FIPS.
Встановлення або видалення цієї опції для однієї адреси socat впливає на всі адреси OpenSSL
цього процесу.

RETRY варіант група

Параметри, які контролюють повторні спроби деяких системних викликів, особливо спроб підключення.

повторити=
Кількість повторних спроб до зняття підключення або прослуховування. За замовчуванням є
0, що означає лише одну спробу.

інтервал=
Час між послідовними спробами (секунди, [timespec]). За замовчуванням 1 секунда.

назавжди
Виконує необмежену кількість повторних спроб.

TUN варіант група

Параметри, які керують адресами пристроїв інтерфейсу TUN/TAP Linux.

tun-device=
Вказує socat вибрати інший шлях для пристрою клонування TUN. За замовчуванням є
/dev/net/tun.

tun-name=
Надає отриманому мережевому інтерфейсу конкретне ім’я замість системи
згенеровано (tun0, tun1 тощо)

tun-type=[tun|tap]
Встановлює тип пристрою TUN; використовуйте цю опцію для створення пристрою TAP. Див
Linux docu для різниці між цими типами. Коли ви намагаєтеся встановити a
тунель між двома пристроями TUN, їх типи повинні бути однаковими.

іфф-ні-пі
Встановлює прапор IFF_NO_PI, який контролює, чи містить пристрій додатковий пакет
інформація в тунелі. Коли ви намагаєтеся встановити тунель між двома TUN
пристроїв, ці прапорці повинні мати однакові значення.

іфф-ап Встановлює стан мережевого інтерфейсу TUN UP. Настійно рекомендується.

iff-трансляція
Встановлює прапор BROADCAST мережевого інтерфейсу TUN.

iff-налагодження
Встановлює прапор DEBUG мережевого інтерфейсу TUN.

iff-петля
Встановлює прапор LOOPBACK мережевого інтерфейсу TUN.

іфф-точка
Встановлює прапор POINTOPOINT пристрою TUN.

iff-нотрейлери
Встановлює прапор NOTRAILERS пристрою TUN.

iff-запуск
Встановлює прапор RUNNING пристрою TUN.

iff-noarp
Встановлює прапор NOARP пристрою TUN.

iff-промісний
Встановлює прапор PROMISC пристрою TUN.

iff-allmulti
Встановлює прапор ALLMULTI пристрою TUN.

iff-майстер
Встановлює прапор MASTER пристрою TUN.

iff-раб
Встановлює прапор SLAVE пристрою TUN.

iff-многоадресна передача
Встановлює прапор MULTICAST пристрою TUN.

iff-портсель
Встановлює прапор PORTSEL пристрою TUN.

iff-automedia
Встановлює прапор AUTOMEDIA пристрою TUN.

iff-динамічний
Встановлює прапор DYNAMIC для пристрою TUN.

ДАНІ ЗНАЧЕННЯ


У цьому розділі пояснюються різні типи даних, які стосуються параметрів і параметрів адреси
може взяти.

діапазон адрес
Наразі реалізовано лише для IPv4 та IPv6. Дивіться параметр адреси `діапазон'

bool "0" або "1"; якщо значення опущено, береться «1».

byte Число int без знака, читане за допомогою strtoul() , менше або дорівнює UCHAR_MAX .

командного рядка
Рядок, що вказує назву програми та її аргументи, розділені одинарними пробілами.

data Специфікація необроблених даних нижче філія синтаксису. На даний момент єдиною правильною формою є a
рядок, що починається з 'x', за яким слідує парна кількість шістнадцяткових цифр, що вказує a
послідовність байтів.

каталог
Рядок із звичайною семантикою імені каталогу UN*X.

об'єкт
Назва засобу системного журналу в нижньому регістрі.

fdnum Тип int без знака, читається за допомогою strtoul() , вказуючи дескриптор файлу UN*X.

ім'я файлу
Рядок із звичайною семантикою імені файлу UN*X.

group Якщо перший символ є десятковою цифрою, значення читається за допомогою strtoul() як
беззнакове ціле число, що вказує ідентифікатор групи. В іншому випадку це має бути існуюча група
ім'я.

int Число, що відповідає правилам функції strtol() з основою "0", тобто десятковим
число, вісімкове число з провідним «0» або шістнадцяткове число з провідним «0x». The
значення має вписуватися в C int.

інтерфейс
Рядок, що визначає назву пристрою мережевого інтерфейсу, як показано ifconfig або
procan, наприклад "eth0".

IP-адреса
Адреса IPv4 у вигляді цифр і крапок, адреса IPv6 у шістнадцятковому позначенні
узяті в дужки, або ім’я хоста, яке розв’язує в адресу IPv4 або IPv6.
Приклади: 127.0.0.1, [::1], www.dest-unreach.org, dns1

Адреса IPv4
IPv4-адреса в цифровій нотації або ім’я хоста, яке розв’язується в IPv4
адреса
Приклади: 127.0.0.1, www.dest-unreach.org, dns2

Адреса IPv6
Адреса iPv6 із шістнадцятковими числами та двокрапками, укладеними в дужки, або
ім’я хоста, яке розв’язує в адресу IPv6.
Examples: [::1], [1234:5678:9abc:def0:1234:5678:9abc:def0], ip6name.domain.org

long Число, прочитане за допомогою strtol() . Значення має вписуватися в довжину C.

довгий довгий
Число, прочитане за допомогою strtoll() . Значення має вписуватися в довжину C.

off_t Залежне від реалізації число зі знаком, зазвичай 32 біти, читається за допомогою strtol або
strtoll.

off64_t
Залежне від реалізації число зі знаком, зазвичай 64 біта, читається за допомогою strtol або
strtoll.

mode_t Ціле число без знака, читане за допомогою strtoul() , що вказує біти режиму (дозволу).

pid_t Число, прочитане за допомогою strtol() , що вказує ідентифікатор процесу.

port A uint16_t (16-бітове число без знака), що вказує порт TCP або UDP, читається за допомогою
strtoul() .

протокол
8-розрядне число без знака, читання за допомогою strtoul() .

size_t Число без знака з обмеженнями size_t, читання за допомогою strtoul .

носка
Адреса розетки. Дивіться параметр адреси `bind'

string Послідовність символів, що не містить '\0' і залежить від позиції всередині
командний рядок, ':', ',' або "!!". Зверніть увагу, що вам, можливо, доведеться екранувати мета оболонки
символів у командному рядку.

Сервіс TCP
Ім’я служби, яке не починається з цифри, яке вирішується за допомогою getservbyname() або
16-бітове число без знака int, прочитане за допомогою strtoul() .

timeval
Подвійний float, що вказує секунди; число відображається в структурі timeval,
що складається з секунд і мікросекунд.

timespec
Подвійний float, що вказує секунди; число відображається в структурі часової специфікації,
що складається з секунд і наносекунд.

Сервіс UDP
Ім’я служби, яке не починається з цифри, яке вирішується за допомогою getservbyname() або
16-бітове число без знака int, прочитане за допомогою strtoul() .

неподписаний int
Число, прочитане за допомогою strtoul() . Значення має вписуватися в беззнакове int C.

user Якщо перший символ є десятковою цифрою, значення читається за допомогою strtoul() як
беззнакове ціле число, що вказує ідентифікатор користувача. В іншому випадку це має бути існуюче ім’я користувача.

ПРИКЛАДИ


сокат - TCP4:www.domain.org:80

передає дані між STDIO (-) і з’єднанням TCP4 на порт 80 хоста
www.domain.org. Цей приклад призводить до інтерактивного з’єднання, подібного до telnet
або netcat. Параметри терміналу stdin не змінюються, тому ви можете закрити файл
передати за допомогою ^D або перервати його за допомогою ^C.

сокат -d -d READLINE,history=$HOME/.http_history \
TCP4:www.domain.org:www,crnl

це схоже на попередній приклад, але ви можете редагувати поточний рядок у a
bash як спосіб (READLINE) і використовуйте файл історії .http_history; сокат друк
повідомлення про прогрес (-d -d). Порт визначається за назвою служби (www) і
використовуються правильні символи завершення мережевої лінії (crnl) замість NL.

сокат TCP4-LISTEN:www TCP4:www.domain.org:www

встановлює простий перенаправлення порту TCP. За допомогою TCP4-LISTEN він прослуховує локальний порт
«www», доки не з’явиться з’єднання, не прийме його, а потім під’єднається до віддаленого хоста
(TCP4) і починає передачу даних. Він не приймає друге підключення.

сокат -d -d -lmlocal2 \
TCP4-LISTEN:80,bind=myaddr1,reuseaddr,fork,su=nobody,range=10.0.0.0/8 \
TCP4:www.domain.org:80,bind=myaddr2

Переадресація порту TCP, кожна сторона прив’язана до іншої локальної IP-адреси (прив’язування). Це
приклад обробляє майже довільну кількість паралельних або послідовних з'єднань
шляхом створення нового процесу після кожного accept() . Це забезпечує невелику безпеку
su'ing до користувача nobody після форкування; він дозволяє лише приватні з'єднання
10 мережа (діапазон); через reuseaddr, він дозволяє негайно перезапустити після master
завершення процесу, навіть якщо деякі дочірні сокети не повністю закриті.
За допомогою -lmlocal2 socat веде журнал у stderr, поки не досягне циклу прийняття.
Подальше ведення журналу спрямовується на системний журнал із засобом local2.

сокат TCP4-LISTEN:5555,fork,tcpwrap=сценарій \
EXEC:/bin/myscript,chroot=/home/sandbox,su-d=sandbox,pty,stderr

простий сервер, який приймає з'єднання (TCP4-LISTEN) і форк є новим дочірнім
процес для кожного з'єднання; кожна дитина діє як єдина естафета. Клієнт повинен
відповідати правилам для назви процесу демона "script" в /etc/hosts.allow та
/etc/hosts.deny, інакше йому відмовляють у доступі (див. «man 5 hosts_access»). Для
EXEC'виконуючи програму, дочірня обробка chroot's to /домашня сторінка/пісочниця, su для користувача
пісочниці, а потім запустить програму /home/sandbox/bin/myscript. Сокат і myscript
спілкуватися через псевдо tty (pty); stderr myscript перенаправляється на stdout, тому
його повідомлення про помилки передаються через сокат до підключеного клієнта.

сокат EXEC:"mail.sh [захищено електронною поштою]",fdin=3,fdout=4 \
TCP4:mail.relay.org:25,crnl,bind=alias1.server.org,mss=512

mail.sh це сценарій оболонки, що поширюється разом із сокат, що реалізує простий SMTP
клієнта. Він запрограмований на «розмову» SMTP на своїх FD 3 (вхід) і 4 (вихід). fdin
і параметри fdout розповідають сокат використовувати ці FD для зв'язку з програмою.
Оскільки mail.sh успадковує stdin і stdout while сокат не використовує їх, сценарій
може читати тіло пошти з stdin. Сокат робить псевдонім 1 вашою локальною адресою джерела
(bind), піклується про правильне завершення мережевої лінії (crnl) і надсилає щонайбільше 512
байт даних на пакет (мс).

сокат -,escape=0x0f /dev/ttyS0,rawer,crnl

відкриває інтерактивне з'єднання через послідовну лінію, наприклад, для розмови з модемом.
rawer встановлює параметри консолі та терміналу ttyS0 на практичні значення,
crnl перетворює на правильні символи нового рядка. escape дозволяє завершити socat
процес із керуванням символом-O.

сокат UNIX-LISTEN:/tmp/.X11-unix/X1,вилка \
SOCKS4:host.victim.org:127.0.0.1:6000,socksuser=nobody,sourceport=20

з UNIX-LISTEN, сокат відкриває слухаючий сокет домену UNIX /tmp/.X11-unix/X1.
Цей шлях відповідає локальному дисплею XWindow :1 на вашому комп’ютері, тому XWindow
клієнтські підключення до DISPLAY=:1 приймаються. Сокат потім розмовляє з SOCKS4
сервер host.victim.org, який може дозволити підключення на основі порту sourceport 20 через
Слабкість статичних IP-фільтрів, пов’язана з FTP. Сокат вдає, що на нього посилається
socksuser nobody, і запитує підключення до loopback порту 6000 (тільки слабкий
конфігурації sockd дозволять це зробити). Таким чином ми отримуємо зв’язок із жертвами
сервер XWindow і, якщо він не вимагає файлів cookie MIT або аутентифікації Kerberos,
можемо приступати до роботи. Зауважте, що одночасно може бути лише одне підключення,
оскільки TCP може встановити лише один сеанс із заданим набором адрес і портів.

сокат -u /tmp/readdata,seek-end=0,ignoreeof -

це приклад для односпрямованої передачі даних (-u). Сокат передає дані з
файл /tmp/readdata (неявна адреса GOPEN), починаючи з його поточного кінця
(seek-end=0 дозволяє сокат почати читання з поточного кінця файлу; використовуйте seek=0 або без пошуку
можливість спочатку прочитати наявні дані) у режимі, подібному до «хвіст -f» (ignoreeof). The
"файл" також може бути сокетом домену UNIX для прослуховування (не використовуйте параметр пошуку
потім).

(спати 5; нудьгувати ПАРОЛЬ; сон 5; нудьгувати ls; сон 1) |
сокат - EXEC:'ssh -l користувач server',pty,setsid,ctty

EXEC'завершує сеанс ssh на сервер. Використовує pty для спілкування між сокат та
ssh, робить його керуючим tty (ctty) і робить цей pty власником нового
група процесів (setsid), тому ssh приймає пароль від сокат.

сокат -u TCP4-LISTEN:3334, reuseaddr, fork \
OPEN:/tmp/in.log,creat,append

реалізує простий мережевий колектор повідомлень. Для кожного клієнта, який підключається до
порт 3334, генерується новий дочірній процес (розширений варіант). Усі дані, надіслані
клієнти додаються до файлу /tmp/in.log. Якщо файл не існує, socat
створіть це. Опція reuseaddr дозволяє негайно перезапустити процес сервера.

сокат PTY,посилання=$HOME/dev/vmodem0,rawer,wait-slave \
EXEC: "ssh modemserver.us.org сокат - /dev/ttyS0,nonblock,rawer"

створює псевдотермінальний пристрій (PTY) на клієнті, до якого можна отримати доступ під
символічне посилання $HOME/dev/vmodem0. Додаток, який очікує послідовний рядок або
модем можна налаштувати на використання $HOME/dev/vmodem0; його трафік буде спрямовано на a
modemserver через ssh, де інший екземпляр socat пов'язує його /dev/ttyS0.

сокат TCP4-LISTEN:2022, reuseaddr, fork \
PROXY:proxy:www.domain.org:22,proxyport=3128,proxyauth=user:pass

запускає пересилач, який приймає з’єднання через порт 2022 і направляє їх через
демон проксі прослуховує порт 3128 (proxyport) на хост-проксі, використовуючи
Метод CONNECT, де вони аутентифікуються як «користувач» за допомогою «pass» (proxyauth). The
Тоді проксі-сервер повинен встановити з’єднання з хостом www.domain.org на порту 22.

сокат - OPENSSL:сервер:4443,cafile=server.crt,cert=client.pem

це клієнт OpenSSL, який намагається встановити безпечне з’єднання з сервером SSL.
Параметр cafile вказує файл, який містить сертифікати довіри: ми довіряємо
сервер лише тоді, коли він надає один із цих сертифікатів і підтверджує, що він є власником
пов'язаний закритий ключ. Інакше з’єднання припиняється. З сертифікатом файл
вказано сертифікат клієнта та пов’язаний із ним секретний ключ. Це
необхідний у випадку, якщо сервер бажає аутентифікації клієнта; багато Інтернету
сервери ні.
Першу адресу ('-') можна замінити практично будь-якою іншою адресою socat.

сокат OPENSSL-LISTEN:4443,reuseaddr,pf=ip4,fork,cert=server.pem,cafile=client.crt ТРУБА

це сервер OpenSSL, який приймає TCP-з'єднання, представляє сертифікат від
файл server.pem і змушує клієнта надати підтверджений сертифікат
проти cafile.crt.
Другу адресу ("PIPE") можна замінити практично будь-якою іншою адресою socat.
Інструкції щодо створення та розповсюдження ключів і сертифікатів OpenSSL див
додатковий socat docu socat-openssl.txt.

нудьгувати | соц -u - файл:/tmp/bigfile,create,largefile,seek=100000000000

створює розріджений файл розміром 100 ГБ; для цього потрібен тип файлової системи, який це підтримує
(ext2, ext3, reiserfs, jfs; не minix, vfat). Операція запису 1 байт може
займати багато часу (reiserfs: кілька хвилин; ext2: "ні" часу), і отриманий файл може
споживають деякий дисковий простір лише за допомогою його inodes (reiserfs: 2 МБ; ext2: 16 КБ).

сокат tcp-l:7777,повторне використанняадрес,вилка system:'filan -i 0 -s >&2',невилка

прослуховує вхідні TCP-з'єднання на порту 7777. Для кожного прийнятого з'єднання,
викликає оболонку. Ця оболонка має свій стандартний і вихідний вихід, безпосередньо підключені до TCP
розетка (nofork). Оболонка запускає filan і дозволяє друкувати адреси сокета
stderr (вікно терміналу).

нудьгувати -en "\0\14\0\0\c" | соц -u - файл:/usr/bin/squid.exe,seek=0x00074420

функціонує як примітивний двійковий редактор: він записує 4 байти 000 014 000 000 до
виконуваний файл /usr/bin/squid зі зміщенням 0x00074420 (це справжній патч для створення
виконуваний файл squid від Cygwin, який запускається під Windows, фактично за травень 2004 року).

сокат - tcp:www.blackhat.org:31337,readbytes=1000

підключається до невідомої служби та запобігає переповненню.

сокат -U TCP:ціль:9999,кінець-закрити TCP-L: 8888, повторне використання адреси, вилка

об’єднує дані, що надходять з різних потоків TCP на порт 8888, лише в один потік для
ціль: 9999. Опція end-close запобігає розщепленню дочірніх процесів
друга адреса від припинення спільного з'єднання на 9999 (закрити\(2) просто
роз'єднує інод, який залишається активним, поки живий батьківський процес;
shutdown\(2) буде активно розірвати з'єднання).

сокат - UDP4-DATAGRAM:192.168.1.0:123,sp=123,broadcast,range=192.168.1.0/24

відправляє трансляцію в мережу 192.168.1.0/24 і отримує відповіді
там сервери часу. Ігнорує пакети NTP від ​​хостів за межами цієї мережі.

сокат - SOCKET-DATAGRAM:2:2:17:x007bxc0a80100x0000000000000000,b‐
ind=x007bx00000000x0000000000000000,setsockopt-int=1:6:1,r‐
ange=x0000xc0a80100x0000000000000000:x0000xffffff00x0000000000000000

семантично еквівалентно попередньому прикладу, але всі параметри є
зазначені в загальній формі. значення 6 setsockopt-int є значенням для Linux
ТАК_ТРАНСЛЯЦІЯ.

сокат - IP4-DATAGRAM:255.255.255.255:44,broadcast,range=10.0.0.0/8

надсилає широкомовну передачу в локальну мережу за допомогою протоколу 44. Приймає відповіді від
лише діапазон приватних адрес.

сокат - UDP4-DATAGRAM:224.255.0.1:6666,bind=:6666,ip-add-membership=224.255.0.1:eth0

передає дані з stdin на вказану багатоадресну адресу за допомогою UDP. Обидва місцеві
а віддалені порти — 6666. Вказує інтерфейсу eth0 також приймати групову передачу
пакети даної групи. Декілька хостів у локальній мережі можуть запускати це
команду, тож усі дані, надіслані будь-яким із хостів, будуть отримані всіма іншими
одиниці. Зверніть увагу, що існує багато можливих причин збою, включаючи IP-фільтри,
проблеми з маршрутизацією, неправильний вибір інтерфейсу операційною системою, мости або a
погано налаштований комутатор.

сокат TCP:host2:4443 TUN: 192.168.255.1/24, up

встановлює одну сторону віртуальної (але не приватної!) мережі з хостом2, де a
Подібний процес може запуститися з UDP-L і адресою tun 192.168.255.2. Вони можуть досягти
один одного за адресами 192.168.255.1 і 192.168.255.2. Зверніть увагу, що потокова передача
наприклад через TCP або SSL не гарантує збереження меж пакетів і, таким чином, може
спричинити втрату пакетів.

сокат PTY,посилання=/var/run/ppp,rawer ІНТЕРФЕЙС: hdlc0

обходить проблему, що для pppd потрібен послідовний пристрій і, отже, може не бути
здатний працювати на синхронній лінії, яка представлена ​​мережевим пристроєм. сокат
створює PTY, щоб зробити pppd щасливим, підключається до мережевого інтерфейсу hdlc0 і може
передавати дані між обома пристроями. Тоді використовуйте pppd на пристрої /var/run/ppp.

сокат -T 1 -d -d TCP-L:10081,повторне використанняадрес,вилка,crlf СИСТЕМА: "ехо -e \"\\\"HTTP/1.0 200
OK\\\nТип документа: текст/звичайний\\\n\\\ndate:
\$\(дата\)\\\nсервер:\$SOCAT_SOCKADDR:\$SOCAT_SOCKPORT\\\ncклієнт:
\$SOCAT_PEERADDR:\$SOCAT_PEERPORT\\\n\\\"\"; кішка; нудьгувати -e \"\\\"\\\n\\\"\""

створює простий сервер відлуння HTTP: кожен клієнт HTTP, який підключається, отримує дійсний HTTP
відповідь, яка містить інформацію про адресу та порт клієнта, як їх бачить
хост сервера, адресу хоста (яка може відрізнятися на багатодомних серверах) і
оригінальний запит клієнта.

сокат -d -d
UDP4-RECVFROM:9999, so-broadcast, so-timestamp,ip-pktinfo,ip-recverr,ip-recvopts,ip-recvtos,ip-recvttl!!-
СИСТЕМА:'експорт; сон 1 " |grep SOCAT

чекає на вхідний пакет UDP на порт 9999 і друкує змінні середовища
надає сокат. У системах на базі BSD вам потрібно замінити ip-pktinfo на
ip-recvdstaddr,ip-recvif. Особливо цікавий SOCAT_IP_DSTADDR: він містить
цільова адреса пакету, яка може бути одноадресною, багатоадресною або широкомовною
адреса

ДІАГНОСТИКА


Сокат використовує механізм реєстрації, який дозволяє фільтрувати повідомлення за серйозністю. Суворості
надані, більш-менш сумісні з відповідним пріоритетом системного журналу. З одним або до
чотири входження параметра командного рядка -d, найнижчого пріоритету серед повідомлень
видані можна вибрати. Кожне повідомлення містить один символ верхнього регістру, що вказує
серйозність повідомлень (один з F, E, W, N, I або D)

ФАТАЛ: умови, які вимагають безумовного й негайного припинення програми.

ПОМИЛКА: умови, що перешкоджають належній обробці програми. Зазвичай програма є
припинено (див. варіант -s).

ПОПЕРЕДЖЕННЯ:
Щось функціонувало некоректно або перебуває в такому стані, де надалі правильно
обробка не може бути гарантована, але може бути можлива.

УВАГА:
Цікаві дії програми, наприклад для нагляду сокат в якомусь
режим сервера.

ІНФОРМАЦІЯ: Опис того, що робить програма, і, можливо, чому це відбувається. Дозволяє контролювати
життєвий цикл дескрипторів файлів.

DEBUG: опис того, як працює програма, усі системні або бібліотечні виклики та їх
результати.

Повідомлення журналу можуть бути записані в stderr, у файл або в системний журнал.

на виході, сокат надає статус 0, якщо він завершився через EOF або тайм-аут бездіяльності, з a
додатне значення на помилку і з негативним значенням на фатальну помилку.

Використовуйте filan онлайн за допомогою сервісів onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

Команди Linux

Ad