Telnet в Linux: проверка сетевых соединений и портов

Если ты хоть раз админил сервера, ковырялся с сетями или просто пытался выяснить, почему очередная микросервисная балалайка не коннектится к БД, то наверняка слышал про telnet. Да, этот древний динозавр до сих пор жив и местами полезен, особенно когда нужно быстро проверить, открыт ли порт, работает ли сервис или просто понять, где затык в сетевом взаимодействии.

Зачем вообще нужен telnet?

В 2024 году telnet уже не рассматривается как инструмент для безопасного удалённого управления (ssh давно всех победил), но зато для тестирования соединений и портов — самое то. Иногда даже удобнее, чем nc (netcat), особенно в минималистичных или legacy-средах. Он просто пытается установить TCP-соединение — и если получилось, значит, порт открыт и слушает. Не получилось — ищи проблему.

Что потребуется

  • Любой дистрибутив Linux (Debian, Ubuntu, CentOS, Fedora, Arch — неважно)
  • Доступ к терминалу (ssh, консоль, не суть)
  • Права sudo (для установки пакетов)
  • Желательно — базовое понимание того, что такое IP, порт, TCP

Установка telnet: пошагово

Погнали по классике. В большинстве современных дистрибутивов telnet не ставится по умолчанию (да, забота о безопасности), но поставить его — дело пары секунд.

Debian/Ubuntu

sudo apt update
sudo apt install telnet

CentOS/RHEL/Fedora

sudo dnf install telnet

или, если у тебя старый CentOS:

sudo yum install telnet

Arch Linux

sudo pacman -S inetutils

telnet входит в пакет inetutils.

После установки просто проверь командой:

telnet --version

Если увидел версию или хоть какой-то вывод — всё ок, поехали дальше.

Документация: man telnet

Использование: команды и варианты

Синтаксис у telnet элементарный:

telnet <хост> <порт>

Примеры:

  • telnet google.com 80 — попытка подключиться к 80-му порту Google (HTTP)
  • telnet 192.168.1.10 22 — проверка доступности ssh на локалке
  • telnet mail.example.com 25 — тестируем SMTP-сервер

Если соединение успешно — увидишь что-то вроде:

Trying 142.250.150.14...
Connected to google.com.
Escape character is '^]'.

Если порт закрыт или фильтруется — будет timeout или ошибка типа «Connection refused».

Полезные фишки:

  • Выйти из telnet — Ctrl + ], потом quit в появившейся консоли
  • Можно отправлять команды прямо в сокет (например, руками дергать HTTP или SMTP, очень удобно для быстрой диагностики)

Частые команды telnet:

  • Подключение к хосту: telnet host port
  • Вызов escape-меню: Ctrl + ]
  • В меню telnet: quit (выйти), status (статус соединения)

Ошибки и как делать не надо

  • Не используйте telnet для передачи паролей или доступа к продакшену — всё летит в открытом виде, перехватить проще простого.
  • Не ставьте telnet-сервер (telnetd) без крайней необходимости — это прямой риск безопасности.
  • Если не получается подключиться — проверь, не блокирует ли порт firewall/iptables/security group, а не только сам сервис.
  • Не забывай, что telnet работает только с TCP, UDP не поддерживается.

Пример из жизни

Недавно нужно было понять, почему приложение на проде не может достучаться до базы на другом сервере. Порт 5432 (PostgreSQL) вроде открыт, но приложение ругалось на timeout. Захожу на сервер:

telnet db.internal.local 5432

Жду… и вижу timeout. Окей, значит, порт не проброшен или firewall режет. Проверяю iptables — действительно, забыли добавить правило для нужной подсети. Прописываю, снова telnet — теперь соединение есть, приложение ожило. Всё просто и быстро.

Заключение

Telnet — это не модно, но чертовски полезно, когда надо быстро проверить, открыт ли порт, жив ли сервис, или просто выяснить, где в сети затык. Не стоит использовать его для реальной работы с сервисами, но как диагностический инструмент — мастхэв в арсенале любого админа или devops. Если хочется чего-то посовременнее — глянь в сторону ncat или ngrep, но telnet всё равно часто спасает.

Официальная документация:

Вопросы, лайфхаки и истории про то, как telnet спасал вашу пятую точку — в комменты!

Хотите прочитать больше про Сети?
Отзывов нет.

Ваш отзыв

Пожалуйста, заполните поля снизу и добавьте отзыв!.
Имя *
E-mail *
Сайт
Сообщение *