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
