NoneSocat - это реле для двунаправленной передачи данных между двумя независимыми каналами данных.

socat - это реле для двунаправленной передачи данных между двумя независимыми каналами данных. Каждый из этих каналов данных может быть файлом, конвейером, устройством (последовательной линией и т. Д. Или псевдотерминалом), сокетом (UNIX, IP4, IP6 - raw, UDP, TCP), сокетом SSL, подключением прокси CONNECT, файлом дескриптор (stdin и т. д.), редактор строк GNU (readline), программа или их комбинация. Эти режимы включают создание "слушающих" сокетов, именованных каналов и псевдотерминалов.

socat может использоваться, например, как перенаправитель портов TCP (одноразовый или демон), как внешний соксификатор, для атаки на слабые брандмауэры, как интерфейс оболочки для сокетов UNIX, реле IP6, для перенаправления программ, ориентированных на TCP, на последовательную линию, для логического соединения последовательных линий на разных компьютерах или для создания относительно безопасной среды (su и chroot) для запуска сценариев клиентской или серверной оболочки с сетевыми подключениями.

Доступны многие параметры для уточнения поведения socats: параметры терминала, параметры open(), права доступа к файлам, владельцы файлов и процессов, основные параметры сокета, такие как адрес привязки, расширенные параметры сокета, такие как маршрутизация источника IP, задержка, TTL, TOS (тип службы), или настройка производительности TCP.

Дополнительные возможности, такие как режим демона с разветвлением, проверка адреса клиента, режим "tail -f", обработка некоторых потоковых данных (преобразование терминатора строки), выбор сокетов, каналов или точек для межпроцессного взаимодействия, параметры отладки и трассировки, ведение журнала в системный журнал, stderr или файл и, наконец, что не менее важно, точные сообщения об ошибках делают его универсальным инструментом для множества различных целей.

Фактически, многие из этих функций уже существуют в специализированных инструментах; но до сих пор, похоже, не существует другого инструмента, который предоставляет такой универсальный, гибкий, простой и почти всеобъемлющий (UNIX) соединитель потока байтов.