Как проверить доступность порта через cmd
Перейти к содержимому

Как проверить доступность порта через cmd

  • автор:

Проверка открытых портов с помощью PowerShell

date

05.07.2023

user

itpro

directory

PowerShell, Windows 10, Windows 11, Windows Server 2019

comments

комментариев 7

В PowerShell для проверки доступности порта на удаленном компьютере можно использовать командлет Test-NetConnection. Этот командлет позволяет проверить доступность удаленного сервера или службы на нем, протестировать блокируется ли TCP порт файерволами, проверить доступность по ICMP и маршрутизацию. По сути, командлет Test-NetConnection позволяет заменить сразу несколько привычных сетевых утилит: ping, traceroute, telnet, сканер TCP портов и т.д.

�� Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Проверка доступности TCP порта с помощью Test-NetConnection

Командлет Test-NetConnection можно использовать только для проверки TCP портов. Например, чтобы проверить, что на почтовом сервере открыт порт TCP 25 (SMTP протокол), выполните команду:

Test-NetConnection -ComputerName msk-msg01 -Port 25

Примечание. С помощью командлета Test-NetConnection можно проверить только TCP соединение, для проверки доступности UDP портов он не применим.

В сокращенном виде аналогичная команда выглядит так:

TNC msk-mail1 -Port 25

Test-NetConnection - прверка ответа от TCP порта

Разберем результат команды:

ComputerName : msk-msg01 RemoteAddress : 10.10.1.7 RemotePort : 25 InterfaceAlias : CORP SourceAddress : 10.10.1.70 PingSucceeded : True PingReplyDetails (RTT) : 0 ms TcpTestSucceeded : True

Как вы видите, командлет выполняет разрешение имени сервера в IP адрес, выполняется проверка ответа ICMP (аналог ping) и проверка ответа от TCP порта (доступность). Указанный сервер доступен по ICMP ( PingSucceeded = True ) и 25 TCP порт также отвечает ( RemotePort=25, TcpTestSucceeded= True ).

Примечание. Если команда вернула PingSucceeded=False и TcpTestSucceeded= True, скорее всего означает, что на удаленном сервере запрещен ICMP Ping.

Если выполнить команду Test-NetConnection без параметров, выполнится проверка наличия подключения к интернету на компьютере (проверяется доступность узла internetbeacon.msedge.net):

Test-NetConnection проверить достуа в интернет на компьютере

Для вывода детальной информации при проверки удаленного TCP порта можно добавить опцию -InformationLevel Detailed:

TNC 192.168.31.102 -Port 3389 -InformationLevel Detailed

test-netconneciton detailed - подробная информация о доступности удаленного порта

Доступность популярных сервисов Windows на удаленном компьютере (HTTP, RDP, SMB, WINRM) можно проверить с помощью параметра CommonTCPPort.

Например, чтобы проверить доступность веб-сервера, можно использовать команду:

Test-NetConnection -ComputerName winitpro.ru -CommonTCPPort HTTP

Test-NetConnection msk-rds1 –CommonTCPPort RDP

Можно вывести все параметры, которые возвращает командлет Test-NetConnection:

Test-NetConnection msk-man01 -port 445|Format-List *

Test-NetConnection все свойства

Если нужна только информация по доступности TCP порта, в более лаконичном виде проверка может быть выполнена так:

TNC msk-mail1 -Port 25 -InformationLevel Quiet

Командлет вернул True, значит удаленный порт доступен.

TNC InformationLevel Quiet

Совет. В предыдущих версиях Windows PowerShell (до версии 4.0) проверить доступность удаленного TCP порта можно было так:

(New-Object System.Net.Sockets.TcpClient).Connect(‘msk-msg01’, 25)

New-Object System.Net.Sockets.TcpClient

Командлет Test-NetConnection можно использовать для трассировки маршрута до удаленного сервера при помощи параметра –TraceRoute (аналог команды трассировки маршрута tracert). С помощью параметра –Hops можно ограничить максимальное количество хопов при проверке.

Test-NetConnection msk-man01 –TraceRoute

Командлет вернул сетевую задержку при доступе к серверу в миллисекундах ( PingReplyDetails (RTT) : 41 ms ) и все IP адреса маршрутизаторов на пути до целевого сервера.

Test-NetConnection TraceRoute

PowerShell: проверка открытых портов на нескольких IP хостах

С помощью PowerShell можно проверить доступность определенного порта на нескольких компьютерах. Сохраните список серверов или IP адресов в текстовый файл servers.txt.

Например, ваша задача – найти сервере на которых не отвечает или закрыт порт TCP/25:

Вы можете использовать PowerShell в качестве простейшую систему мониторинга, которая проверяет доступность серверов и выводит уведомление, если один из серверов недоступен.

Например, вы можете проверить доступность основных служб на всех контроллерах домена в AD (список DC можно получить командлетом Get-ADDomainController). Проверим следующие службы на DC (в утилите PortQry есть аналогичное правило Domain and trusts):

  • RPC – TCP/135
  • LDAP – TCP/389
  • LDAP – TCP/3268
  • DNS – TCP/53

$Ports = «135»,»389″,»636″,»3268″,»53″,»88″,»445″,»3269″, «80», «443»
$AllDCs = Get-ADDomainController -Filter * | Select-Object Hostname,Ipv4address
ForEach($DC in $AllDCs)Foreach ($P in $Ports)$check=Test-NetConnection $DC.Ipv4address -Port $P -WarningAction SilentlyContinue
If ($check.tcpTestSucceeded -eq $true)
«>
else
» -ForegroundColor Red>
>
>

Скрипт проверит указанные TCP порты на контроллерах домена, и, если один из портов недоступен, выделит его красным цветом (можно запустить данный PowerShell скрипт как службу Windows).

powershell: test-netconnection проверить порты на конроллерах домена

IP сканер сети на PowerShell

Вы можете реализовать простой IP сканер, которые сканирует удаленные хосты или IP подсети на открытые/закрытые TCP порты.

Чтобы просканировать диапазон IP адресов с 10.10.10.5 до 10.10.10.30 и вывести компьютеры, на которых открыт порт 3389:

foreach ($ip in 5..30)

Можно просканировать диапазон TCP портов (от 1 до 1024) на указанном сервере:

powershell сканирование открытых сетевых портов

Вывести список открытых портов в Windows

Если вам нужно вывести список портов, открытых на локальном компьютере, исопльзуется командлет Get-NetTCPConnection (это PowerShell-эквивалент NETSTAT). Полный список открытых портов на компьютере можно вывести так:

Get-NetTcpConnection -State Listen | Select-Object LocalAddress,LocalPort| Sort-Object -Property LocalPort | Format-Table

get-nettcpconnection вывести список открытых портов в windows

Командлет Get-NetTCPConnection также можно использовать для просмотра списка открытых TCP/IP подключений.

Если вам нужно проверить, какая программа (процесс) слушает определенный порт на вашем компьютере, выполните команду:

Get-Process -Id (Get-NetTCPConnection -LocalPort 443).OwningProcess | ft Id, ProcessName, UserName, Path

�� Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Как проверить доступность порта на сервере?

Для того что бы проверить есть ли соединение с Вашего компьютера с сервером по определенному порту, к примеру 25 (smtp), 21 (ftp), 110(pop3), 143 (imap), 3306 (mysql) или другому.

Необходимо воспользоваться утилитой telnet. По умолчанию данная утилита не включена в операционных системах Windows 7/8/10. Для её активации необходимо перейти в «Панель управления > Программы > Программы и компоненты» выбрать пункт «Включение или отключение компонентов Windows» в открывшемся списке отметить галочкой пункт «Клиент Telnet» и нажать ОК.

Далее приступим непосредственно к проверки соединения с портом, для этого нажимаем «Windows + R» и в открывшемся окне набираем команду cmd и нажать клавишу Enter.

В открывшемся окне пишем команду telnet «IP сервера» «порт», к примеру: telnet 193.0.61.33 25

В случае если порт не блокируется, Вы получите ответ:

В случае если соединение по указанному порту не происходит, Вы получите ответ:

Причиной блокировки может быть антивирус или фаервол на Вашем компьютере или же порты может блокировать Ваш интернет провайдер

Все категории вопросов

  1. Общие вопросы по услуге хостинга
  2. Робота с хостинг 2.0
  3. Работа с базами данных [MySQL]
  4. Работа с файловым менеджером
  5. Работа с FTP
  6. Работа с SSH
  7. Работа с почтой
  8. Работа с Cron
  9. Работа с SSL
  10. Работа с резервным копированием
  11. Работа с htaccess
  12. Работа с CMS
  13. Дополнительные услуги
  14. Нагрузка
  15. Ошибки на сайте
  16. Конструктор сайтов
  1. Регистрация и продление доменов
  2. Управление DNS-записями домена
  3. Трансфер домена
  4. Смена контактных данных владельца домена
  5. Настройка CloudFlare
  1. Общие вопросы по серверам
  2. Администрирование виртуального сервера (VPS)
  3. Администрирование выделенного сервера (DS)
  4. Инструкции по Windows Server
  5. Инструкции по Linux
  6. Панель управления FASTPANEL
  7. Панель управления Hestia CP
  8. Панель управления Vesta CP
  1. Платный SSL-сертификат
  2. Файловое хранилище
  3. SMS-сервис
  4. CallBack-сервис

Как проверить, открыт ли порт, командой telnet

Прежде чем подключиться к порту, необходимо проверить его доступность. Свободный порт не будет препятствовать соединению с ним. Если же порт занят, будет выдаваться ошибка ОС. Зачастую приходится производить ручную проверку портов, но есть ряд программ, которые делают это автоматически путем подмены номеров во время поиска свободного подключения.

Способы проверки доступности порта

Выделяют следующие способы, по которым можно понять, что порт открыт:

  1. По онлайн-сервисам, специализирующихся на проверке портов;
  2. По дополнительным приложениям, которые запускаются на устройстве;
  3. По утилитам, которые встроены в ОС.

В зависимости от того, какая стоит задача, выбирается и способ проверки. Например, необходимо обеспечить внешнюю доступность до личного устройства, в таком случае подойдет проверка через сервисы 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-адрес.

При появлении сообщения о сбое подключения, сразу можно понять, что порт закрыт. Если же он открыт, будет либо пустая строка, либо потребуется ввести логин и пароль сервера.

Таким образом мы рассмотрели все варианты проверки статуса портов. Можете выбрать любой подходящий для вас и успешно продолжать работу

Как проверить, открыт ли порт

В этой статье мы расскажем, что такое порт, какие они бывают и как проходит проверка порта на локальном и удаленном компьютере.

Вы можете узнать, открыт ли порт, с помощью нашего сервиса проверки доступности портов.

Что такое порт

Порт — это числовой идентификатор программы или процесса, который обслуживает сетевые соединения на заданном IP-адресе. Номера портов могут быть от 0 до 65 535.

Каждое устройство (компьютер, ноутбук, мобильный телефон и др.) имеет свой IP-адрес. Он дает возможность организовывать сетевые соединения между устройствами. Но на отдельном устройстве может быть запущено несколько сетевых приложений одновременно. Например, есть интернет-сервер с IP-адресом. На нем расположен: веб-сервер, почтовый сервер, FTP-сервер. Как сделать так, чтобы мы могли связаться именно с почтовым сервером? Для этого и нужен порт. Порты предоставляют возможность идентифицировать сетевые приложения на отдельно взятом компьютере.

Есть стандартные порты, такие как:

  • порт 80 — для веб-сервера, который работает по протоколу HTTP,
  • порт 443 — для защищенного SSL-сертификатом веб-сервера, который работает по протоколу HTTPS,
  • порт 21 — для FTP-протокола (протокола передачи файлов).

Как проверить, открыт ли порт

Проверка порта на доступность возможна как для своего (локального) компьютера , так и для удаленного.

Как узнать, какие порты открыты на локальном компьютере в Windows

  1. Вызовите командную строку сочетанием клавиш Win+R.
  2. Введите команду «cmd» и нажмите ОК:
  1. Пропишите команду netstat -a и кликните Enter:

Готово, перед вами список открытых портов на вашем компьютере.

Как узнать, какие порты открыты на удаленном компьютере

Провести проверку портов на открытость удаленного компьютера можно при помощи команды telnet.

Telnet — это утилита, с помощью которой можно соединиться с удаленным портом любого компьютера. Telnet позволяет установить связь, чтобы передавать команды и получать ответы (например, сделать проброс портов).

В Windows 7/8/10 и Vista утилита telnet отключена по умолчанию. Утилиту можно установить по инструкции.

Как проверить доступность порта с помощью команды telnet в Windows:

  1. Вызовите командную строку сочетанием клавиш Win+R.
  2. Введите команду «cmd» и нажмите ОК.
  3. В окне терминала введите команду: telnet имя_сервера номер_порта (например, telnet mysite.ru 31). Можно проверить порт на доступность по IP, если ввести команду telnet IP_сервера номер_порта (например, telnet 10.0.119.127 31).
  • Если на экране появится текст «“telnet” не является внутренней или внешней командой, исполняемой программой или пакетным файлом», то на вашем компьютере отключена утилита и ее надо установить по инструкции:
  • Если на экране командной строки появится ошибка, значит порт закрыт:
  • Если экран станет полностью пустым или появится приглашение сервера, значит порт открыт:

Популярные статьи

  • Как указать (изменить) DNS-серверы для домена
  • Я зарегистрировал домен, что дальше
  • Как добавить запись типа A, AAAA, CNAME, MX, TXT, SRV для своего домена
  • Что такое редирект: виды и возможности настройки
  • Как создать почту со своим доменом

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *