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-туннели и проброс портов