Битлента
Сетевые команды и утилиты4 мин чтения·

telnet для проверки порта: как включить клиент в Windows и что значит результат

Как проверить командой telnet, открыт ли порт на сервере, включить клиент Telnet в Windows, выйти из сессии и чем заменить telnet в macOS и Linux.

Кратко

Команда telnet узел порт открывает TCP-соединение: чистый экран или баннер означают, что порт доступен, а сообщение Connect failed — что нет. В Windows клиент нужно включить в компонентах системы, в macOS его заменяет nc.

Для чего telnet годится сегодня

Как протокол удалённого доступа telnet давно вытеснен SSH, потому что передаёт данные, включая пароли, открытым текстом. Но как инструмент проверки он по-прежнему полезен: команда telnet адрес порт устанавливает обычное TCP-соединение и оставляет вам открытый канал. Если соединение состоялось, значит порт на сервере слушает, а по пути его не отбрасывает межсетевой экран.

Для диагностики этого хватает. Вы проверяете, доступна ли почтовая служба на порту 25, отвечает ли веб-сервер на 80, открыт ли проброшенный порт на домашнем роутере. Проверять стоит только свои узлы и те, к которым у вас есть законный доступ.

Никогда не вводите пароли и личные данные в сеансе telnet: всё уходит в сеть открытым текстом. Используйте его только для проверки доступности и чтения приветствия сервера.

Как включить клиент Telnet в Windows

В Windows 10 и 11 клиент по умолчанию отключён, поэтому при вызове команды вы увидите сообщение, что telnet не является внутренней или внешней командой. Включить его можно двумя способами.

  1. Через интерфейс: откройте «Включение или отключение компонентов Windows» (команда optionalfeatures), отметьте «Клиент Telnet» и подтвердите.
  2. Через командную строку от имени администратора: dism /online /Enable-Feature /FeatureName:TelnetClient.
  3. Через PowerShell от имени администратора подходит Enable-WindowsOptionalFeature -Online -FeatureName TelnetClient.
  4. После включения откройте новое окно терминала и проверьте: telnet без параметров выдаёт приглашение Microsoft Telnet>.

Если ставить дополнительный компонент нельзя, используйте встроенный командлет Test-NetConnection: он проверяет порт без установки чего-либо, и у него есть отдельная инструкция.

Отличия для macOS и Linux

В современных версиях macOS клиента telnet нет, и нативная замена — nc с ключом -z (об этом отдельная страница). Если telnet всё же нужен, его можно поставить через Homebrew. В Linux пакет обычно называется telnet или inetutils-telnet, и ставится менеджером пакетов; многие дистрибутивы теперь не включают его в базовую установку.

Синтаксис везде одинаков: telnet example.com 443. Порт указывается вторым словом, через пробел, а не двоеточием. Если порт не указан, используется 23, порт самого протокола telnet, и на большинстве узлов он закрыт.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Как читать результат

Результат зависит от клиента, поэтому в таблице разобраны типичные случаи.

Что вы видитеСмысл
Пустой экран или мигающий курсорСоединение установлено, служба ждёт вашего ввода
Строка приветствия, например 220 для почтовой службыСоединение установлено, служба ответила баннером
Could not open connection to the host, on port N: Connect failedПорт закрыт, хост недоступен или соединение отбрасывается фильтром
Connection refusedХост доступен, но на порту никто не слушает
Долгое молчание и таймаутПакеты, вероятно, отбрасываются межсетевым экраном
Unknown hostИмя не разрешилось, проверьте DNS

Отказ «refused» и молчание означают разные вещи. Явный отказ приходит от самого узла или его системы: порт закрыт, но узел отвечает. Молчание чаще говорит о фильтре, который просто отбрасывает пакеты. Оба результата не доказывают, что служба неисправна: возможно, она слушает только внутренний адрес.

Выход из сессии и проверка веб-сервера вручную

Сессия telnet не закрывается сама. Нажмите Ctrl и правую квадратную скобку, появится приглашение telnet>, введите quit и подтвердите. В Windows работает то же самое. Если экран завис, закройте окно терминала.

Для обучения можно вручную сделать запрос к веб-серверу: подключитесь на порт 80, напечатайте GET / HTTP/1.1, затем на следующей строке Host: example.com и дважды нажмите Enter. Сервер ответит заголовками и телом страницы. Это работает только для незашифрованного HTTP; для порта 443 telnet не выполнит TLS-рукопожатие и покажет бессмысленный набор символов или закроет соединение. Для https используйте curl.

Чтобы проверить несколько портов подряд, удобнее nc или Test-NetConnection: они возвращают результат сразу и не требуют закрывать сессию вручную. А вот чтобы понять, кто держит порт на вашей стороне, нужны ss, netstat или lsof. Помните, что успешное соединение не означает работоспособность приложения на сервере: оно лишь подтверждает открытость порта. Для полноценной проверки веб-сервиса затем выполните запрос curl и посмотрите код ответа, а для почтовой службы прочитайте баннер и убедитесь, что имя узла в приветствии соответствует ожидаемому. Так вы отделите проблему сети от проблемы самой программы.

Замена telnet современными средствами

Чтобы не держать в системе устаревший клиент, используйте инструменты, которые делают то же самое и понятнее сообщают результат. В Windows это Test-NetConnection с параметрами -ComputerName и -Port: команда возвращает поле TcpTestSucceeded со значением True или False, а заодно показывает адрес, на который разрешилось имя. В Linux и macOS nc -zv узел порт печатает одну строку об успехе или отказе, а ключ -w задаёт таймаут в секундах. Для сравнения с настоящим сканером есть nmap, но применяйте его только к своим узлам.

Когда проверка показала, что порт недоступен, двигайтесь от ближнего к дальнему. Сначала убедитесь, что служба запущена и слушает нужный интерфейс: на сервере это делается через ss или netstat. Затем проверьте локальный межсетевой экран на сервере. Дальше — правила на роутере или облачной панели: группа безопасности, проброс портов. Наконец, уточните у провайдера, не фильтрует ли он порт на своей стороне: порт 25, например, на многих домашних подключениях закрыт по умолчанию.

Хорошая привычка — проверять порт с двух точек: из локальной сети и снаружи. Если изнутри порт открыт, а снаружи нет, причина почти всегда в роутере, проброшенных портах или во внешнем адресе, который у провайдера оказался «серым» и не доступен извне.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
telnetпортtcpпроверка соединения

Часто задаваемые вопросы

Читайте также