Проверка доступности TCP/UDP- порта в Linux-server
Приветствую тебя, читатель! Если ты попал сюда, видимо, ты находишься в поиске информации, как проверять сетевые доступы в командной строке Linux. Постараюсь ответить на этот вопрос.
Проверка доступности TCP-порта
Для проверки доступности TCP-порта в командной строке Linux идеально подходит утилита telnet. Ниже я приведу несколько примеров:
Вместо telnet можно воспользоваться утилитой nc (NetCat), команды у нее очень простые. Ниже приведу аналогичную проверку доступности порта MySQL:
С полным списком доступных ключей утилиты nc и их описанием можно ознакомиться тут.
Проверка доступности UDP-порта
Для проверки UDP-портов выбор утилит меньше. Я использую в основном nc (NetCat). Ниже приведу несколько примеров проверки UDP-порта:
Как пользоваться telnet
Telnet — это сетевая утилита, которая позволяет соединиться с удаленным портом любого компьютера и установить интерактивный канал связи, например, для передачи команд или получения информации. Можно сказать, что это универсальный браузер в терминале, который умеет работать со множеством сетевых протоколов.
Эта утилита очень часто использовалась раньше, для удаленного управления компьютером с Linux, но потом ей на замену пришел защищенный протокол SSH. Но telnet все еще используется, например, для тестирования сети, проверки портов, а также для взаимодействия с различными IoT устройствами и роутерами. В этой статье мы рассмотрим что такое telnet, а также как пользоваться telnet для решения своих задач.
Что такое Telnet?
Как я уже сказал, эта утилита предназначена для создания интерактивного соединения между удаленными компьютерами. Она работает по протоколу TELNET, но этот протокол поддерживается многими сервисами, поэтому ее можно использовать для управления ими. Протокол работает на основе TCP, и позволяет передавать обычные строковые команды на другое устройство. Он может использоваться не только для ручного управления но и для взаимодействия между процессами.
Для работы с этим протоколом мы будем использовать утилиту telnet, ею очень просто пользоваться. Давайте рассмотрим синтаксис telnet:
$ telnet опции хост порт
Хост — это домен удаленного компьютера, к которому следует подключиться, а порт — порт на этом компьютере. А теперь давайте рассмотрим основные опции:
- -4 — принудительно использовать адреса ipv4;
- -6 — принудительно использовать адреса ipv6;
- -8 — использовать 8-битную кодировку, например, Unicode;
- -E — отключить поддержку Escape последовательностей;
- -a — автоматический вход, берет имя пользователя из переменной окружения USER;
- -b — использовать локальный сокет;
- -d — включить режим отладки;
- -р — режим эмуляции rlogin;
- -e — задать символ начала Escape последовательности;
- -l — пользователь для авторизации на удаленной машине.
Это все, что касается команды telnet для установки соединения. Но соединение с удаленным хостом, это только полдела. После установки подключения telnet может работать в двух режимах:
- Построчный — это предпочтительный режим, здесь строка текста редактируется на локальном компьютере и отправляется только тогда, когда она будет полностью готова. На такая возможность есть не всегда и не у всех сервисов;
- Посимвольный — все набираемые вами символы отправляются на удаленный сервер. Тут будет сложно что-либо исправить, если вы допустили ошибку, потому что Backspace тоже будет отправляться в виде символа и стрелки движения тоже.
Использование telnet заключается в передаче специальных команд. У каждого сервиса свои команды, но у протокола есть свои команды telnet, которые можно применять в консоли telnet.
- CLOSE — закрыть соединение с сервером;
- ENCRYPT — шифровать все передаваемые данные;
- LOGOUT — выйти и закрыть соединение;
- MODE — переключить режим, со строчного на символьный или с символьного на строчный;
- STATUS — посмотреть статус соединения;
- SEND — отправить один из специальных символов telnet;
- SET — установить значение параметра;
- OPEN — установить подключение через telnet с удаленным узлом;
- DISPLAY — отобразить используемые спецсимволы;
- SLC — изменить используемые спецсимволы.
Мы не будем рассматривать все команды, поскольку они вам вряд ли понадобятся, а если и понадобятся, то вы легко сможете их найти в официальной документации.
Как пользоваться telnet?
Дальше мы рассмотрим как использовать telnet для решения ваших задач. Обычно, утилита уже установлена в большинстве систем, но если это не так, то вы можете установить telnet из официальных репозиториев, например, в Ubuntu:
sudo apt install telnet
Теперь перейдем к применению утилиты. Изначально она использовалась для удаленного управления компьютером, но поскольку потом был разработан более безопасный протокол SSH, использовать ее перестали.
1. Доступность сервера
Утилита все еще может быть полезной при поверке доступности узла, для этого просто передайте ей ip адрес или имя хоста:

Для этого не обязательно применять telnet, есть ping.
2. Проверка порта
C помощью telnet мы можем проверить доступность порта на узле, а это уже может быть очень полезным. Чтобы проверить порт telnet выполните:
telnet localhost 123 $ telnet localhost 22

В первом случае мы видим, что соединение никто не принимает, во втором же выводится сообщение об успешном подключении и приветствие SSH сервера.
3. Отладка
Чтобы включить режим отладки и выводить более подробную информацию во время работы используйте опцию -d во время подключения:
sudo telnet -d localhost 22
4. Консоль telnet
Использование консоли telnet тоже важный момент в разборе как пользоваться telnet. В основном режиме вы можете выполнять команды, на удаленном сервере, если же вы хотите адресовать команду именно telnet, например, для настройки ее работы, необходимо использовать спецсимвол для открытия консоли, обычно утилита сразу говорит вам что это за символ, например, по умолчанию используется «^[«:

Для его активации вам нужно нажать сочетание клавиш Ctrl+[, затем вы уведите приглашение ввода telnet.
Чтобы посмотреть все доступные команды, вы можете набрать ?. Например, вы можете посмотреть статус подключения:

Здесь есть и другие интересные возможности. Такие вещи можно проделывать при любом подключении с помощью утилиты telnet.
5. Посмотреть сайт telnet
Один из распространенных способов использования telnet — это тестирование сайта из консоли. Да, красивую веб-страницу вы не получите, но можете вручную собрать запросы и видеть все переданные сервером данные.
telnet opennet.ru 80
Затем наберите команду веб-серверу:

Веб сервер вернет полностью страницу, а также заголовки, которые необходимы для ее отображения браузером.
6. Удаленное управление telnet
Настоятельно не рекомендуется использовать небезопасный telnet для удаленного управления, потому что все команды и пароли могут быть прослушаны сторонним пользователем. Но иногда, например, для роутеров telnet все же используется для удаленного управления. Все работает точно так же, как и для других подключений, только нужно использовать порт 23, а на удаленном компьютере должен быть установлен telnet-server:
telnet localhost 23
Тут порт можно даже не указывать, потому что по умолчанию будет использоваться именно 23. Далее, вам нужно ввести логин и пароль, а затем вы сможете выполнять команды в удаленной системе.
Выводы
В этой статье мы рассмотрели примеры использования telnet, а также что представляет из себя эта утилита, хотя она уже не используется по своему основному назначению, но до сих пор может быть полезной многим пользователям и системным администраторам. Если у вас остались вопросы, спрашивайте в комментариях!
Как проверить, открыт ли порт, командой telnet
У каждого сетевого адреса есть так называемое виртуальное дополнение, он же порт, позволяющий разделять запросы от различных программ, а также самостоятельно их редактировать. Частично порты заняты службами установленной операционной системы, оставшиеся могут быть использованы дополнительными приложениями, например, запущенными через удаленные сервера.
Существует несколько особенностей у портов:
- Если сложить все порты, то получается весьма впечатляющая сумма — 65 535! У каждого порта есть своя функция: 20 и 21 обычно указывают при FTP подключении, POP3 использует 110 для почтовых соединений.
- В сочетании IP-адрес и порт называют сокетом, с помощью него передаются данные программой.
- По сути порты имеют вид разъемов материнской платы, если необходимо подключить физические устройства, однако их легко перепутать с таковыми, если речь идет о виртуальном подключении.
Прежде чем подключиться к порту, необходимо проверить его доступность. Свободный порт не будет препятствовать соединению с ним. Если же порт занят, будет выдаваться ошибка ОС. Зачастую приходится производить ручную проверку портов, но есть ряд программ, которые делают это автоматически путем подмены номеров во время поиска свободного подключения.
Способы проверки доступности порта
Выделяют следующие способы, по которым можно понять, что порт открыт:
- По онлайн-сервисам, специализирующихся на проверке портов;
- По дополнительным приложениям, которые запускаются на устройстве;
- По утилитам, которые встроены в ОС.
В зависимости от того, какая стоит задача, выбирается и способ проверки. Например, необходимо обеспечить внешнюю доступность до личного устройства, в таком случае подойдет проверка через сервисы 2ip.ru или portscan.ru. Если проводятся локальные работы, можно проверить утилитой Telnet через терминал/консоль/командную строку ПК или приложением Portforward Network.
Открытые порты на локальном компьютере
Наличие открытых портов на личном ПК прямой показатель небезопасности и рисков потери регулирования ситуации. Это прямой тоннель, по которому просачиваются всякие вирусы. Их целью является предоставление доступа злоумышленникам к ПК без ведома владельцев.
Как проверить, что порт закрыт? Это достаточно просто. Зажимается сочетание клавиш Win + R, далее вводится команда CMD, нажимается Enter и затем вводится команда netstat -a. Повторно нажимается Enter. В командной строке будет предоставлен список занятых портов и служб, которые ими управляют. Этот способ предоставляет более объективные данные, в отличие от онлайн-сервисов, по которым открытые порты практически не обнаруживаются. Такую иллюзию создает брандмауэр, который блокирует внешние запросы ПО.
При необходимости выгрузки сторонних программ, сделать это можно с помощью команды netstat -a >name.txt (где name.txt — это название выгружаемого файла). Там где запускалась данная утилита и сохраняется файл со списком.
Как посмотреть открытые порты на удаленном ПК
В случае необходимости проверки открытых портов на удаленном компьютере, можно использовать утилиту Telnet. В большинстве случаев надо будет активировать ее, поскольку не везде она включена априори. Сделать это можно либо в командной строке/консоли, либо в графическом интерфейсе. Рассмотрим на примере ОС Windows.
Вводится специальная команда под правами админа:
dism /online /Enable-Feature /FeatureName:TelnetClient
В графическом интерфейсе это можно сделать в панели управления «Удаление программы». Далее кликнуть «Включение или отключение компонентов Windows» и поставить галку в строке «Telnet». После сохранения активация будет завершена и утилитой можно будет пользоваться.
Команду Telnet используют с разными опциями, которые можно найти при вводе telnet —help или man telnet с подробной расшифровкой для чего каждая предназначена. Самый простой способ — ввести команду telnet и далее хост. В качестве хоста выступает доменное имя или IP-адрес.
При появлении сообщения о сбое подключения, сразу можно понять, что порт закрыт. Если же он открыт, будет либо пустая строка, либо потребуется ввести логин и пароль сервера.
Таким образом мы рассмотрели все варианты проверки статуса портов. Можете выбрать любой подходящий для вас и успешно продолжать работу
Изучите команды Telnet для тестирования и устранения проблем с подключением

Telnet — это популярный сетевой протокол, позволяющий виртуально подключаться к удаленному компьютеру. Это старый протокол, разработанный в 1969 году.
В настоящее время SSH (Secure Shell) заменил Telnet. SSH также является сетевым протоколом связи, который позволяет сетевым и системным администраторам безопасно подключаться к удаленным компьютерам.
Что касается Telnet, то сейчас он в основном используется для устранения неполадок и тестирования проблем с подключением. Изучение команд Telnet может помочь вам лучше управлять своими сетями.
В этой статье мы более подробно рассмотрим команду telnet, в том числе узнаем, как она работает и как устранять проблемы с подключением. Давайте начнем.
Что такое Телнет?
Telnet — это сетевой протокол, который расшифровывается как Teletype Network. Он предлагает интерфейс/интерпретатор командной строки для связи с удаленным сервером. Системные и сетевые администраторы используют связь Telnet между терминалами для получения удаленного управления и выполнения различных действий, таких как первоначальная настройка устройства.
Для поддержки протокола Telnet вам потребуется клиент Telnet. Клиент позволяет пользователям входить в систему и использовать приложения в удаленных системах через TCP/IP. Клиент Telnet использует приложение сервера Telnet для выполнения операций. Более того, клиент Telnet доступен во всех современных операционных системах, таких как Windows, Linux и macOS.
Примечание: В статье, когда мы упоминаем «Telnet», это означает «Клиент Telnet», если не указано иное.
Безопасен ли Telnet?
Во время его создания в 1969 году безопасность не была главной задачей при выполнении сетевых задач. Вот почему Telnet не использовал никакого шифрования. Поскольку это небезопасно, его также не рекомендуется использовать для подключения к удаленным клиентам по сети TCP/IP. Если вы это сделаете, вы подвергаете себя хакерам, которые могут прерывать незашифрованные данные. SSH — отличный альтернативный протокол, предлагающий безопасный способ удаленного подключения к серверу.
Как работает телнет?
Визуально протокол Telnet работает следующим образом.
Как работает телнет
Telnet — это текстовое общение, которое создает двунаправленную (протокол клиент-сервер) интерактивную систему связи. Для передачи используется восьмибайтовое соединение. Кроме того, для использования Telnet вам потребуется клавиатура и экран, подключенные к терминалу.
Вы вводите команду со своего терминала для подключения к удаленному компьютеру. После подключения Telnet предоставляет вам контроль над сервером, включая его файлы и процессы.
Чтобы подключиться к удаленному серверу, пользователь должен ввести «Telnet» в командной строке. Синтаксис:
После успешного подключения вы можете использовать приглашение Telnet для ввода дополнительных команд Telnet.
Различные вещи, для которых вы можете использовать Telnet:
- Проверьте открытые порты
- Редактировать файлы, запускать программы
- Настройте сетевые устройства, такие как коммутаторы, маршрутизаторы и т. д.
Чтобы завершить сеанс, вам нужно ввести «Telnet» в приглашении Telnet.
Как включить клиент Telnet в Windows/Linux и macOS
Клиент Telnet доступен на всех основных платформах и операционных системах. Однако вам необходимо установить или включить его, прежде чем вы сможете его использовать.
№1. Окна
Если вы используете Windows 7 или выше (8, 10, 11) или Windows Vista, вы можете включить клиент Telnet, выполнив следующие действия:
- Перейдите в меню «Пуск» и найдите «Панель управления». Вы также можете открыть панель управления, нажав Win + R, а затем набрав «control». Должна открыться панель управления.
- Теперь выберите «Программы» > «Программы и компоненты».
- Выберите «Включить или отключить функции Windows на левой панели».
- Теперь установите флажок рядом с «Клиент Telnet» и нажмите «ОК».
- Теперь нажмите «Закрыть», как только Windows включит его и отобразит сообщение «Windows завершила запрошенное изменение».
Включение Telnet в Windows
Примечание. Вы можете начать использовать клиент Telnet сразу, не перезагружая компьютер.
№ 2. линукс
Как и Windows, Linux также не поставляется с предустановленным Telnet.
Чтобы установить Telnet в Ubuntu, вам нужно использовать следующую команду.
Примечание. Команда зависит от вашего дистрибутива Linux.
№3. macOS
MacOS также поддерживает Telnet. Чтобы установить его, вам нужно использовать Homebrew. Если Homebrew не предустановлен, вы можете установить его, выполнив следующую команду:
Он попросит вас ввести пароль администратора для авторизации установки.
Установив Homebrew, введите следующую команду, чтобы установить Telnet на MacOS.
Использование Telnet для проверки сетевых подключений и устранения неполадок
Несмотря на то, что Telnet не идеален для удаленного подключения, он все же полезен для тестирования сетевых подключений и устранения неполадок.
Прежде чем мы продолжим, давайте кратко рассмотрим синтаксис Telnet.
Здесь IP-адрес сервера/хоста — это сервер, к которому вы хотите подключиться. Порт — это номер порта TCP.
Например, если вы хотите подключиться к IP-адресу сервера example.com с портом 80, вам нужно ввести следующую команду.
Это означает, что вы должны знать IP-адрес/имя удаленного сервера и номер порта для устранения неполадок заранее.
Устранение неполадок веб-серверов
Telnet предлагает простой способ проверки подключения к серверу. Все, что вам нужно сделать, это подключиться к IP-адресу сервера/хоста и порту, который принимает соединение.
Например, если вы подключаетесь к 23.45.75.22 через порт 532, вам нужно выполнить следующую команду.
Отсюда могут произойти две вещи:
Существует несколько причин неудачных попыток Telnet подключиться к удаленному серверу. Кроме того, если Telnet не возвращает никакого сообщения об ошибке, это может быть связано с брандмауэром или антивирусом, блокирующим соединение на вашей стороне или на сервере.
Если мы подключимся к geefklare.com через порт 80, вы увидите мгновенное соединение, поскольку оно ожидает дальнейших команд.
Теперь введите следующую команду.
Он вернет следующее:
Теперь посмотрите на неудачную попытку подключения к серверу.
Проверьте, открыт ли порт
Если сервер доступен удаленно с помощью Telnet, вы также можете использовать его для проверки того, открыт ли порт.
Чтобы проверить, открыт ли порт на вашем сервере, вам нужно использовать следующую команду.
Например, IP-адрес вашего сервера — 23.45.47.53, а порт, который вы хотите проверить, — 532.
Если команда выполнена успешно, вы получите пустой экран, что означает, что порт открыт. Если он читается как «connecting..», а затем показывает сообщение об ошибке, это означает, что порт не открыт.
Устранение неполадок почтовых серверов SMTP
Простой протокол передачи почты (SMTP) управляет связью между почтовыми серверами.
Вы можете устранить неполадки SMTP-серверов с помощью Telnet, чтобы узнать, получают ли они и отправляют сообщения. Вы отправляете ручные запросы сообщений на SMTP-сервер. Если все в порядке, вы получите ответ.
Telnet позволяет протестировать соединение STMP двумя способами:
Чтобы запустить пробный обмен, введите в терминале следующую команду.
Здесь две другие команды, введенные пользователем:
Команда ECLO идентифицирует доменное имя перед использованием команды MAIL FROM. Команда QUIT завершает сеанс Telnet.
Если вам нужны более сложные команды, ознакомьтесь с этой статьей Использование Telnet для проверки связи SMTP на серверах Exchange.
Устранение неполадок FTP-сервера
Так же, как SMTP и веб-серверы, вы также можете устранять неполадки FTP-серверов. Все, что вам нужно сделать, это ввести IP-адрес FTP-сервера и подключиться к порту 21.
Теперь вы подключены к серверу, если попытка прошла успешно. В противном случае вы увидите сообщение об ошибке.
Устранение неполадок SSH
SSH — это современный взгляд на безопасные соединения, заменяющий Telnet. Вы можете использовать Telnet, чтобы узнать, работает ли на сервере SSH.
Для этого используйте команду Telnet с IP-адресом сервера и портом 22.
Заключительные слова
Telnet — удобный инструмент в наше время. Он позволяет успешно устранять неполадки в сетевых подключениях, не полагаясь на более сложные инструменты или командные строки. Используя Telnet, вы можете проверить, можете ли вы получить доступ к веб-серверу, узнать, открыт ли порт, и устранить неполадки SSH и FTP.
Вы можете прочитать эту статью о том, как устранить ошибку «Команда telnet не найдена».