Как: освоить PortQry.exe

Опубликовано: 25 Марта, 2023
Как: освоить PortQry.exe

В конце 2003, начале 2004 Microsoft выпустила Portqry 2.0, которая была обновлением первой версии. Эта более новая версия предлагает некоторые новые функции, такие как интерактивный режим, возможность отслеживания всех портов, связанных с любым конкретным процессом, а также совместимость с брандмауэром. Утилита позволяет выбрать компьютер, проанализировать его и получить отчет о состоянии портов на портах TCP и/или UDP. Недавно обновленный до версии 2, PortQry представляет собой инструмент, который может помочь вам решить проблемы, связанные с сетью, после освоения.

Что такое PortQry?

Telnet — хороший инструмент для тестирования портов, но с ограничениями. Если вам нужно проверить, работает ли ваш SMTP-сервер, вы можете проверить его, подключившись к порту 25 через telnet следующим образом:

телнет <ip-адрес> 25

-или же-

Это подключит вас к ретранслятору SMTP, чтобы вы могли запускать команды для тестирования. Поскольку многие инженеры и администраторы очень хорошо разбираются в telnet, такие инструменты, как Secure Shell *SSH* и PortQry, используются реже. Поскольку telnet можно использовать для тестирования и устранения неполадок портов и соединений, зачем вам использовать что-то еще? Утилита telnet имеет свои ограничения для тестирования портов, вот почему.

Одним из примеров является то, что он не может определить, фильтруется ли порт, что очень распространено в наши дни из-за количества маршрутизаторов, выходящих в Интернет, которые «в основном» фильтруют, и множества брандмауэров, экранирующих порты. Домашние ПК имеют возможность фильтровать порты. Большинство основных операционных систем уже давно имеют эту функцию. Такой инструмент, как Telnet, также не может тестировать UDP-трафик. В сетях на основе Microsoft (или почти в любой сети сегодня) вы захотите иметь возможность работать с протоколами на основе UDP, такими как LDAP или RPC. Большая часть структуры протокола NETBIOS использует UDP. В оставшейся части этой статьи мы будем использовать Microsoft Exchange Server (и SMTP) в качестве примера.

Получение PortQry

Итак, при чем здесь PortQry.exe? PortQry — это не что иное, как инструмент, разработанный для помощи в устранении неполадок, помогающих решить проблемы с подключением, позволяя лучше сканировать порты. Мы рассмотрим его таким образом, чтобы вы внезапно интегрировали его в свой пояс инструментов для устранения неполадок, чтобы помочь решить некоторые проблемы, с которыми вы можете столкнуться в будущем. Вы можете скачать PortQry отсюда.

Как работает PortQry

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

PortQry при использовании будет сообщать о состоянии порта на целевом хосте одним из трех способов:

Прослушивание Процесс прослушивает порт на выбранном вами компьютере. Portqry.exe получил ответ от порта
Не слушать Ни один процесс не прослушивает целевой порт в целевой системе. Portqry.exe получил обратно сообщение протокола управляющих сообщений Интернета (ICMP) «Destination Unreachable — Port Unreachable» от целевого UDP-порта. Или, если целевой порт является портом TCP, Portqry получил пакет подтверждения TCP с установленным флагом сброса.
Отфильтровано Порт на выбранном вами компьютере фильтруется. Portqry.exe не получил ответа от порта. Процесс может или не может прослушивать порт. По умолчанию порты TCP запрашиваются три раза, а порты UDP запрашиваются один раз, прежде чем в отчете будет указано, что порт отфильтрован. Помните, что с PortQry (и где он выходит победителем) является то, что он может сообщать, фильтруется ли порт. Другие инструменты сообщат, что порт «не прослушивается» или что-то в этом роде, и именно здесь этот инструмент выходит победителем.

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

Теперь, когда вы понимаете мощь PortQry, давайте взглянем на механизм. Использование PortQry.exe на самом деле довольно простое и понятное. Как только вы изучите синтаксис, вы будете чувствовать себя с ним так же комфортно, как с Ping и Tracert, двумя другими отличными инструментами для проверки подключения.

После загрузки PortQry его необходимо настроить. Поскольку это не что иное, как простой исполняемый файл, я обычно извлекаю его на рабочий стол и вставляю в папку C:WINDOWSSYSTEM32, потому что системный путь уже настроен таким образом в моей системе, поэтому я могу просто перейти в «Пуск» => «Выполнить». => CMD => Нажмите Enter => введите PortQry и нажмите Enter. Вы будете настроены, чтобы использовать его.

Вот некоторые переключатели, которые вы можете использовать с ним. Мой вам совет: как только вы окажетесь в командной строке и будете готовы ее использовать. Уделите пару минут и прочитайте синтаксис самого инструмента. Давайте посмотрим на это сейчас.

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

-n [сервер] IP-адрес или имя системы для запроса
-p [протокол] TCP или UDP или ОБА (по умолчанию TCP)
-e [конечная точка] один порт для запроса (допустимый диапазон: 1-65535)
-r [диапазон конечных точек] диапазон портов для запроса (начало: конец)
-o [порядок конечной точки] диапазон портов для запроса в порядке (x, y, z)
-l [файл журнала] имя файла журнала для создания
«медленная задержка соединения» дольше ожидает ответов UDP от удаленных систем.
обходит поиск IP-адреса по имени по умолчанию; игнорируется, если IP-адрес не указан после -n
-q «тихая» работа выполняется без вывода

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

Что такое интерактивный режим?

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

Из-за этой ситуации вы можете потратить некоторое время на изучение набора команд для интерактивного режима. PortQry версии 2.0 позволит вам запускать команды таким образом, но PortQry версии 2.0 позволит вам работать так же, как работает NSLOOKUP.

В командной строке вы можете ввести help для получения списка параметров:

Используйте PortQry для проверки почтовых серверов

Обычный подход к проверке того, не работают ли ваши почтовые серверы, заключается в проверке подключения к ним путем проверки связи с ними. Однако, скорее всего, вы блокируете входящие ICMP-пакеты к хостам в вашей сети, поэтому это может не сработать, потому что у вас есть «фильтр» — это нормально, здесь может помочь PortQry. Итак, как мне убедиться, что мой сервер ретрансляции электронной почты принимает подключения?

Иногда вам может понадобиться проанализировать ваше реле, чтобы увидеть, принимает ли оно входящие соединения, это поможет проверить не только подключение, но и проверить работоспособность системы! Примером такой ситуации может быть ситуация, когда ваши пользователи жалуются (как часто это происходит?) на проблемы с электронной почтой в целом, теперь сузившись до отсутствия входящей почты. Если это то, к чему была сведена проблема, давайте запросим реле и посмотрим, работает ли оно:

Вы можете видеть из вывода команды (и добавленного в примечаниях), что у вас есть функциональное реле. Для проверки использовался PortQry. Можете ли вы сделать это по-другому? Ранее я упоминал telnet, и это также может показать вам, как вы можете подключиться к ретранслятору.

Чтобы подключиться к нему по телнету:

порт телнета #

Имя хоста или IP-адрес ретранслятора и порт (это номер порта TCP/IP для электронной почты, например 25 для SMTP, 110 для POP3)

Если SMTP не прослушивается, PortQry сообщит:

TCP-порт 25 (служба SMTP): НЕ ПРОСЛУШИВАЕТ

Если SMTP отфильтрован, PortQry сообщит:

TCP-порт 25 (служба SMTP): ФИЛЬТРУЕТСЯ

Сканирование для LDAP

Итак, как бы вы определили, доступен ли LDAP на узле или нет? Вы можете использовать PortQry для проверки. Как обсуждалось ранее, telnet не обеспечивает хорошего теста для портов на основе UDP, например, скажем, вы хотите убедиться, что ваш клиент Windows может проверить подключение к контроллеру домена Active Directory? Как вы могли сделать это с помощью телнета?

Вот пример сканирования контроллера домена Windows 2000:

C:WINDOWSSYSTEM32> PortQry -n 10.1.1.2 -p udp -e 389

Запрос целевой системы называется:

10.1.1.2

Попытка преобразовать IP-адрес в имя…

IP-адрес разрешен в DC2

запрос…

UDP-порт 389 (неизвестная служба): ПРОСЛУШИВАЕТСЯ или ФИЛЬТРУЕТСЯ

Использование эфемерного исходного порта
Отправка запроса LDAP на порт UDP 389…

Ответ на запрос LDAP:
текущая дата: 01.11.2004 16:20:13 (нескорректированное время по Гринвичу)
subschemaSubentry: CN = Aggregate, CN = Schema, CN = Configuration, DC = 1, DC = com
dsServiceName: CN = NTDS Settings, CN = DC2, CN = Servers, CN = Default-First-Site-Name, CN = com
Сайты,CN=Конфигурация,DC=1,DC=com
namingContexts: CN = Схема, CN = Конфигурация, DC = 1, DC = com
defaultNamingContext: DC=1,DC=com
schemaNamingContext: CN = Схема, CN = Конфигурация, DC = 1, DC = com
configurationNamingContext: CN = Configuration, DC = 1, DC = com
rootDomainNamingContext: DC=1,DC=com
поддерживаемый контроль: 1.2.840.113556.1.4.319
поддерживаемая версия LDAP: 3
поддерживаемые LDAPPolicies: MaxPoolThreads
наивысший совершённыйUSN: 241215
поддерживаемые механизмы SASLMechanisms: GSSAPI
dnsHostName: dc2.1.COM
ldapServiceName: 1.COM: [электронная почта защищена]
serverName: CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configurati
вкл, DC=1, DC=com
поддерживаемые возможности: 1.2.840.113556.1.4.800
isSynchronized: ИСТИНА
isGlobalCatalogReady: ИСТИНА
======== Конец ответа на запрос LDAP ========

UDP-порт 389 ПРОСЛУШИВАЕТ

Итак, это выглядит знакомым для приведенного выше примера, верно? Единственная разница заключается в выводе, потому что он прослушивает, как вы можете видеть из последнего оператора в выводе.

Чтобы быстро напомнить вам об используемом синтаксисе:

  • -n идентифицирует ваш сервер, то есть 10.1.1.2
  • -p идентифицирует ваш протокол (в данном случае UDP),
  • -e означает конечную точку или порт, который вы специально хотите запросить, например LDAP, в этом примере прослушивание порта 389.

Установка и использование PortQryUI

Инструмент пользовательского интерфейса запроса порта (portqueryui.exe) — это инструмент для запроса открытых портов на машине. Этот инструмент использует инструмент запроса порта версии командной строки (portqry.exe) и предоставляет интерфейс, который можно просмотреть.

Чтобы получить инструмент от Microsoft.com, щелкните здесь.

После загрузки его можно запустить, открыв исходную папку и щелкнув файл portqryui.exe.

Как только вы откроете его, у вас будет много новых (и интересных) опций. Одним из них являются автоматические предопределенные профили для сканирования, как показано выше. Теперь вы можете выбрать «класс» того, что вы хотите сканировать, и пользовательский интерфейс просканирует все соответствующие службы, а затем покажет вам выходные данные в нижней части инструмента пользовательского интерфейса запроса порта.

При простом сканировании «Домены и доверительные отношения» вы можете увидеть, что вывод находится в окне «Результат запроса» в нижней части инструмента. Порт 129 не прослушивается, потому что он просто отключен. Это не работает. Попробуйте получить столько информации с помощью telnet.

Примечание:
Вы можете запустить этот инструмент на своей собственной системе (как я только что показал вам здесь с лабораторной системой), петлевой адрес или IP-адрес, который в настоящее время имеет система, покажет вам открытые порты в вашей собственной системе! Этот инструмент может быстро показать вам, какие порты открыты в вашей системе. Вы также можете получить эту информацию с помощью Netstat:

Настройка PortQry

Изучая PortQry и его возможности, я обнаружил, что этот инструмент на самом деле использует файл в вашем каталоге %systemroot%system32driversetc под названием «Services».

PortQry.exe использует этот файл для разрешения номеров портов, поэтому очень важно, чтобы вы это знали… если вы измените номера портов (например, с 80 на 8080), вам также придется изменить их в этом файле. Если вам нужно изменить его обратно, вы можете либо сделать его копию в этом каталоге и назвать ее ServicesBU или как-то еще, либо вы можете посетить реестр номеров протоколов, чтобы вернуть стандартное назначение портов.

Резюме

В этой статье мы рассмотрели базовое и расширенное использование PortQry — инструмента, разработанного корпорацией Майкрософт, который может помочь вам устранить проблемы с подключением, с которыми вы можете столкнуться, подобно проблеме с электронной почтой, показанной в этой статье. PortQry — отличный небольшой инструмент, который нужно иметь в своем поясе инструментов, когда вам нужно проверить, открыт ли порт, закрыт или фильтруется каким-либо образом.