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.
Jeśli chcesz otrzymywać nowe, mięsiste protipy na maila, a także zostać czasem powiadomiony o wartościowych wydarzeniach - dołącz do subskrybentów.