- PortQry — утилита для проверки доступности TCP/UDP портов из Windows
- Используем PortQry для сканирования открытых UDP и TCP портов
- Расширенный статус сетевых служб в PortQry
- Графический интерфейс для Portqry
- Проверка порта
- Что такое проверка открытых портов?
- Какие порты бывают?
- Что такое проброс портов? (Port Forwarding)
- Проверка портов на открытость: 3 способа для проверки
- Способы проверки
- Онлайн-сервисы
- PortScan.ru
- HideMy.name
- Ping.eu
- Специальные программы
- XSpider
- Встроенные утилиты Windows
- С помощью Telnet
- Подведение итогов
- Сканирование портов средствами Windows
PortQry — утилита для проверки доступности TCP/UDP портов из Windows
Несмотря на то, что в Windows есть множество инструментов для диагностики проблем в TCP/IP сетях (ping, telnet, pathping и т.д.), не все они позволяют в удобном виде проверить состояние или выполнить сканирование открытых сетевых портов на удаленном сервере. Утилита Portqry.exe является удобным инструментом проверки доступности TCP/UDP портов на удаленном сервере при диагностике проблем, связанных с функционированием различных сервисов, а также наличием файерволов и межсетевых экранов в TCP/IP сетях. Чаще всего утилита Portqry используется как более функциональная замена telnet, и в отличии от telnet, позволяет также проверять открытые UDP порты.
Используем PortQry для сканирования открытых UDP и TCP портов
Первая версия Portqry для Windows Server 2003 некорректно работает с более новыми ОС (Windows Server 2008 и выше), поэтому в дальнейшем была выпущена вторая версия утилиты PortQryV2. Именно эту версию и стоит использовать сегодня(скачать утилиту PortQryV2 можно по ссылке).
choco install portqry
Скачайте и распакуйте архив PortQryV2.exe. Запустите командную строку и перейдите в каталог с утилитой, например:
Чтобы проверить доступность 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).
В нашем примере команда будет такой:
PortQry.exe –n 10.1.10.6 -p both -e 53
Утилита Portqry для каждого указанного порта вернет один из трех статусов доступности:
- Listening – означает, что указанный порт доступен (принимает соединения), ответ от него получен;
- NotListening – на целевой системе не запушен процесс (служба), который бы принимал подключения на указанном порту. Portqry получила ответ ICMP «Destination Unreachable — Port Unreachable» при проверке UDP порта, или TCP пакет с флагом Reset;
- Filtered – утилита PortQry не получала ответа от указанного порта либо ответ был отфильтрован. Т.е. на целевой системе либо не слушается данный порт, либо доступ к нему ограничен файерволом или настройками системы. По умолчанию TCP порты опрашиваются 3 раза, а UDP – один.
В нашем примере, DNS сервер доступен с клиента и по TCP и по UDP.
С помощью атрибута —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 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
В утилите 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
Или вы можете проверить доступность и ответ от службы SQL Server Browser на сервере Microsoft SQL Server:
PortQry.exe -n msk-sql1 -e 1434 -p UDP
Как вы видите, утилита 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 ответ.
Проверка порта
PortScaner.ru Port Checker — это бесплатный онлайн инструмент, чтобы найти открытые порты в вашей системе или на удаленном сервере. Этот инструмент позволяет сканировать открытые порты, которые могут оказаться дырами в безопасности и послужить лазейкой для хакеров. Вы также можете проверить, работает ли перенаправление портов на вашем роутере или нет.
Что такое проверка открытых портов?
Этот инструмент полезен для проверки порта в маршрутизаторе открыт он или закрыть. Это онлайн инструмент безопасности проверки порта открыт или заблокирован в вашей системе брандмауэром.
Какие порты бывают?
Порты являются виртуальными путями, по которым информация передается от компьютера к компьютеру. Всего есть 65536 портов на выбор..
Порты 0 до 1023 — Самые известные номера портов. Наиболее популярные службы работающие на портах: база данных MS SQL (1433), почтовые услуги POP3 (110), IMAP (143), SMTP (25), веб-сервисы HTML (80).
Порты от 1024 до 49151 — зарезервированные порты; это означает, что они могут быть зарезервированные для конкретных протоколов программного обеспечения.
Порты 49152 по 65536 — динамические или частные порты; это означает, что они могут быть использованы кем угодно.
Что такое проброс портов? (Port Forwarding)
Переадресация портов (Port Forwarding) имеется специальная функция на маршрутизаторе которая позволяет передачу пакетов данных извне (из Интернета) к устройствам или компьютерам в вашей локальной сети (LAN). По умолчанию все порты на маршрутизаторе закрыты, чтобы предотвратить взлом компьютеров вашей локальной сети. Но когда вы используете службу для подключения через порт на маршрутизаторе вам нужно открыть его. Например: Yahoo! Messenger вам необходимо чтобы один из следующих портов был открытым: 5061, 443, 80.
Проверка портов на открытость: 3 способа для проверки
Как проверить порт на открытость в windows
Компьютеры с ОС Windows, использующие для выхода в Интернет, Wi-Fi роутер или проводной маршрутизатор (модем), нередко защищаются с помощью сетевых экранов, которые могут закрывать некоторые порты TCP/UDP.
А, если пользователю требуется, чтобы какой-то конкретный порт оставался открытый (для игры или рабочего приложения), его придётся включать вручную.
Для того чтобы проверить порты на открытость можно воспользоваться несколькими способами, о которых мы поговорим в данной статье.
Способы проверки
Проверку проводят одним из трёх способов:
- воспользовавшись услугами онлайн-сервисов;
- скачав на комп и запустив программное обеспечение, предназначенное для проверки соединений;
- применив одну из утилит, уже встроенных в операционную систему.
Зная, как проверить, открыт ли порт на ПК, можно решить проблемы с запуском программ и игр. Выбор конкретного варианта зависит от предпочтений и требований пользователя.
Онлайн-сервисы
Одним из сервисов, позволяющих выполнить проверку открытых портов по IP адресу пользователя, является portscan.ru.
Преимуществом сайта является возможность быстро и автоматически определить существующие соединения.
PortScan.ru
Для работы с ресурсом зайдите на сайт — portscan.ru, перейдите в первую вкладку, после чего, достаточно по очереди вводить интересующие порты в представленную на сервисе форму и нажимать кнопку Проверить .
Результат сканирования будет представлен ниже поля ввода.
Рис. 1. Работа приложения Portscan.ru
На сервисе есть сканер портов, вторая вкладка в меню сетевые сервисы, который в автоматическом режиме проверяет открытые порты в Windows.
Нажимаете Запустить сканер… , и после некоторого времени вам предоставится результат.
Рис. 2. Запуск сканера портов на сервисе
HideMy.name
Ещё один сайт HideMy.name представляет собой сканер для обнаружения хостов, позволяющий проверить IP-адреса.
Если пользователь вводит в форму сервиса адрес своего ПК, выдаётся информация о его соединениях.
Посмотреть результаты сканирования можно после нажатия кнопки Проверить .
Рис. 3. Сервис проверки соединений сайта HideMy.name.
Ping.eu
Можно проверить порт компьютера и с помощью многофункционального сервиса ping.eu – на этом же ресурсе можно определить и адрес своего прокси сервера.
Процесс проверки открытых соединений на сайте начинается с введения IP-адреса и номера соединения, адрес пользователя при этом определяется автоматически и указывается над формой ввода данных.
Как показывает пример, доступность локального порта 443 проверкой не подтверждена или другими словами — порт закрыт.
Рис. 4. Использование сервиса ping.eu
Специальные программы
Одним из приложений, с помощью которых может производиться проверка порта на открытость, является Portforward Network Utilities. С помощью этой же программы нужные порты можно и открыть.
Для работы с ней требуется:
Рис. 5. Первый запуск программы Portforward Network Utilities.
XSpider
Приложение XSpider 7.7. позволяет проверять IP-адреса и хосты. Можно определять с его помощью и состояние соединений.
Найдите и скачайте программу в интернете, после скачивания и установки, запустите приложение. Далее, укажите какие следует проверить открытые порты, и запустите процесс нажатием значка запуска.
Рис. 5. Проверка портов приложением XSpider 7.7.
Встроенные утилиты Windows
Есть возможность решить вопрос с открытыми и закрытыми соединениями и с помощью уже встроенных в систему утилит. Одной из них является netstat, запустить которую можно следующим образом:
Рис. 7. Использование утилиты netstat.
Показанные на экране порты являются открытыми. Соответственно, если нужного соединения в списке нет, значит, оно закрыто.
С помощью Telnet
Второй вариант для того чтобы проверить, открыт ли порт – запуск службы Telnet, тоже встроенной в систему Windows.
Хотя на современных версиях Виндовс, начиная с семёрки, утилита по умолчанию отключена и требует активации. Для её запуска нужно сделать следующее:
Рис. 8. Первые этапы запуска Telnet
Теперь можно запускать консоль через командную строку и вводить в ней название утилиты и номер соединения.
При удачном подключении на экране появится информация о нём. Это значит, что порт открыт. При закрытом соединении будут выведены сведения о невозможности его открыть.
Рис. 9. Результаты проверки работы программы Telnet.
Подведение итогов
Некоторые приложения и утилиты позволяют как проверить порты, открыты или нет, так и открывать соединения по определённому адресу и для своего компьютера. Если же причиной того, что порт оказался закрытый, стал брандмауэр, выполнить включение можно с его же помощью.
Для этого в окне утилиты нажимается кнопка добавления соединения, в поле «Имя» вводится описание программы, которой будет занятый порт, и указывается произвольное число в качестве номера.
Хотя перед этим следует точно убедиться, что проблема заключается именно в соединении, воспользовавшись всё теми же приложениями, сервисами и утилитами.
Тематическое видео по сканированию портов:
Сканирование портов средствами Windows
Подробная инструкция как проверить порты на открытость с помощью команды netstat и telnet