Несмотря на то, что в Windows есть множество инструментов для диагностики проблем в TCP/IP сетях (ping, telnet, pathping и т.д.), не все они позволяют в удобном виде проверить состояние или выполнить сканирование открытых сетевых портов на удаленном сервере. Утилита Portqry.exe является удобным инструментом проверки доступности TCP/UDP портов на удаленном сервере при диагностике проблем, связанных с функционированием различных сервисов, а также наличием файерволов и межсетевых экранов в TCP/IP сетях. Чаще всего утилита Portqry используется как более функциональная замена telnet, и в отличии от telnet, позволяет также проверять открытые UDP порты.
Содержание:
- Используем PortQry для сканирования открытых UDP и TCP портов
- Расширенный статус сетевых служб в PortQry
- Графический интерфейс для Portqry
Используем PortQry для сканирования открытых UDP и TCP портов
Первая версия Portqry для Windows Server 2003 некорректно работает с более новыми ОС (Windows Server 2008 и выше), поэтому в дальнейшем была выпущена вторая версия утилиты PortQryV2. Именно эту версию и стоит использовать сегодня(скачать утилиту PortQryV2 можно по ссылке).
В Windows 10 вы можете установить portqry через менеджер пакетов Chokolatey:
choco install portqry
Скачайте и распакуйте архив PortQryV2.exe. Запустите командную строку и перейдите в каталог с утилитой, например:
cd c:\tools\PortQryV2
Чтобы проверить доступность DNS сервера с клиента, необходимо проверить открыты ли на нем 53 порты TCP и UDP. Формат команды проверки доступности портов на удаленном сервере следующий:
PortQry -n server [-p protocol] [-e || -r || -o endpoint(s)]
-n – имя или IP адрес сервера, доступ к которому нужно проверить
—e – номер порта для проверки (от 1 до 65535)
—r – диапазон портов для проверки (например, 1:80)
—p – по какому протоколу выполняется проверка. Это может быть TCP, UDP или BOTH (по умолчанию используется TCP).
Примечание. В отличии от комадлета PowerShell Test-NetConnection, который может использоваться только для проверки доступности TCP портов, утилита PortQry поддерживает и TCP и UDP протоколы.
В нашем примере команда будет такой:
PortQry.exe –n 10.1.10.6 -p both -e 53
Утилита Portqry для каждого указанного порта вернет один из трех статусов доступности:
- Listening – означает, что указанный порт доступен (принимает соединения), ответ от него получен;
- Not Listening – на целевой системе не запушен процесс (служба), который бы принимал подключения на указанном порту. Portqry получила ответ ICMP «Destination Unreachable — Port Unreachable» при проверке UDP порта, или TCP пакет с флагом Reset;
- Filtered – утилита PortQry не получала ответа от указанного порта либо ответ был отфильтрован. Т.е. на целевой системе либо не слушается данный порт, либо доступ к нему ограничен файерволом или настройками системы. По умолчанию TCP порты опрашиваются 3 раза, а UDP – один.
В нашем примере, DNS сервер доступен с клиента и по TCP и по UDP.
TCP port 53 (domain service): LISTENING UDP port 53 (domain service): LISTENING
С помощью атрибута —o, можно указать последовательность портов, которых нужно просканировать:
portqry -n 10.1.10.6 -p tcp -o 21,110,143
Следующая команда выполнит сканирование диапазона “низких” TCP портов и вернет список доступных портов, которые принимают подключения (утилита работает в режиме сканера открытых портов):
portqry -n 10.1.10.6 -r 1:1024 | find ": LISTENING"
Можно сохранить результаты сканирования открытых портов в текстовый файл:
portqry -n 10.1.10.6 -p tcp -r 20:500 -l logfile.txt
В утилите portqry есть интерактивный режим:
portqry –i
Теперь в приглашении PortQry Interactive Mode можете указать имя удаленного компьютера и порт.
node srv-lic
set port=80
Чтобы выполнить проверить порт на указанном сервере нажмите q и Enter.
С помощью аргументов –wport и -wpid можно выполнить мониторинг состояния указанного порта (wport), или всех портов, связанных с указанным процессом (wpid) на локальном хосте.
Например, следующая команда в течении 10 минут будет выполнять проверку доступности указанного локального порта (например, RDP порта 3389), и если его статус изменится, уведомит администратора об этом (подробный лог будет доступен в файле LogFile.txt). Чтобы остановить мониторинг, нажмите
Ctrl-C
:
portqry -wport 3389 -wt 600 –l LogFile.txt -y -v
Можно получить информацию об открытых портах и активных TCP/UDP соединениях на локальном компьютере:
portqry.exe -local
Расширенный статус сетевых служб в PortQry
В утилите PortQry имеется встроенная поддержка некоторых сетевых служб. Это LDAP, Remote Procedure Calls (RPC), почтовые протоколы (SMTP, POP3 и IMAP4), SNMP, FTP/ TFTP, NetBIOS Name Service, L2TP и другие. Кроме проверки доступности этих стандартных портов этих служб, утилита выполняет специфические для конкретного протокола запросы для получения статуса сервиса.
Например, с помощью следующего запроса мы не только проверим доступность службы RPC endpoint mapper (TCP/135), но и получим список имен зарегистрированных в системе конечных точек RPC (в том числе их имя, UUID, адрес к которому они привязаны и приложение, с которым они связаны).
portqry -n 10.1.10.6 -p tcp -e 135
TCP port 135 (epmap service): LISTENING Using ephemeral source port Querying Endpoint Mapper Database... Server's response: UUID: d95afe72-a6d5-4259-822e-2c84da1ddb0d ncacn_ip_tcp:10.1.10.6 [49152] UUID: 897e215f-93f3-4376-9c9c-fd2277495c27 Frs2 Service ncacn_ip_tcp:10.1.10.6 [5722] UUID: 6b5bd21e-528c-422c-af8c-a4079be4fe48 Remote Fw APIs ncacn_ip_tcp:10.1.10.6 [63006] UUID: 12345678-1234-abcd-ef22-0123456789ab IPSec Policy agent endpoint ncacn_ip_tcp:10.1.10.6 [63006] UUID: 367abb81-9844-35f1-ad32-91f038001003 ncacn_ip_tcp:10.1.10.6 [63002] UUID: 50abc2a3-574d-40b3-1d66-ee4fd5fba076 ncacn_ip_tcp:10.1.10.6 [56020] …….. UUID: 3c4428c5-f0ab-448b-bda1-6ce01eb0a6d5 DHCP Client LRPC Endpoint ncacn_ip_tcp:10.1.10.6 [49153] Total endpoints found: 61 ==== End of RPC Endpoint Mapper query response ==== portqry.exe -n 10.1.10.6 -e 135 -p TCP exits with return code 0x00000000.
Или вы можете проверить доступность и ответ от службы SQL Server Browser на сервере Microsoft SQL Server:
PortQry.exe -n msk-sql1 -e 1434 -p UDP
UDP port 1434 (ms-sql-m service): LISTENING or FILTERED Sending SQL Server query to UDP port 1434... Server's response: ServerName MSK-SQL01 InstanceName MSSQLSERVER IsClustered No Version 15.0.2000.5 tcp 53200 ServerName MSK-SQL01 InstanceName BANKDB IsClustered No Version 15.0.2000.5 tcp 1433 ==== End of SQL Server query response ==== UDP port 1434 is LISTENING
Как вы видите, утилита portqry показала не только доступность UDP порта, но и версию SQL сервера и имена запущенных на сервере SQL экземпляров и их TCP порты (один инстанс BANKDB живет на порту по умолчанию tcp 1433, второй MSSQLSERVER использует фиксированный порт из RPC диапазона 53200 — см. статью о настройке портов в SQL Server).
Можно опросить SNMP порт на устройстве, указав название community:
portqry -n host2 -cn !secure! -e 161 -p udp
При проверке 25 порта на SMTP сервере можно получить баннер приветствия сервера:
portqry -n domain.mail.ru -p tcp -e 25
Графический интерфейс для Portqry
Первоначально утилита Portqry была исключительно консольным инструментом. Для удобства пользователей, которые не дружат с командной строкой, Microsoft разработала простой графический интерфейс для утилиты portqry – PortQueryUI. Скачать PortQueryUI можно с сайта загрузок Microsoft http://download.microsoft.com/download/3/f/4/3f4c6a54-65f0-4164-bdec-a3411ba24d3a/PortQryUI.exe
PortQueryUI по сути представляет собой графическую надстройку над portqry для формирования командной строки, и возврата результата в графическое окно.
Кроме того, в PortQueryUI заложено несколько заранее предопределенных наборов запросов для проверки доступности популярных служб Microsoft:
- Domain and trusts (проверка служб на контроллере домена Active Directory)
- IP Sec
- Networking
- SQL Server
- Web Server
- Exchange Server
- Net Meeting
Думаю, особых комментариев к интерфейсу PortQueryUI давать не нужно. Все должно быть понятно из скриншота ниже. Укажите DNS имя или IP адрес сервера, выберите один из предустановленных сервисов (Query predefined service), или укажите номера портов для проверки вручную (Manually input query ports) и нажмите кнопку Query.
Возможные коды ответа в PortQueryUI (выделен на скриншоте):
- 0 (0x00000000)– означает, что соединении успешно установлено и порт доступен;
- 1 (0x00000001) – указанный порт недоступен или отфильтрован;
- 2 (0x00000002 – это нормальный код возврата при проверке UDP подключения, т.к. не возвращается ACK ответ.
This check udp port article will talk about the User Datagram Protocol, what is used for and the tool to use it.
User Datagram Protocol (UDP) is like a send and forget protocol. To check if the UDP port is open or not, you should receive a response from the port.
The UDP Socket:
With User Datagram protocol (UDP), the computer can send messages in the form of datagrams to other hosts on an Internet Protocol (IP) network. UDP uses connectionless communication which has checksums and port numbers. Checksums are for data integrity while port-numbers are used to address different functions at the source and destination of the datagram. It uses Time-sensitive applications make use of UDP. A port acts like a channel where an application on a client’s computer reaches the server. A port scan sends the client requests to server port addresses to find the active port.
Super PC Care is a popular optimization tool with over Ten Million users worldwide.
Follow below steps to check if UDP port is open or closed:
- Open a packet sniffer.
- Send a User Datagram Protocol (UDP) packet.
- After sending the UDP packet, if you receive ‘ICMP port unreachable’ message, then the UDP port is closed.
- If not, then the UDP port is open or something is blocking the ICMP.
Listening UDP ports on Windows
To listen to a specific port, follow the below steps:
- Open the command prompt on your windows.
- Type below command
Netstat –an | find “UDP” | more
This will display all the listening UDP ports on your windows machine. This is useful to check if the service is listening on the server specified.
Tools to check if the UDP port is open or closed:
There are various tools in the market to check if UDP port is open/available or not. These tools determine the external IP address. It also detects the open ports on the connection. These tools determine the port forwarding setup and also checks if any firewall is blocking the server application. It scans the port and network.
UDP Testing:
To check UDP port status – open or close, we can use below two steps:
- Iperf: It is a free client-server utility tool. iperf validates udp connectivity and throughput.Iperf –s –p 33001 –u is used to listen UDP traffic on port 33001. Run this to check UPD port open at the client side.
- netcat: Netcat is a utility for testing networks.nc -l –u 33001 is used to check UDP port open at the server side. Specify UDP (-u) and (-l) means listen modenc –u ip_address 33001 is used to check UDP port open at the client side. Provide the IP address and port.
To check UDP port connection between two systems, below utilities are used as follows:
Connect to the server and once the connection is established type in the window and press ENTER. The server window will display text if the connection is working. These utilities can be used for Windows, Linux, and Mac OS X environment.
UDP Port Scanner and Checker:
This tool identifies the available services running on the server. It used raw IP packets to check which ports and operating system are available and running. It also checks for the firewall in case if it blocks the port. Various tools are available in the market to scan the port and check which port is open and close. These tools run on the client and server machine simultaneously. They are available for cross platforms, including Windows, Mac, and Linux.
Check UDP port open in nmap
One of the most popular ways to check UDP port open or not is nmap.
#nmap -sU -p port target
This command is used to scan the UDP port. Ports to be scanned need to be specified where –sU activates UDP port scan.
For e.g. #nmap –sU –p 1-1023 192.168.1.1
In this example, the port range is from 1 to 1023 at the node 192.168.1.1. Also, instead of scanning the range of port, we can specify a specific port number. This will scan the port and check if the port is open or closed.
UDP port scan attack:
UDP port scan attack can occur when some attacker sends packets on your machine. This varies on the destination port. This can let attacker determine which server application service you are running and which operating system you have. You need not worry about this attack unless you have a firewall on your system to protect from the attackers.
Another method to check UDP Open Port
Follow below alternate method to test your udp port is open or closed:
- Download utilities available on Web. For e.g. Network Utilities Bundles.
- Install and launch the tool on your system.
- Click on the port check button and select the type of port.
- Click on Check Me.
These tools use local application. When the port is not reachable or giving a message displaying “Your port is not open or not reachable”, this means that the port is closed or some firewall is blocking the port.
How does UDP port scanning detection works?
After sending a UDP packet to the remote host, the following occurs:
- When UDP port is available (open). Packets are accepted but the response is not sent.
- When UDP port is closed, ICMP packet is sent in response with an error code like Destination Unreachable.
Limitations in UDP Port Scanning:
Following are some of the limitations for UDP Port scanning:
- Internal packets are used for queuing incoming packets by the TCP/IP stacks of many operating systems. UDP packets that sent are not process due to limited buffer space. This can cause the slow process of port scanning. UDP port scanning is reluctant than TCP port scanning.
- The Firewall can affect the result of scanning. It can prevent the ICMP packet from reaching the scanner.
Scanning and to check UDP port can be achieved through various methods. The scanner contains a list of open UDP ports as well as the running UDP services. No response from the port anticipates that the port is open. Where an error message or an ICMP packet in the response indicates the port is closed.
Все способы:
- Вариант 1: Брандмауэр
- Вариант 2: Консольные утилиты
- Способ 1: «Командная строка»
- Способ 2: «Windows PowerShell»
- Вариант 3: Онлайн-сервисы
- Вариант 4: Сторонние приложения
- Способ 1: TCPView
- Способ 2: PortQry
- Вариант 5: Веб-интерфейс маршрутизатора
- Вопросы и ответы: 0
Важно! Большая часть описанных в этой статье способов просмотра открытых портов являются универсальными для всех операционных систем семейства Windows, оставшиеся подойдут только для определенных версий. Об этом будет указанно непосредственно в тексте. Несмотря на это, все скриншоты, приведенные в статье, сделаны в Windows 10, но отличия в них заключаются исключительно в графическом оформлении интерфейса.
Вариант 1: Брандмауэр
Все открытые в системе порты фиксируются в брандмауэре, соответственно, их можно посмотреть там. Для этого выполните следующее:
- Откройте главное окно брандмауэра. Сделать это можно разными способами, универсальный подразумевает использование ввода специальной команды в утилите «Выполнить». Для этого сначала вызовите ее сочетанием клавиш Win + R, а затем впишите в поле «Открыть» команду
control firewall.cplи нажмите Enter.Читайте также: Настройка брандмауэра в Windows 11 / 10 / 7
- В открывшемся окне щелкните по пункту «Дополнительные параметры», расположенному на боковой панели слева.
- В новом меню на навигационной панели слева нажмите по пункту «Правила для входящих подключений».
- Найдите в списке интересующее вас разрешающее подключение (пункт, отмеченный зеленной галочкой) и откройте его «Свойства». Для этого щелкните дважды кнопкой мыши по названию.
- В появившемся окне проследуйте на вкладку «Протоколы и порты» и найдите поле «Локальный порт» — именно там и указаны искомые данные.
- Таким же образом проверьте оставшиеся подключения, чтобы узнать все открытые порты.
Обратите внимание! Этот способ не предоставляет сразу весь список открытых портов, их потребуется проверять каждый раз отдельно, что не очень удобно. Но таким образом вы сможете узнать дополнительную информацию выбранного подключения в окне его «Свойств».
Вариант 2: Консольные утилиты
Посмотреть сразу все открытые порты в операционной системе можно путем ввода специальной команды в консольных утилитах. Притом они будут различаться в «Командной строке» и «Windows PowerShell».
Способ 1: «Командная строка»
В «Командной строке» можно вывести перечень всех открытых портов с помощью команды netstat. Она также имеет дополнительные параметры, которые позволяют гибко настроить вывод данных. Этой утилите у нас на сайте посвящена отдельная статья, в которой подробно рассмотрено ее использование. Воспользуйтесь ссылкой ниже, чтобы ознакомиться с изложенной там инструкцией.
Подробнее: Использование команды netstat для просмотра открытых портов
Способ 2: «Windows PowerShell»
Аналогичные сведения можно посмотреть в «Windows PowerShell», для этого потребуется воспользоваться командой Get-NetTCPConnection.
- Сначала нужно запустить саму консоль от имени администратора. Во всех операционных системах это можно сделать через поиск. Вызовите его сочетанием клавиш Win + S и в появившееся поле введите запрос «Windows Powershell», а затем в результатах кликните правой кнопкой мыши по искомому приложению и воспользуйтесь пунктом «Запуск от имени администратора». При необходимости после этого подтвердите запуск, нажав по кнопке «Да» в появившемся диалоговом окне контроля учетных записей.
- Теперь можете ввести в окно консоли команду
Get-NetTCPConnectionи нажать Enter. По итогу на экране появится перечень всех портов TCP в системе, включая закрытые. - Чтобы отобразить список только открытых, необходимо воспользоваться параметром
-Stateсо значениемListen. Итоговая команда будет выглядеть следующим образом:Get-NetTcpConnection -State Listen - Если вы хотите просмотреть информацию о конечной точке UDP, тогда команда будет другой:
Get-NetUDPEndpoint. Запущенная без опций, она вернет список только локальных портов. - Если необходимо просмотреть сетевые интерфейсы, тогда к команде потребуется добавить дополнительный параметр. В итоге она будет выглядеть следующим образом:
Get-NetUDPEndpoint | Where-Object {($_.LocalAddress -eq "0.0.0.0") -or ($_.LocalAddress -eq "::")}Вы увидите только открытые удаленные порты UDP, локальные в перечне будут отсутствовать.
Вариант 3: Онлайн-сервисы
В интернете есть специальные сервисы, которые позволяют вывести информацию о всех открытых на компьютере портах. Это удобный способ, который не подразумевает использования штатных средств операционной системы и ввода специальных консольных команд. В сети есть множество решений для выполнения поставленной задачи, о трех из них детально рассказывается в отдельной статье на нашем сайте.
Подробнее: Онлайн-сервисы для проверки портов компьютера
Вариант 4: Сторонние приложения
Компания Microsoft для просмотра информации о состоянии портов выпустила два отдельных приложения. Они различаются набором дополнительных функций, но одинаково хорошо подходят для выполнения поставленной задачи.
Способ 1: TCPView
TCPView — это приложение с графическим интерфейсом, которое предоставляет сведения о процессах, запущенных в операционной системе. Также в нем отображается их принадлежность к определенному порту и протоколу передачи данных. Чтобы воспользоваться всеми функциями программы, потребуется изначально скачать ее на компьютер. Для этого перейдите на официальный сайт разработчика, воспользовавшись кнопкой ниже.
Скачать TCPView с официального сайта
Теперь выполните описанные далее действия, чтобы получить данные об открытых портах компьютера:
- Находясь на странице загрузки приложения, кликните по строке «Download TCPView». Точное ее расположение показано на изображении ниже.
- После завершения загрузки перейдите в папку, в которую вы сохранили файл, и извлеките их из архива. Сделать это можно как встроенными средствами операционной системы, так и с помощью стороннего программного обеспечения. Об этом подробнее рассказывается в другой статье на нашем сайте.
Подробнее: Методы извлечения из архива папки с файлами
- Затем перейдите в извлеченную директорию и запустите исполняемый файл приложения «Tcpview.exe». Устанавливать его не потребуется, так как программа является портативной.
- В открывшемся окне будут отображаться все запущенные процессы, их название находится в столбце «Process», а используемые ими порты указаны в столбце «Local Port». Соответственно, все они являются в настоящее время открытыми.
- Дополнительно можете пролистать страницу программы вправо до столбца «State» — именно там отображается состояние каждого порта. Он может прослушиваться, находиться в ожидании или вовсе не использоваться. Но, несмотря на это, каждый находящийся в списке порт является открытым.
Способ 2: PortQry
PortQry — это тоже приложение от компании Microsoft для просмотра открытых портов, только она не имеет графического интерфейса, поэтому пользоваться ей возможно только через «Командную строку».
Скачать PortQry с официального сайта
Эта программа не является портативной, в отличие от разобранной ранее в статье, поэтому ее потребуется инсталлировать, предварительно скачав на компьютер. А потом можно будет запустить утилиту в консоли и проверить открытые порты.
- Перейдя на страницу загрузки приложения, нажмите по кнопке «Download», чтобы начать скачивание инсталляционного файла.
- После того как загрузка завершится, перейдите в директорию со скачанным файлом и запустите его двойным кликом по названию. Затем в появившемся окне примите условия лицензионного соглашения и продолжайте следовать инструкциям инсталлятора.
Важно! Оставьте путь установки программы по умолчанию, чтобы при выполнении последующих действий, описанных в этой инструкции, не появлялось ошибок.
- Закройте окно инсталлятора и запустите «Командую строку» от имени администратора, например через поиск по системе. Вызовите соответствующий интерфейс комбинацией клавиш Win + S, введите запрос и в результатах щелкните по пункту «Запуск от имени администратора».
Читайте также: Как запустить «Командную строку» от имени администратора в Windows 11 / 10
- Проследуйте в директорию, в которую было установлено приложение. По умолчанию это
C:\PortQryV2. Чтобы туда перейти, следует ввести и выполнить следующую команду:cd C:\PortQryV2 - Запустите приложение с параметром
-local, чтобы вывести на экран список всех открытых портов в операционной системе.portqry.exe -localТеперь, спускаясь по консоли вниз, вы будете видеть тип подключения, номер порта, его адрес (внешний и внутренний) и статус.
Вариант 5: Веб-интерфейс маршрутизатора
Оставшийся способ просмотра открытых портов на компьютере подразумевает вход в админ-панель роутера. Для этого необходимо знать логин и пароль, а по умолчанию они соответствуют тем, что указаны на корпусе устройства. Развернуто о том, как войти в меню маршрутизатора, рассказывается в другой статье на нашем сайте. При необходимости воспользуйтесь ссылкой ниже, чтобы ознакомиться с изложенной там информацией.
Подробнее: Как войти в веб-интерфейс роутера
Важно! В админ-панели маршрутизатора можно посмотреть только те порты, которые были заданы по умолчанию или созданы вручную пользователем. Так что посмотреть абсолютно все порты этим способом не получится. Также следует учитывать, что все дальнейшие действия будут выполняться на примере админ-панели роутера TP-Link, но в других моделях устройств все будет похожим.
- Перейдите в меню роутера, после чего проследуйте в раздел «Forwarding», воспользовавшись навигационной панелью в левой части интерфейса.
- В развернувшемся списке подразделов кликните по пункту «Port Triggering», чтобы перейти к списку открытых портов.
- В целевом меню размещен список всех портов маршрутизатора. В нем номер находится в столбце «Trigger Port», а в «Status» вы можете посмотреть его статус. Значение «Enabled» означает, что порт открыт, а «Disabled» — закрыт. Также вы можете менять этот статус вручную, нажав по соответствующей кнопке.
Наша группа в TelegramПолезные советы и помощь
Проверка доступности портов — нужный шаг при диагностике сетевых проблем. Иногда невозможно подключиться к серверу или другому устройству, и часто виной тому закрытый или недоступный порт.
В этой статье разберемся, как проверить UDP порты на доступность, как определить, открыт ли он на локальном хосте и удалённом сервере, а также какие инструменты и команды можно использовать для диагностики.
Что такое порт?
Когда мы говорим про порт в контексте сети, представим, что интернет — огромный дом с множеством комнат. Каждая комната — сервис или программа, которая работает на компьютере или сервере. Чтобы попасть в нужную комнату (или к нужному сервису), нужно найти правильную дверь — вот эта дверь и называется портом.
Каждому сервису в сети (будь то сайт, почтовая служба, видеозвонки и так далее) выделяется свой уникальный порт. Он служит своего рода адресом для связи с этим сервисом. Например:
- Сайт работает через порт 80 (HTTP), это как дверь, через которую мы входим на сайт.
- Если мы используем почту, это будет порт 25 для отправки писем (SMTP), а для получения — 110 (POP3).
- Если мы общаемся по Skype, это будет какой-то другой порт для видео- и аудиосвязи.
Каждый порт в интернете и в сети — как дверь в доме, и для правильной работы сервисов важно, чтобы эти «двери» были открыты.
Что такое UDP порт?
Если с обычными (например, для сайтов или почты) всё понятно, то с UDP портами немного сложнее.
UDP (User Datagram Protocol) — один из способов передачи данных по сети. Он отличается от TCP (Transmission Control Protocol) тем, что работает быстрее, но не гарантирует доставку данных.
UDP используют для обмена данными в ситуациях, когда важно не потерять время на проверку, дошли ли данные, и лучше, чтобы они отправлялись как можно быстрее. Например:
- Онлайн-игры. Ты играешь, и тебе нужно отправлять команды на сервер с минимальной задержкой. Используется UDP, чтобы быстро передавать данные, без проверок на доставку.
Что такое «проверка доступности порта»?
Если пытаешься подключиться к какому-то сервису (например, открыть сайт), но ничего не получается, возможно, нужная «дверь» закрыта. В таком случае, чтобы узнать, открыта ли нужная дверь, мы и делаем проверку порта.
Как проверить порт на локальном хосте
Проверка порта на локальном компьютере — первый шаг, который поможет понять, доступен ли он на вашем устройстве. Простой инструмент netstat и другие команды командной строки быстро покажут, открытость для внешних соединений.
Проверить порт с помощью netstat
Netstat — одна из самых простых утилит для диагностики сетевых соединений. Она позволяет проверить активные подключения и определить, какие порты открыты на компьютере.
Откройте Командную строку (нажмите Win + R, введите cmd и нажмите Enter).
Введите команду:
netstat -an | find «UDP»
В результате получите список активных UDP-соединений, включая номера портов. Если в списке присутствует нужный, значит, он открыт.
Если хотите увидеть активные TCP-соединения, замените «UDP» на «TCP».
Проверка порта с помощью Telnet
Telnet — утилита, которая позволяет проверить доступность конкретного порта на вашем компьютере. Если открыт, соединение устанавливается, и вы можете работать с ним.
Откройте Командную строку.
Введите команду:
telnet localhost [номер_порта]
Если порт доступен, Telnet установит соединение. Если нет — отобразится сообщение о невозможности подключения.
Как проверить порт на удалённом сервере
Теперь, когда разобрались с проверкой на локальном хосте, давайте посмотрим, как проверить UDP порт на удалённом сервере. Для этого существуют специальные инструменты и команды.
Использование утилиты PortQry
Для проверки доступности порта на удалённом сервере можно использовать утилиту PortQry. Это мощный инструмент от Microsoft, который позволяет сканировать порты на удалённом сервере, включая как TCP, так и UDP.
Откройте командную строку и используйте команду для проверки порта:
portqry -n [IP_адрес_сервера] -p udp -e [номер_порта]
- Где:
- [IP_адрес_сервера] — это IP-адрес удаленного сервера.
- -p udp указывает, что мы проверяем UDP порт.
- -e [номер_порта] — это номер, который нужно проверить.
- Если открыт, утилита отобразит сообщение о том, что порт доступен.
Проверка через Telnet
Как и для локального хоста, вы можете использовать Telnet для проверки доступности на удалённом сервере. Для этого просто укажите IP-адрес сервера и порт:
В командной строке введите команду:
telnet [IP_адрес_сервера] [номер_порта]
Если порт открыт, соединение будет установлено. В противном случае отобразится ошибка.
Использование Nmap
Nmap — один из самых мощных инструментов для сканирования портов. Он позволяет не только проверять открытые порты, но и проводить подробный анализ безопасности.
Для проверки используйте команду:
nmap -p [номер_порта] [IP_адрес_сервера]
Nmap отобразит информацию о статусе, а также другие данные о сервере.
Используем утилиту PortQry для сканирования открытых UDP и TCP портов
Если хотите провести более тщательную проверку и сканирование доступных портов на сервере, PortQry предлагает дополнительные функции, такие как возможность сканировать диапазоны портов и получать подробные отчёты.
Для проверки нескольких сразу можно указать диапазон в утилите PortQry:
portqry -n [IP_адрес_сервера] -p udp -r [начальный_порт]-[конечный_порт]
Эта команда проверит все порты в заданном диапазоне и сообщит о доступности каждого из них.
Расширенный статус сетевых служб в PortQry
PortQry позволяет не только проверять доступность порта, но и получать подробную информацию о статусе сетевых служб, работающих на удалённом сервере. Вы можете проверить, какие службы слушают порты и какие из них доступны для соединений.
Для получения информации о статусе служб используйте команду:
portqry -n [IP_адрес_сервера] -p udp -e [номер_порта] -v
Флаг -v позволяет получить более подробную информацию о статусе и его состоянии.
Теперь вы знаете, как проверить UDP порт на доступность как на локальном хосте, так и на удалённом сервере. С помощью инструментов, таких как PortQry, Telnet и Nmap, вы можете эффективно диагностировать проблемы с сетевыми подключениями и убедиться, что нужные порты открыты для связи.
33
33 people found this article helpful
You can use a Windows command or third-party utilities
What to Know
- Easiest: Open the Start menu > type command > right-click the Command Prompt app > Run as administrator.
- Type netstat -ab > press Enter > look for items in the «LISTENING» state.
- The alternative is to use a third-party app: We like TCPView, Nirsoft CurrPorts, and PortQry Command Line Port Scanner.
This article outlines how to check for open ports in Windows 10, which is necessary if an application cannot access the internet or you want to block an application.
How to Check If a Port Is Open With Netstat
The easiest way to check if a port is open on Windows 10 is by using the Netstat command. ‘Netstat’ is short for network statistics. It will show you what ports each internet protocol (like TCP, FTP, etc.) is currently using.
The command has many parameters, but the ones you’ll need to use to check if a port is open are (a), which provides the active ports, and (b), which will tell you the name of the processes using those ports.
-
Select the Start menu and type «command.» Right-click on the Command Prompt app and select Run as administrator.
-
Type netstat -ab and press Enter. You’ll see a long list of results, depending on what’s currently connecting to the network. You’ll see a list of running processes. The open port numbers will be after the last colon on the local IP address (the one on the left).
-
Look for the items on the list with a state of «LISTENING.» These are the processes that are communicating via one of the currently opened ports.
-
If you want to know the program’s name that has a specific port open, then type netstat -aon and press Enter. This command will show the protocol the app is using, the local and remote IP addresses, and most importantly, the PID of the application using that port (the number on the far right). Remember to look for the LISTENING status.
-
To find the application related to that PID, right-click the task manager and select Task Manager. Select the Details tab. Look in the PID field for the PID you noted from the command prompt screen.
How to Check If a Port Is Working Using Third-Party Apps
If you don’t want to use the command prompt to check for open ports, there are very easy-to-use third-party apps that can help.
TCPView
TCPView is a utility included in Microsoft Sysinternals that shows you a list of all running processes and their associated open ports. This app displays ports opening and closing and packet transfers, all in real-time.
Nirsoft CurrPorts
Nirsoft CurrPorts is another utility to see all ports currently being used by applications and services on your system. Just look for the local ports column to see which of your computer’s ports are active.
The list also includes ports that are being connected to on the remote end (the server out on the internet).
PortQry Command Line Port Scanner
Install PortQry Command Line Port Scanner for another command-line utility dedicated to scanning your computer for open ports. Once you install it, open Command Prompt in administrator mode. PortQry automatically installs in the C:\PortQryV2 directory, so change the directory of your command prompt to that directory.
Type the command portqry.exe -local to see all open TCP and UDP ports for your machine. It’ll show you everything you can see with the NetStat command, plus port mappings and how many ports are in each state.
What Is a Port?
Applications running on your computer reach out and get information and data from servers elsewhere on the internet. These applications and the server know how to communicate based on their IP address and the port number.
Think of the IP address as a street address and the port number as the apartment number. If either the server or application attempts to communicate using any other port number, it won’t work. Every other door will be «locked» because other ports are closed.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe
