socat соединяет два потока данных — сокеты, файлы, процессы, устройства:

socat TCP-LISTEN:9000,fork,reuseaddr TCP:10.0.0.5:80   # port forward
socat - TCP:host:port                                   # интерактивное подключение

Передача файла между машинами без scp:

socat TCP-LISTEN:9999,fork file:received.tar,create   # приёмник
socat file:archive.tar TCP:receiver-host:9999          # отправитель

TLS-обёртка для нешифрованного сервиса:

socat OPENSSL-LISTEN:443,cert=server.pem,fork TCP:localhost:8080

fork обязателен для серверных режимов — без него одно соединение и завершение. Для разовой диагностики хватает nc -zv, socat нужен там, где TLS, UNIX-сокеты или произвольные комбинации источник→приёмник.

#linux #network #sysadmin