netcat і socat
Коротко: netcat (nc) і socat — утиліти командного рядка, що відкривають або приймають «сирі» мережеві з’єднання. Їх називають «швейцарським ножем» мереж.
Докладніше: Вони з’єднують стандартне введення й виведення із з’єднанням TCP, UDP або сокетом Unix. Так можна перевіряти служби, передавати дані та пересилати з’єднання.
Подробиці
- Перевірка порту:
nc -zv сервер 443показує, чи доступний порт TCP. - Прослуховування:
nc -l 9000чекає на з’єднання й виводить усе, що надійшло. Зручно, щоб побачити, що надсилає програма. - Надсилання файлу: Приймач
nc -l 9000 > файл, відправникnc приймач 9000 < файл. - Протоколи вручну:
printf 'GET / HTTP/1.0\r\n\r\n' | nc example.com 80. - socat: Потужніший: з’єднує будь-які дві кінцеві точки (файл, канал, TLS, послідовний порт), наприклад
socat TCP-LISTEN:8080,fork TCP:внутр:80як простий переадресатор абоsocat - OPENSSL:host:443. - Обережно: Без шифрування й без входу. Відкриті слухачі в чужих мережах ризиковані. Див. сокети.
Див. також: SSH-тунелі та проброс портів