PortQry - помощна програма за проверка на наличността на TCP / UDP портове от Windows

Въпреки факта, че Windows има много инструменти за диагностициране на проблеми в TCP / IP мрежи (ping, telnet, pathping и т.н.), не всички от тях ви позволяват удобно да проверявате състоянието или да сканирате отворени мрежови портове на отдалечен сървър. полезност PortQry.Търсейки е удобен инструмент за проверка на наличността на TCP / UDP портове на отдалечен сървър при диагностициране на проблеми, свързани с функционирането на различни услуги, както и наличието на защитни стени и защитни стени в TCP / IP мрежи. Най-често помощната програма Portqry се използва като по-функционална подмяна на telnet, а за разлика от telnet, тя също така позволява проверка на отворени UDP портове.

Съдържание:

  • Ние използваме PortQry за сканиране на отворени UDP и TCP портове.
  • Състояние на разширените мрежови услуги в PortQry
  • GUI за Portqry

Ние използваме PortQry за сканиране на отворени UDP и TCP портове.

Първата версия на Portqry за Windows Server 2003 не работи правилно с по-нови операционни системи (Windows Server 2008 и по-нова версия), така че втората версия на помощната програма е освободена по-късно PortQryV2. Именно тази версия трябва да се използва днес (можете да изтеглите помощната програма PortQryV2 от линка).

В Windows 10 можете да инсталирате portqry чрез мениджъра на пакети Chokolatey:

choco инсталирате portqry

Изтеглете и разархивирайте архива на PortQryV2.exe. Стартирайте командния ред и отидете в директорията с помощната програма, например:

cd c: \ tools \ PortQryV2

За да проверите наличието на DNS сървъра от клиента, трябва да проверите дали 53 TCP и UDP порта са отворени на него. Форматът на командата за проверка за наличност на порта на отдалечения сървър е както следва:

PortQry -n сървър [-p протокол] [-e || -r || -до крайна / и точка]

-п - име или IP адрес на сървъра, за който трябва да бъде проверен достъпът
-д -  номер на порт за проверка (от 1 до 65535)
-R - обхват на порт за проверка (напр. 1:80)
-р - Какъв протокол се използва за проверка. Тя може да бъде TCP, UDP или BOTH (TCP се използва по подразбиране).

забележка. За разлика от командлета PowerShell Test-NetConnection, който може да се използва само за проверка на наличността на TCP портове, PortQry поддържа както TCP, така и UDP протоколи..

В нашия пример командата ще бъде следната:

PortQry.exe -n 10.1.10.6 -p и двете -e 53

Помощната програма Portqry за всеки определен порт ще върне един от три състояния на наличност:

  • Слушане - означава, че указаният порт е наличен (приема връзки), от него е получен отговор;
  • не Слушане - Процесът (услугата), който приема връзки на посочения порт, не се изпълнява в целевата система. Portqry получи ICMP отговор „Destination Unreachable - Port Unreachable“ при проверка на UDP порта или TCP пакета със знака Reset;
  • филтриран - Помощната програма PortQry не получи отговор от посочения порт или отговорът беше филтриран. Т.е. в целевата система този порт или не слуша, или достъпът до него е ограничен от защитна стена или системни настройки. По подразбиране TCP портовете се анкетират 3 пъти, а UDP се анкетират един.

В нашия пример DNS сървърът е достъпен от клиента чрез TCP и UDP.

TCP порт 53 (домейна услуга): LISTENING UDP порт 53 (услуга на домейна): LISTENING

Използване на атрибут -о, Можете да определите последователността на портовете, които искате да сканирате:

portqry -n 10.1.10.6 -p tcp -o 21,110,143

Следващата команда ще сканира обхвата на „ниските“ TCP портове и ще върне списък от налични портове, които приемат връзки (помощната програма работи в режим на скенер на отворен порт):

portqry -n 10.1.10.6 -r 1: 1024 | намери ": СПИСЪК"

Можете да запазите резултатите от сканирането на отворени портове в текстов файл:

portqry -n 10.1.10.6 -p tcp -r 20: 500 -l logfile.txt

Утилитата portqry има интерактивен режим:

portqry -i

Сега в прозореца PortQry Interactive Mode можете да определите името на отдалечения компютър и порта.

възел srv-lic
зададен порт = 80

За да проверите пристанището на посочения сървър, щракнете р и 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 -локален

Състояние на разширените мрежови услуги в PortQry

PortQry осигурява вградена поддръжка за някои мрежови услуги. Това са LDAP, Обаждания за отдалечени процедури (RPC), пощенски протоколи (SMTP, POP3 и IMAP4), SNMP, FTP / TFTP, NetBIOS Name Service, L2TP и други. В допълнение към проверката на наличността на тези стандартни портове на тези услуги, помощната програма изпълнява специфични за протокола заявки, за да получи статуса на услугата.

Например, използвайки следната заявка, ние не само ще проверим наличността на услугата за картографиране на RPC крайни точки (TCP / 135), но и ще получим списък с имената на крайните точки на RPC, регистрирани в системата (включително тяхното име, UUID, адреса, към който са прикачени, и приложението, с които са свързани).

portqry -n 10.1.10.6 -p tcp -e 135

TCP порт 135 (epmap услуга): използвайки стетоскопа ефимерна източник пристанище заявки Endpoint Mapper Database ... Отговор на сървъра е: 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 Отдалечени Fw APIs ncacn_ip_tcp: 10.1.10.6 [63006] UUIDp: 123456723c-политика 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 клиент LRPC Крайна точка ncacn_ip_tcp: 10.1.10.6 [49153] Общо намерени крайни точки: 61 ==== Край на заявката на запитване на крайния клиент RPC ==== portqry.exe -n 10.1.10.6 -е 135 - p TCP излиза с код за връщане 0x00000000.

Или можете да проверите наличността и отговора от услугата браузър SQL Server на Microsoft SQL Server:

PortQry.exe -n msk-sql1 -e 1434 -p UDP

UDP порт 1434 (ms-sql-m услуга): СПИСЪК или ФИЛТРИРАНЕ Изпращане на заявка на SQL Server до UDP порт 1434 ... Отговор на сървъра: ServerName MSK-SQL01 InstanceName MSSQLSERVER IsClustered No Version 15.0.2000.5 tcp 53200 ServerName MSK-SQL01 InstanceName BANKDB ISKART 15.0.2000.5 tcp 1433 ==== Край на отговора на заявка на SQL Server ==== UDP порт 1434 е СПИСЪК

Както можете да видите, помощната програма portqry показа не само наличието на UDP порта, но и версията на SQL сървъра и имената на екземплярите, работещи на SQL сървъра и техните TCP портове (един екземпляр на BANKDB живее на порт по подразбиране tcp 1433, а вторият MSSQLSERVER използва фиксиран порт от обхвата на RPC 53200 ).

Можете да анкетирате SNMP порта на устройството, като посочите името на общността:
portqry -n host2 -cn! сигурно! -е 161 -п udp

Когато проверявате порт 25 на SMTP сървър, можете да получите банер за добре дошъл сървър:

portqry -n domain.mail.ru -p tcp -e 25

GUI за 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:

  • Домейн и тръстове (проверка на услуги на контролер на домейн Active Directory)
  • IP Sec
  • Работа в мрежа
  • SQL Server
  • Уеб сървър
  • Exchange сървър
  • Нетна среща

Мисля, че няма нужда да давате специални коментари към интерфейса на PortQueryUI. Всичко трябва да е ясно от екрана по-долу. Въведете DNS име или IP адрес на сървъра, изберете една от предварително зададените услуги (Предварително зададена услуга за заявка) или посочете номерата на порта за ръчна проверка (Портове за ръчно въвеждане на заявки) и щракнете върху бутона Query.

Възможни кодове за отговор в PortQueryUI (подчертани на екрана):

  • 0 (0x00000000) - означава, че връзката е успешно установена и портът е наличен;
  • 1 (0x00000001) - посоченият порт е недостъпен или филтриран;
  • 2 (0x00000002 е нормален код за връщане при проверка на UDP връзка, защото ACK отговорът не се връща.