socat TCP-LISTEN:2048,fork,reuseaddr STDIO - obsłuż wielu klientów na porcie 2048
socat (SOcket CAT) to killer. Tuneluje ruch między dwiema końcówkami, które mogą być najróżniejszego typu, np. serwer i klient TCP/UDP, połączenie OpenSSL, plik, urządzenie, gniazda i wiele wiele innych, użyj socat -h, żeby je zobaczyć.
W naszym przykładzie jedna końcówka tunelu to TCP-LISTEN:2048 czyli listener na porcie 2048/TCP, a druga to STDIO czyli wejście/wyjście.
Dodatkowo, do listenera dodaliśmy opcje fork, która spowoduje utworzenie nowego procesu dla każdego połączenia, dzięki czemu możemy obsługiwać wiele klientów równocześnie. Opcja reuseaddr to dobra praktyka pozwalająca pozbyć się błędu Address already in use, jeśli któryś z procesów potomnych nie zdążył jeszcze po sobie posprzątać. Innymi słowy, stworzyliśmy nc -lp 2048 na sterydach. A do samego socata jeszcze na pewno nie raz wrócimy.