Windows check udp port

Несмотря на то, что в 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

каталог portqry_v2

Чтобы проверить доступность 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 проверка доступности udp и tcp портов

Утилита 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.

portqry интерактивный режим сканирования в командной строке

С помощью аргументов –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).

portqry проверка портов и экземпляров 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 - графический интерфейс

Возможные коды ответа в 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.

Check udp port open

Check UDP port open

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:

  1. Open a packet sniffer.
  2. Send a User Datagram Protocol (UDP) packet.
  3. After sending the UDP packet, if you receive ‘ICMP port unreachable’ message, then the UDP port is closed.
  4. 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:

  1. Open the command prompt on your windows.
  2. 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:

  1. 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.
  2. 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:

  1. Download utilities available on Web. For e.g. Network Utilities Bundles.
  2. Install and launch the tool on your system.
  3. Click on the port check button and select the type of port.
  4. 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:

  1. When UDP port is available (open). Packets are accepted but the response is not sent.
  2. 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:

  1. 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.
  2. 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.

В операционных системах Windows есть множество инструментов для диагностики сетевых проблем, но иногда этих инструментов бывает недостаточно. Поэтому сегодня рассмотрим утилиту PortQry, предназначенную для устранения неполадок с сетевыми подключениями. Рассматривать будем на конкретном примере, взятом из практики.

Итак, есть подозрения на проблему с DNS, и нам надо ее решить. Симптомы — не разрешаются внешние DNS-имена. В качестве основного DNS указан сервер Google (8.8.8.8) и нам надо проверить его доступность.

Для диагностики работоспособности DNS-сервера отправляем на него запрос с помощью утилиты nslookup и видим, что он не отвечает, соответственно адреса внешних ресурсов не резолвятся.

проверка разрешения имени

Проверяем доступность сервера. Пинг проходим успешно.

проверка доступности DNS сервера

Для проверки портов я обычно использую telnet, но сейчас для наглядности возьму PowerShell командлет Test-NetConnection. Проверяем доступность сервера по 53 порту и видим, что он открыт.

проверка доступности порта с помощью powershell

Пока все идет по плану 🙂

Но Test-NetConnection, как и горячо любимый мной telnet-клиент, умеет проверять только протокол TCP, а DNS-сервера для запросов используют UDP.

Примечание. Поскольку UDP-пакеты имеют небольшой размер, и не могут превышать 512 байт, для передачи данных, превышающих 512 байт, требуется протокол TCP.  Поэтому DNS использует TCP для передачи зон, а для обычного разрешения имен используется UDP.

И вот тут на сцену выходит PortQry. Это утилита командной строки, предназначенная для диагностики проблем с сетевой доступностью. Она умеет проверять состояние портов TCP и UDP как на локальном, так и на удаленном компьютере.

Сторонней утилиту назвать не поворачивается язык, поскольку ее разработчиком является сама компания Microsoft. Соответственно скачать утилиту можно с их официального сайта. На данный момент доступна вторая версия утилиты PortQryV2.

Установки утилита не требует, а дистрибутив представляет из себя обычный самораспаковывающийся архив. Для использования PortQry надо согласиться с лицензионным соглашением

и распаковать утилиту в любое удобное место.

Дальше остается только перейти в каталог с утилитой и запустить ее. Запуск без параметров выводит справочную информацию.

вывод справки

Утилита может работать в нескольких режимах. Начнем с простого режима командной строки. В этом режиме формат команды проверки доступности портов на удаленном сервере следующий:

PortQry-n <name> [options]

где основные опции команды:

-n <name> – имя или IP-адрес компьютера для запроса. Это единственный обязательный параметр для режима командной строки. Это значение не может содержать пробелы;
-e <port_number> — порт для запроса. Может иметь значение от 1 до 65535, по умолчанию используется 80;
-p <protocol> —  протокол запроса. Это иметь значение TCP, UDP или BOTH, по умолчанию используется TCP.

Для проверки доступности DNS-сервера 8.8.8.8 по 53 порту UDP выполним следующую команду:

PortQry-n 8.8.8.8 -e 53 -p UDP

проверка доступности UDP порта с помощью PortQry

По результату запроса для указанного порта PortQry возвращает одно из трех состояний:

• Listening – указанный порт доступен и принимает входящие подключения, ответ от него получен;
Not Listening – по указанному адресу нет процесса (службы и т.п.), который принимает подключения на заданном порту. При проверке доступности ресурса по ICMP утилита PortQry получила ответ Destination Unreachable с кодом Port Unreachable;
• Filtered – утилита PortQry не получила ответа от указанного порта, либо ответ был отфильтрован. Т.е. на целевой системе указанный порт никто не слушает, либо доступ к нему ограничен, например  файерволом. По умолчанию PortQry запрашивает TCP-порт три раза, а UDP-порт один раз, прежде чем возвращает ответ Filtered.

В нашем случае ответ Filtered, т.е. удаленный ресурс доступен, но по указанному порту не отвечает. Что собственно и подтверждает наши подозрения 🙂

Добавив ключ -i можно запустить утилиту в интерактивном режиме:

PortQry-i -n 8.8.8.8 -e 53 -p UDP

и выполнить запрос командой

q

проверка доступности UDP порта с помощью PortQry в интерактивном режиме

В интерактивном режиме можно на лету менять параметры запроса. Для примера изменим адрес сервера:

node 77.88.8.8

протокол:

set protocol=both

и еще раз отправим запрос:

q

Как видите, этот DNS-сервер доступен по всем портам.

Ну и для выхода из интерактивного режима надо набрать:

exit

работа с PortQry в интерактивном режиме

В итоге диагностика успешно проведена, проблемы выявлена и устранена. А я еще немного расскажу об утилите.

При работе в интерактивном режиме можно использовать готовые профили служб. Для примера проверим наш многострадальный DNS-сервер. Запустим утилиту в интерактивном режиме:

PortQry-i

укажем адрес сервера:

node 8.8.8.8

и запустим проверку с помощью предустановленного профиля DNS:

q dns

Эта команда проверяет указанный сервер по 53 порту TCP и UDP и эквивалентна команде:

PortQry -n 8.8.8.8 -p both -e 53

использование профиля службы

Профили есть для следующих служб.

Профиль Порты для запроса
dns TCP-порт 53, UDP-порт 53
ftp TCP-порт 21
imap TCP-порт 143
ipsec UDP-порт 500
isa TCP-порт 1745, UDP-порт 1745
ldap TCP-порт 389, UDP-порт 389
l2tp UDP-порт 1701
mail TCP-порты 25, 110 и 143
pop3 TCP-порт 110
rpc TCP-порт 135, UDP-порт 135
smtp TCP-порт 25
snmp UDP-порт 161
sql TCP-порт 1433, UDP-порт 1434
tftp UDP-порт 69

Также PortQry умеет не просто стучаться по указанным портам, но и производить расширенную диагностику для некоторых сетевых служб. Например при отправке запроса на SMTP-сервер она не только покажет состояние порта, но и выведет приветственный баннер:

PortQry-n smtp.yandex.ru -e 25

проверка доступности SMTP

А при обращении к контроллеру домена по 389 порту отправит LDAP-запрос:

PortQry -n srv01.test.local -e 389 -p udp

проверка доступности LDAP

Еще в PortQry есть локальный режим, с помощью которого можно диагностировать проблемы на локальной системе. Например следующая команда выведет список всех открытых портов на локальном компьютере:

PortQry -local

вывод состояния локальных портов

Примечание. В документации заявлено, что с помощью параметра -wport можно выполнить проверку состояния указанного порта, а параметр -wpid  выводит состояние всех портов, связанных с указанным процессом на локальном хосте. Но тут есть нюанс — ни на одной системе у меня эти параметры не сработали, при попытке выполнить команду я стабильно получал сообщение ″Port to process mapping is not supported on this system″.

Ну и для тех, кто не любит набирать команды вручную, есть PortQryUI — вариант PortQry с графической оболочкой. Устанавливается так же, как и консольный вариант утилиты, при запуске открывается окошко, в котором надо указать имя или IP адрес удаленного сервера, порт и протокол для проверки. Также можно выбрать из списка предустановленны профиль службы.

запуск PortQry в графическом режиме

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

  • 0 (0x00000000) –  соединении успешно установлено, порт доступен. Аналогично состоянию Listening;
  • 1 (0x00000001) – порт недоступен. Нет процесса, который принимает подключения на заданном порту, либо хост недоступен. Аналогично состоянию Not Listening;
  • 2 (0x00000002 –  не получен ответ от указанного порта, либо ответ был отфильтрован. Аналогично состоянию Filtered.

Как видите, утилита PortQry одна может заменить кучу инструментов для диагностики сетевых проблем, а в случае с UDP она вообще незаменима. На сайте Microsoft можно найти подробную документацию и примеры использования утилиты. Так что крайне рекомендую.

udp порт

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

В этой статье разберемся, как проверить UDP порты на доступность, как определить, открыт ли он на локальном хосте и удалённом сервере, а также какие инструменты и команды можно использовать для диагностики.

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

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

Каждому сервису в сети (будь то сайт, почтовая служба, видеозвонки и так далее) выделяется свой уникальный порт. Он служит своего рода адресом для связи с этим сервисом. Например:

  • Сайт работает через порт 80 (HTTP), это как дверь, через которую мы входим на сайт.

UDP порт

  • Если мы используем почту, это будет порт 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 порт

В результате получите список активных UDP-соединений, включая номера портов. Если в списке присутствует нужный, значит, он открыт.

Если хотите увидеть активные TCP-соединения, замените «UDP» на «TCP».

Проверка порта с помощью Telnet

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

Откройте Командную строку.

Введите команду:
telnet localhost [номер_порта]

проверить UDP порт

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

Как проверить порт на удалённом сервере

Теперь, когда разобрались с проверкой на локальном хосте, давайте посмотрим, как проверить UDP порт на удалённом сервере. Для этого существуют специальные инструменты и команды.

Использование утилиты PortQry

Для проверки доступности порта на удалённом сервере можно использовать утилиту PortQry. Это мощный инструмент от Microsoft, который позволяет сканировать порты на удалённом сервере, включая как TCP, так и UDP.

Откройте командную строку и используйте команду для проверки порта:
portqry -n [IP_адрес_сервера] -p udp -e [номер_порта]

  1. Где:
  • [IP_адрес_сервера] — это IP-адрес удаленного сервера.
  • -p udp указывает, что мы проверяем UDP порт.
  • -e [номер_порта] — это номер, который нужно проверить.
  1. Если открыт, утилита отобразит сообщение о том, что порт доступен.

проверить порт

Проверка через 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, вы можете эффективно диагностировать проблемы с сетевыми подключениями и убедиться, что нужные порты открыты для связи.

Введение

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

В этой статье мы подробно рассмотрим различные методы проверки UDP и TCP портов, начиная от встроенных системных утилит и заканчивая специализированными инструментами. Особое внимание уделим проверке UDP портов, которая имеет свои особенности по сравнению с проверкой TCP портов из-за специфики самого протокола.

Что такое порты и протоколы

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

Определение порта

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

Типы портов по назначению:

Общеизвестные порты (0-1023)

Зарезервированы для стандартных служб, таких как:

  • HTTP (80)
  • HTTPS (443)
  • FTP (21)
  • SSH (22)
  • DNS (53)

Зарегистрированные порты (1024-49151)

Используются приложениями и сервисами, регистрируемыми IANA, например:

  • MySQL (3306)
  • PostgreSQL (5432)
  • MongoDB (27017)
  • RDP (3389)

Динамические порты (49152-65535)

Используются временно для клиентских соединений. Операционная система автоматически назначает их процессам, которым необходимо инициировать соединение.

Основные сетевые протоколы:

TCP (Transmission Control Protocol)

  • Устанавливает соединение перед передачей данных
  • Гарантирует доставку и правильный порядок пакетов
  • Контролирует перегрузку сети
  • Используется для надёжной передачи (веб, электронная почта, файлы)

UDP (User Datagram Protocol)

  • Отправляет данные без установления соединения
  • Не гарантирует доставку и порядок пакетов
  • Минимальная задержка и накладные расходы
  • Используется для потоковой передачи, игр, VoIP

Особенности UDP-протокола

Проверка UDP-портов имеет свои особенности, обусловленные спецификой самого протокола. UDP (User Datagram Protocol) — это простой, ориентированный на передачу дейтаграмм протокол транспортного уровня, который работает без установления соединения.

Ключевые характеристики UDP

  • Отсутствие подтверждения доставки: UDP не требует подтверждения получения отправленных пакетов, что усложняет определение открытости порта.
  • Отсутствие контроля потока: UDP не контролирует скорость передачи данных, что может привести к перегрузке сети.
  • Низкие накладные расходы: Отсутствие накладных расходов на установление и поддержание соединения делает UDP быстрее TCP.
  • Без сохранения порядка пакетов: Пакеты могут прибывать в произвольном порядке или не прибывать вообще.

Где используется UDP

  • Потоковое видео и аудио: Netflix, YouTube, Spotify используют UDP для передачи мультимедийного контента.
  • Онлайн-игры: Для минимизации задержки в многопользовательских играх.
  • VoIP-сервисы: Skype, Discord, Zoom используют UDP для передачи голоса и видео.
  • DNS-запросы: Система доменных имён использует UDP для быстрой обработки запросов.
  • VPN-соединения: Многие VPN-протоколы используют UDP для повышения скорости.

Сложности проверки UDP-портов

Из-за природы протокола UDP проверка его портов сложнее, чем проверка TCP-портов:

  1. Отсутствие «рукопожатия»: В отличие от TCP, UDP не выполняет процедуру установления соединения (трёхстороннее рукопожатие), что усложняет определение, открыт порт или нет.
  2. Неоднозначные ответы: Отсутствие ответа от UDP-порта может означать как то, что порт закрыт, так и то, что пакет был потерян или отфильтрован сетевым оборудованием.
  3. Поведение брандмауэров: Многие брандмауэры и маршрутизаторы блокируют или игнорируют UDP-трафик, что затрудняет диагностику.
  4. Специфика приложений: Некоторые приложения ожидают определённый формат UDP-пакетов и игнорируют другие, что может привести к ложным выводам о закрытости порта.

Проверка локальных портов

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

Использование команды netstat

Утилита netstat (network statistics) является универсальным инструментом для отображения сетевых соединений, таблиц маршрутизации и сетевых интерфейсов. Она доступна в Windows, Linux и macOS.

Проверка UDP-портов в Windows

netstat -a -p UDP

Эта команда отображает все UDP-соединения и прослушиваемые порты.

Проверка UDP-портов в Linux/macOS

netstat -lnu

Где: -l (прослушиваемые порты), -n (числовые адреса), -u (UDP-протокол)

Использование команды ss в Linux

В современных Linux-дистрибутивах команда ss (socket statistics) часто предпочтительнее netstat из-за более высокой производительности и дополнительной информации.

Проверка UDP-портов с помощью ss

ss -lnu

Эта команда отображает все прослушиваемые UDP-порты с числовыми адресами.

Использование lsof в Linux/macOS

Команда lsof (list open files) позволяет увидеть, какие процессы используют определённые файлы, включая сетевые сокеты.

Проверка UDP-портов с помощью lsof

sudo lsof -i UDP

Эта команда отображает все процессы, использующие UDP-соединения.

Интерпретация результатов:

  • LISTEN или LISTENING: порт открыт и приложение прослушивает входящие соединения
  • ESTABLISHED: активное соединение между локальным и удалённым хостом
  • UDP без статуса: порт открыт для UDP-соединений (из-за специфики протокола UDP, который не устанавливает соединение)
  • Столбец PID/Program name (или эквивалентный): показывает, какое приложение использует порт

Использование PowerShell в Windows

PowerShell предоставляет более мощные возможности для проверки сетевых соединений в Windows.

Проверка UDP-портов с помощью PowerShell

Get-NetUDPEndpoint | Format-Table LocalAddress, LocalPort, OwningProcess

Эта команда отображает все UDP-эндпоинты с указанием их локальных адресов, портов и идентификаторов процессов.

Проверка удалённых портов

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

Использование Nmap

Nmap (Network Mapper) — мощный инструмент для сканирования сети, который позволяет проверять как TCP, так и UDP порты. Доступен для Windows, Linux и macOS.

Базовое сканирование UDP-портов

sudo nmap -sU 192.168.1.1

Эта команда сканирует наиболее распространённые UDP-порты на указанном IP-адресе.

Сканирование конкретных UDP-портов

sudo nmap -sU -p 53,67,68,123,161 192.168.1.1

Эта команда проверяет только указанные UDP-порты (DNS, DHCP, NTP, SNMP).

Расширенное сканирование с определением сервисов

sudo nmap -sU -sV -p 1-1000 192.168.1.1

Команда сканирует UDP-порты с 1 по 1000 и пытается определить версии сервисов.

Важное замечание о Nmap

  • UDP-сканирование значительно медленнее TCP-сканирования из-за особенностей протокола.
  • Для UDP-сканирования обычно требуются привилегии администратора/root.
  • Некоторые брандмауэры и IDS могут блокировать или регистрировать сканирование как подозрительную активность.
  • Результаты UDP-сканирования менее надёжны, чем TCP, и могут давать ложноположительные или ложноотрицательные результаты.

Использование PortQry (Windows)

PortQry — специализированный инструмент от Microsoft для диагностики портов. Он особенно хорошо подходит для проверки UDP-портов в среде Windows.

Базовая проверка UDP-порта

portqry -n 192.168.1.1 -p udp -e 53

Эта команда проверяет UDP-порт 53 (DNS) на указанном IP-адресе.

Проверка нескольких портов с версией 2

portqryv2 -n 192.168.1.1 -p udp -r 1-1024

PortQry версии 2 позволяет сканировать диапазоны портов UDP.

Использование nc (netcat)

Netcat — универсальный сетевой инструмент, часто называемый «швейцарским ножом для TCP/IP». Доступен для Linux, macOS и Windows (через Cygwin или WSL).

Проверка UDP-порта с помощью netcat

nc -vzu 192.168.1.1 53

Где: -v (подробный вывод), -z (сканирование без передачи данных), -u (UDP-протокол)

Проверка нескольких портов

nc -vzu 192.168.1.1 53 123 161

Эта команда проверяет несколько UDP-портов (DNS, NTP, SNMP) одновременно.

Интерпретация результатов удалённого сканирования:

  • open — порт доступен и сервис отвечает
  • closed — порт недоступен, но хост доступен
  • filtered — невозможно определить, открыт порт или закрыт (обычно из-за брандмауэра)
  • open|filtered (для UDP) — нет ответа, что может означать как открытый порт, так и фильтрацию

Онлайн-сервисы проверки портов

Помимо локальных утилит, существуют онлайн-сервисы, которые позволяют проверять доступность портов из внешней сети. Это особенно полезно для проверки публичных серверов или выявления проблем с NAT и брандмауэрами.

CanYouSeeMe.org

Простой сервис для проверки доступности портов с внешней стороны интернета.

  • Проверяет, доступны ли ваши порты из интернета
  • Простой интерфейс ввода порта и протокола
  • Не требует установки программного обеспечения

PortChecker.co

Онлайн-инструмент для проверки открытых портов и переадресации портов.

  • Поддерживает проверку TCP и UDP портов
  • Показывает ваш внешний IP-адрес
  • Содержит руководства по настройке переадресации

YouGetSignal

Многофункциональный сетевой инструмент с различными опциями проверки.

  • Проверка открытых портов
  • Сканирование нескольких портов одновременно
  • Дополнительные сетевые инструменты (трассировка, пинг)

IPVoid

Набор онлайн-инструментов для проверки IP и портов.

  • Проверка открытых портов по IP-адресу
  • Поддержка TCP и некоторых UDP-портов
  • Информация о географическом местоположении IP

Преимущества и ограничения онлайн-сервисов

Преимущества:

  • Не требуют установки программного обеспечения
  • Проверяют порты с внешней стороны интернета
  • Позволяют обнаружить проблемы с NAT и брандмауэрами
  • Простота использования для неспециалистов

Ограничения:

  • Ограниченная поддержка UDP-портов
  • Невозможность проверки локальной сети
  • Ограниченные возможности диагностики
  • Потенциальные проблемы с безопасностью

При использовании онлайн-сервисов для проверки портов важно учитывать, что они могут быть заблокированы вашим интернет-провайдером или корпоративной сетью. Кроме того, они обычно имеют ограниченные возможности по проверке UDP-портов из-за особенностей протокола.

Распространённые проблемы с портами

При проверке доступности портов, особенно UDP, могут возникать различные проблемы. Рассмотрим наиболее распространённые из них и способы их решения.

Брандмауэры и фильтрация

Проблема: Брандмауэры могут блокировать UDP-трафик, особенно входящий.

Решение:

  1. Проверьте настройки брандмауэра операционной системы
  2. Настройте правила для разрешения UDP-трафика на нужных портах
  3. Временно отключите брандмауэр для тестирования (только в безопасной среде)
  4. Проверьте корпоративные политики безопасности

NAT и переадресация портов

Проблема: Многие маршрутизаторы используют NAT (трансляцию сетевых адресов), которая может мешать UDP-соединениям.

Решение:

  1. Настройте переадресацию портов на маршрутизаторе
  2. Используйте UPnP (Universal Plug and Play), если это поддерживается
  3. Рассмотрите возможность использования DMZ для тестовых серверов
  4. Проверьте настройки NAT ALG (Application Layer Gateway) для UDP

Ложные результаты при UDP-сканировании

Проблема: UDP-сканирование часто даёт неоднозначные результаты из-за отсутствия подтверждений.

Решение:

  1. Используйте специализированные инструменты (Nmap с параметрами -sUV)
  2. Проверяйте результаты несколькими методами
  3. Отправляйте специфичные для приложения UDP-пакеты
  4. Используйте tcpdump или Wireshark для анализа трафика

Интернет-провайдеры и блокировка

Проблема: Некоторые провайдеры блокируют определённые UDP-порты для предотвращения злоупотреблений.

Решение:

  1. Свяжитесь с провайдером для уточнения политики фильтрации
  2. Используйте альтернативные порты (если это возможно)
  3. Рассмотрите возможность использования VPN или прокси
  4. Проверьте порты с подключения другого провайдера

Рекомендации по безопасной проверке портов

  • Получите разрешение перед сканированием: Несанкционированное сканирование портов может быть незаконным или нарушать политики безопасности.
  • Сканируйте только свои системы: Без явного разрешения сканируйте только те системы, которыми вы владеете или управляете.
  • Используйте ограниченное сканирование: Сканируйте только конкретные порты, а не полный диапазон, чтобы снизить нагрузку на сеть.
  • Документируйте результаты: Ведите журнал проверок портов для отслеживания изменений и обоснования действий.
  • Регулярно обновляйте инструменты: Устаревшие версии инструментов могут давать неточные результаты или содержать уязвимости.

Профессиональный тестер прокси с проверкой UDP

Для тех, кто использует прокси-серверы и нуждается в тщательной проверке их функциональности, включая поддержку UDP, мы рекомендуем использовать специализированный тестер ProxyTest от Tanatos.

Комплексная проверка прокси-серверов

Этот тестер является одним из наиболее полных инструментов для проверки прокси-серверов, поддерживающим различные форматы ввода адресов и проверку всех ключевых функций, включая UDP-протокол.

Поддерживаемые форматы ввода прокси:

host:port — HTTP прокси

host:port:user:pass — HTTP прокси с авторизацией

http://host:port:user:pass

user:pass@host:port — HTTP прокси с авторизацией

http://user:pass@host:port

socks5://host:port:user:pass — SOCKS5 прокси с авторизацией

socks5://host:port — SOCKS5 прокси без авторизации

socks5://user:pass@host:port — SOCKS5 прокси с авторизацией

Что проверяет тестер:
  • Получение IP через HTTP и HTTPS (IPv4 и IPv6)
  • Тестирование UDP по IP и имени хоста
  • Проверка DNS-утечек по TCP и UDP
  • Информация о fingerprint (отпечаток) системы
  • Скорость пинга для HTTP и HTTPS URL
  • Время отклика (RTT) между клиентом и прокси-сервером
Пример результата тестирования:

Testing proxy, socks5://5.161.81.244:5345

HTTP ipv4 get ip OK 172.56.165.147

HTTPS ipv4 get ip OK 172.56.165.147

HTTP ipv6 get ip FAIL not ipv6

HTTPS ipv6 get ip FAIL

Get UDP IP from own service OK 172.56.167.39

Test UDP by IP OK To 8.8.8.8:53

Test UDP by hostname OK

DNSleak by TCP OK OK 208.54.37.181 ( T-Mobile USA, Inc. ) , edns: NONE ;

DNSleak by UDP OK OK 208.54.37.179 ( T-Mobile USA, Inc. ) , edns: NONE ; 208.54.37.183 ( T-Mobile USA, Inc. ) , edns: NONE ;

P0F ipv4 INFO os: «Linux 2.2.x-3.x», RTT Proxy_Server — WebSite : 111 ms

P0F ipv6 INFO to be done

Ping HTTP URL FAIL 561 ms http://gmail.com

Ping HTTPS URL FAIL 863 ms https://gmail.com

RTT Proxy_Client — Proxy_Server INFO rtt 92 ms

Этот инструмент особенно полезен при проверке прокси для приложений, требующих поддержки UDP, таких как VoIP, онлайн-игры, потоковое вещание и некоторые VPN-решения. В отличие от многих других онлайн-тестеров, он предоставляет подробную информацию о UDP-функциональности и возможных утечках DNS.

Использование специализированного тестера, такого как ProxyTest, особенно важно при работе с UDP-портами, поскольку многие стандартные инструменты не дают полной картины из-за особенностей протокола. Комплексная проверка поможет вам убедиться, что ваш прокси-сервер или настройка портов работает корректно для всех типов соединений.

Заключение

Проверка доступности портов, особенно UDP-портов, является важным навыком для сетевых администраторов, разработчиков и специалистов по безопасности. Хотя UDP-протокол создаёт определённые сложности для диагностики из-за своей бесконнекционной природы, существует множество инструментов и методов, которые позволяют эффективно проверять доступность и функциональность UDP-портов.

В этой статье мы рассмотрели как локальные утилиты командной строки (netstat, ss, lsof, nmap, PortQry, netcat), так и онлайн-сервисы для проверки портов. Каждый метод имеет свои преимущества и ограничения, и выбор оптимального инструмента зависит от конкретной задачи, доступной платформы и требований к безопасности.

Для эффективной работы с сетевыми приложениями, особенно теми, которые используют UDP-протокол, иметь стабильное и быстрое подключение крайне важно. Coronium.io предлагает высококачественные мобильные 4G прокси, которые обеспечивают надёжное соединение, позволяющее обходить многие сетевые ограничения и блокировки, характерные для обычных IP-адресов.

Обеспечьте стабильное соединение для ваших приложений

Если вы работаете с приложениями, требующими стабильного UDP-соединения, такими как VoIP, онлайн-игры или потоковое вещание, наши мобильные 4G прокси помогут вам обеспечить надёжную связь и обойти многие ограничения. Мы предлагаем различные тарифные планы, круглосуточную техническую поддержку и гарантию качества.

Опубликовано

О Coronium.io

Coronium.io — ведущий поставщик мобильных 4G прокси для бизнеса, разработчиков и маркетологов. Мы предлагаем высококачественные прокси с реальными мобильными IP-адресами, обеспечивающие максимальную анонимность и безопасность при работе в сети. Наши решения идеально подходят для обхода географических ограничений, тестирования сетевых приложений, многопоточного парсинга данных и многих других задач.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Gigabyte ssd toolbox windows 7
  • Как восстановить меню пуск в windows 10 по умолчанию
  • Что значит средство записи образов дисков windows
  • Lenovo g580 windows 7 oem
  • Региональные настройки windows 10 заменить точку на запятую