- Способы проверки доступности TCP-портов
- Как проверить доступен ли порт?
- Проверка доступных портов
- Вам может быть интересно
- Как проверить, открыт ли порт
- Что такое порт сервера и зачем он нужен
- Telnet: что это такое и как ей пользоваться
- Стандартные команды утилиты Telnet
- Как проверить, открыт ли порт на удаленном компьютере, с помощью Telnet
- Как проверить открытые порты на локальном компьютере
- Как еще можно проверить доступность порта
- Заключение
- Туториал: как проверить, открыт ли порт
Способы проверки доступности TCP-портов
В процессе разворачивания и эксплуатации информационных систем часто требуется проверка доступности порта того или иного ресурса. Это может быть сервер приложений 1С, к которому не удается подключиться пользователю. Или же это внешний веб-ресурс, к которому происходит обращение. Или что-то еще. Для проверки доступности самого сервера обычно используется команда ping. Но, в силу того, что данная утилита работает с ICMP-пакетами, для конкретного порта проверить доступ таким образом невозможно. Кроме того, на ресурсе в целях безопасности может быть заблокирован ответ на ICMP-пакеты, соответственно, результат доступности нельзя считать однозначным, если ресурс «не пингуется».
Как проверить доступен ли порт?
Традиционный способ.
Первое, что приходит на ум — использовать «старый добрый» telnet. Для примера проверять будем доступность менеджера кластера:
C:\>telnet ks-app-02 2141
Получили в ответ «кракозябру» — значит доступ есть Осталось выйти сначала из кракозябры по ‘CTRL+]’ и затем из самого telnet-а
Microsoft Telnet> q
Загвоздка в том, что в большинстве современных Windows-систем telnet-клиент не установлен по-умолчанию, и требуется доустанавливать этот компонент. Что не всегда возможно, т.к. компьютер может быть и не своим и/или нет соответствующих прав.
Способ без инсталляции программ.
Хотелось бы иметь какой-то инструмент, не требующий установки, портабельный, чтобы можно было его просто скопировать и пользоваться, а при необходимости, легко удалить после использования. В качестве такого инструмента удобно использовать утилиту psping от Sysinternals. Эту утилиту можно скачать как отдельно, так и в составе пакета SysinternalsSuite, который содержит множество других необходимых инструментов.
C:\>psping ks-app-02:2141
Еще один портабельный инструмент, позволяющий решить задачу: tcping (
Встроенный инструментарий.
Однако есть возможность обойтись и совсем без сторонних утилит. В Windows есть встроенный инструмент, позволяющий выполнить такую проверку. Это powershell-командлет Test-NetConnection
PS C:\> Test-NetConnection ks-app-02 -Port 2141
В ответе нас интересует последняя строка — TcpTestSucceeded: True. В данном случае — доступ есть. Также, в ответе может содержаться еще значение PingSucceeded — это «обычный» ping по ICMP. У командлета есть очень удобный для запоминания и быстрого ввода альяс tnc, а также ключ позволяющий ограничить вывод только результатом.
C:\>tnc ks-app-02 -Port 2141 -InformationLevel Quiet
Разумеется, запускать командлет необходимо в окне PowerShell, а не «командной строки». Хотя, из командной строки тоже можно, вызвав PowerShell:
C:\>powershell tnc ks-app-02 -port 2141
Следует заметить, что командлет доступен в версиях PowerShell от 4.0 и выше, т.е. начиная с Windows Server 2012 R2 и Windows 8.1 Документация:
Проверка доступных портов
Порт — это адрес, который используется для взаимодействия устройств в современных компьютерных сетях. У каждого устройства есть свой IP-адрес, который обеспечивает сетевые соединения.
Порт принято записывать как 16-битное число от 1 до 65 535, которое используется приложениями для обмена данными. Существует три вида портов компьютера: системные (0-1 023), пользовательские (1 024-49 151) и динамические (49 152-65 535).
Проверка покажет, есть ли у вас открытые порты. Закрытые порты — один из аспектов безопасности, чтобы ваш компьютер и информация на нём были защищены от вмешательства внешнего мира и злоумышленников.
Для Windows (включая Windows 10): Откройте командную строку сочетанием клавиш Win+R, далее пропишите команду cmd, введите команду netstat-a и нажмите Enter.
Прежде всего нужно устранить причину — закрыть или остановить программу, которая открыла порт. Если причина открытого порта непонятна — запустите проверку антивирусом (если вирус открыл соединение, он держит порт открытым), уберите лишние правила проброса портов на роутере и установите продвинутый Firewall.
Проброс портов — настройка на роутере, с помощью которой можно перенаправлять внешние запросы (из интернета) на компьютеры локальной сети.
Например, у вас есть веб-сервер, подключённый через роутер к интернету. Все компьютеры, подключённые к этому роутеру, находятся в одной сети, поэтому смогут подключиться к вашему серверу. Но снаружи, из интернета, подключиться к вашему серверу без проброса портов уже не получится.
Вам может быть интересно
Как проверить, открыт ли порт
Чтобы обмениваться данными по локальной сети или через интернет, устройства должны связаться друг с другом. Для этого каждому из них необходимо иметь собственный IP-адрес и открытые порты для взаимодействия. В статье подробно разберем, что такое порт, зачем он нужен и как самостоятельно проверить его доступность.
Что такое порт сервера и зачем он нужен
Порт можно сравнить с разъемами на материнской плате, только если в том случае речь идет о подключении физических устройств, то здесь – о виртуальных процессах. Представьте: на вашем устройстве находится много разных сетевых приложений, но вам нужно найти и подключится к одному конкретному. Порт нужен именно для того, чтобы открыть с ним соединение и дождаться завершения процесса. Сам порт выглядит как числовой идентификатор от 0 до 65 535.
Перед тем, как подключится к любому порту, нужно проверить, открыт ли он. Большинство программ делают проверку доступности порта автоматически, но иногда требуется сделать это самостоятельно. В случае если порт будет несвободен, установить соединение не получится.
Один из наиболее распространенных способов проверить доступность порта – сделать это с помощью команды Telnet. Дальше расскажем, как именно это сделать.
Telnet: что это такое и как ей пользоваться
Что такое Telnet? Telnet – это сетевая утилита, позволяющая установить соединение с удаленным портом любого компьютера и каналом связи. Она работает по протоколу TELNET и позволяет им управлять. Сам протокол работает на основе TCP – то есть, можно передавать обычные строковые команды на другое устройство. Также его можно использовать для взаимодействия между процессами. Как правило, утилита установлена по умолчанию во всех системах. Если на вашем устройстве ее нет – воспользуйтесь и установите Telnet в одном из официальных репозиториев, например, в Ubuntu:
Общий синтаксис утилиты Telnet выглядит следующим образом:
Разберем по порядку, что здесь подразумевается.
Хост – это удаленный компьютер (домен или IP-адрес).
Порт – тот порт, через который устанавливается соединение, то есть на этом компьютере.
Опции необходимы, чтобы подключиться к удаленному серверу. Самые распространенные опции выглядят так:
- -4 – использовать поддержку стандарта IPv4;
- -6 – использовать поддержку стандарта IPv6;
- -8 – использовать 8-битную кодировку – например, Unicode;
- -E – отключить поддержку Escape-последовательностей;
- -a – автоматический вход с логином из переменного окружения USER;
- -b – использовать локальный сокет;
- -d – использовать режим отладки;
- -p – использовать эмуляцию rlogin;
- -l – указать пользователя авторизации.
После подключения к удаленному серверу нужно ввести команды для управления процессами. Для этого у Telnet есть два режима:
- Построчный – строка полностью редактируется на локальном компьютере и в готовом виде целиком отправляется на сервер.
- Посимвольный – каждый символ, который вы набираете, отправляется на сервер. В этом случае не получится что-то исправить, если вы допустите ошибку при вводе.
Стандартные команды утилиты Telnet
Мы не будем рассматривать все существующие команды, возьмем только самые необходимые. Подробную информацию о них можно найти в официальной документации разработчиков программы.
- CLOSE – отключить соединение с удаленным сервером;
- ENCRYPT – передавать всю информацию в зашифрованном виде;
- LOGOUT – выйти и закрыть соединение;
- MODE – переключить режима со строчного на символьный или наоборот;
- STATUS – показать текущий статус соединения;
- SEND – отправить один из специальных символов telnet;
- SET – установить значение параметра;
- OPEN – открыть соединение с удаленным сервером;
- DISPLAY – показать используемые спецсимволы;
- SLC – изменить используемые спецсимволы.
Как проверить, открыт ли порт на удаленном компьютере, с помощью Telnet
Команда Telnet – отличный вариант, чтобы проверить доступность порта на удаленном компьютере. Как проверить доступность порта через Telnet? Чтобы это сделать, нужно ввести в командной строке одну из команд:
В командной строке Windows введите одну из команд:
telnet имя_сервера номер_порта или telnet IP_сервера номер_порта
Если вы увидите в ответе терминала или командной строки ошибку, то можно сделать вывод, что порт закрыт.
Если вы видите пустое окно или появилось приглашение сервера, то порт открыт.
Также с Telnet можно посмотреть открытые порты linux:
- Запустите терминал комбинацией клавиш Ctrl+Alt+T
- Введите команду, чтобы установить утилиту: sudo apt install telnet
- После установки введите команду в терминале: telnet имя_сервера номер_порта
- Если появится ошибка, то порт закрыт. Если порт открыт, вы увидите сообщение Unable to connect to remote host.
Как проверить открытые порты на локальном компьютере
Открытые порты на локальном компьютере, например, который вы используете дома или для работы, могут привести к серьезным последствиям – именно через них на устройства проникают вирусы и есть риск стать жертвой злоумышленников. Помимо Telnet есть еще несколько встроенных утилит, которые можно использовать, если вам нужно проверить открытые и закрытые соединения. Рассмотрим, как проверить, открыт ли порт на компьютере, примере утилиты netstat.
Как проверить порты в Windows, используя утилиту netstat:
- Введите комбинацию клавиш Win+R
- Задайте команду CMD и нажмите Enter
- Задайте команду netstat –a и нажмите Enter
После этого перед вами должен появиться список занятых портов, где также будет видно, какая программа его использует. Чтобы выгрузить файл и проверить его на наличие лишних приложений, задайте команду netstat –a >имя.txt.
Как еще можно проверить доступность порта
Онлайн-сервис ping.eu
Если вы не хотите использовать утилиты для проверки, есть онлайн-сервисы, которые помогут это сделать.
Один из таких сервисов – ping.eu. Это многофункциональный сервер, который позволяет быстро проверить открытые порты. Нужно зайти на сайт, выбрать вкладку Port check. Далее понадобится ввести IP-адрес и номер соединения, адрес пользователя будет определен автоматически. После этого нажмите Go и сервис покажет результат.
Специальные программы
Кроме онлайн-сервисов и встроенных утилит, можно воспользоваться для проверки портов отдельными приложениями. Их достаточно много, и они работают примерно по одному принципу, при необходимости вы можете найти подходящее для себя через поиск. Мы рассмотрим, как работает программа Portforward Network Utilities. Она является платной, но можно выбрать пробный режим. Кстати, эта программа поможет не только проверить порты, но и открыть их, если вам это нужно.
Как проверить порты с помощью Portforward Network Utilities
- Перейдите на сайт разработчика и скачайте приложение в разделе загрузок.
- Запустите приложение и выберите режим использования. Можно использовать бесплатный режим или оплатить на сайте – тогда нужно ввести регистрационный ключ.
- Откройте раздел Tools и выберите пункт Port Checker.
- Введите номер порта и выберите протокол передачи информации.
- Нажмите кнопку Check Me и дождитесь результатов сканирования.
Заключение
Один из аспектов безопасности – это закрытые порты, поэтому если регулярно их проверять, то вы сможете не допустить утечки ваших данных и доступа злоумышленников. При этом порты иногда необходимо открыть, чтобы настроить некоторые программы, приложения или сервисы операционной системы. Проверку портов можно провести с помощью встроенных утилит, онлайн-сервисов или специальных программ, которые понадобится скачать отдельно. Какой из инструментов выбрать – вопрос только ваших предпочтений и требований.