Как прослушивать порт в Windows

Обновлено: 21.11.2024

Есть ли какая-нибудь базовая утилита для открытия определенного сетевого TCP-порта на моем компьютере?

Мне нужно проверить, как моя программа работает с портами в состоянии прослушивания.

10 ответов 10

netcat должен делать то, что вы хотите. Пусть он прослушивает вашу машину и выводит данные на STDOUT:

если вы хотите, чтобы он закрылся после разрыва соединения, не используйте -k

Выглядит хорошо, но антивирус не позволяет мне установить ни "обычную", ни "безопасную" версию nc для windows.

Утилита командной строки Microsoft Portqry.exe

Прослушивание TCP для победы. netcat был очень сложной установкой. TCP listen — это один исполняемый файл, не требующий установки.

Попробуйте iperf. Есть версия для Windows. Вы можете просто запустить его как iperf -s -p 1234 , и он будет прослушивать порт 1234. Затем вы можете подключиться к этому порту с удаленного компьютера, выполнив что-то вроде:

Вам потребуется получить iperf.exe или portqry.exe для последних двух. iPerf не предназначен строго для этой задачи, но он отлично подходит для устранения неполадок с подключением, доступности пропускной способности, стресс-тестирования ссылок и т. д.

Он имеет графический интерфейс, а не просто командную строку, что для некоторых является преимуществом.

Инструменты netpipes faucet и hose всегда хорошо служили мне, упрощая stdin и stdout для использования моими программами по сети.

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

Мне нравится netcat в Windows, но загрузка и установка из Интернета не всегда возможна. Возможно, вы настраиваете рабочий сервер и хотите протестировать правила брандмауэра до (и без) установки чего-либо.

тл;др;

    на вашем сервере
  • введите polyglot-listener.bat 1234, чтобы прослушивать порт 1234 .

Идея состоит в том, чтобы найти исполняемый файл jsc.exe в вашей системе:

И использовать его для компиляции пакетного файла.

Скомпилированная программа будет сохранена как %APPDATA%\listener.exe . Он может работать сам по себе, копироваться на сервер, но компиляция из пакетного файла полиглота будет работать независимо от любых препятствий безопасности на вашем пути.

TCP Listen — ЛУЧШИЙ ответ, ИМХО. Я посмотрел и мне понравился TCP Builder, но вам НУЖНЫ права администратора для запуска этого приложения, они вам НЕ нужны с прослушивателем TCP, и вам также нужно установить TCP Builder или распаковать и скопировать кучу файлов, тогда как TCP Listener — это 1 EXE, не более того.

Прослушиватель TCP также не нуждался в правах администратора, и когда я сканировал его с помощью AV, ничего не говорило о том, что он является вредоносным. У билдера был 1 AV на Virustotal, говорят, что это плохо, но это оказалось ложным срабатыванием (надеюсь) :)

Хотя я заставил Builder работать без прав администратора, он не мог подключиться к сокету, в то время как Listener мог. После того, как я выполнил все свои тесты, я мог просто удалить 1 файл Listener, и все было как раньше.

Netcat был бы хорош, но я не нашел версию, которая работала бы с сервером 2012 или более поздней версии. Таким образом, чтобы полностью проверить, разрешают ли сетевой брандмауэр и локальные брандмауэры подключаться к определенным портам TCP, прослушиватель TCP кажется лучшим инструментом для этой работы.

Invicti Web Application Security Scanner — единственное решение, обеспечивающее автоматическую проверку уязвимостей с помощью Proof-Based Scanning™.

Наша аудитория поддерживает Geekflare. Мы можем получать партнерские комиссионные за покупку ссылок на этом сайте.

Обеспечьте безопасность приложений правильно! Обнаружение, защита, мониторинг, ускорение и многое другое…

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

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

Хорошо. Это просто: вы можете использовать telnet, но как насчет того, что у «B» не запущена ни одна служба? Вот где вам нужен прослушиватель портов, чтобы помочь в этой ситуации.

Если у вас похожая ситуация или вы считаете, что это было бы полезно для вас на работе, вот несколько способов добиться этого на платформе Windows или UNIX.

Чтобы создать прослушиватель сообщений в ОС Windows

Чтобы иметь прослушиватель портов для определенного порта в Windows, вы можете использовать утилиту «Прослушиватель портов».

Эта утилита доступна бесплатно для Windows 95 и Windows 10.

  • Загрузите Post Listener в формате .zip или .exe отсюда
  • В этом руководстве я скачаю файл в формате .exe
  • Дважды щелкните загруженный файл postlistener.exe
  • Появится запрос на выбор места для извлечения файлов, нажмите "Распаковать".

  • В этом примере перейдите по пути, по которому вы распаковали файлы; У меня на c:listener

  • Дважды щелкните прослушиватель, чтобы запустить утилиту.
  • Введите номер порта, который вы хотите протестировать, и нажмите "Пуск".

  • В приведенном выше примере я начал прослушивать порт на 5500, и пришло время проверить, работает ли он.

Откройте командную строку и запустите netstat, чтобы проверить, прослушивается ли порт 5500

Итак, теперь я успешно создал прослушиватель портов в Windows.

Чтобы создать прослушиватель сообщений в ОС Linux

В Linux процедура немного отличается; здесь мы будем использовать команду netcat (nc) для запуска слушателя.

  • Для установки nc можно использовать команду yum
  • После установки используйте следующую команду, чтобы запустить прослушиватель портов с номером 5500 в фоновом режиме.
  • Для проверки воспользуемся командой netstat

Итак, порт 5500 успешно прослушан. Делать это в Linux немного удобнее, не так ли?

Чтобы создать прослушиватель портов с помощью Python

Приведенные выше два примера ограничены ОС. Как насчет скрипта Python, который может работать в Windows или UNIX?

Ну, я нашел приведенный ниже код Python, который работает как в Windows, так и в Linux. Создайте файл — скажем, portlistener.py с приведенным ниже кодом

Сохраните файл и запустите его с помощью команды python, как показано ниже

Заинтересованы в изучении Python? Ознакомьтесь с этим онлайн-курсом.

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

Возможно, вы устраняете проблему с сетевым подключением для определенной программы и вам нужно проверить, открыт ли доступ к ее порту. Что делать, если вам нужно проверить, может ли ваше устройство NAS обмениваться данными с ПК с Windows 10? Какой бы ни была причина поиска открытых портов, в этой статье приведены подробные инструкции по их проверке в Windows 10 с помощью нескольких доступных инструментов, встроенных или бесплатных для загрузки и использования.

Есть несколько удобных инструментов, которые можно использовать для сканирования открытых портов в Windows. Вы увидите, как это сделать в NetStat, PortQry.exe и NirSoft CurrPorts.

Использование NetStat для проверки открытых портов в Windows 10

Один из самых простых способов проверить наличие открытых портов — использовать NetStat.exe. Вы можете найти этот инструмент в папке «System32» в Windows 10. С помощью NetStat вы можете увидеть открытые порты или порты, которые использует определенный хост.

В зависимости от ваших потребностей могут оказаться полезными две команды. Первая опция (netstat -ab) перечисляет все активные порты и имя процесса, который их использует. Второй параметр (netstat -aon) дополнительно предоставляет идентификатор процесса, который вы можете позже найти в диспетчере задач.

Netstat – сокращение от сетевой статистики. Он показывает статистику протокола и текущие сетевые соединения TCP и IP. Вот объяснение того, что означает каждая буква из команд.

  • «a» отображает все подключения и порты прослушивания.
  • «b» показывает все исполняемые файлы, задействованные в создании каждого порта прослушивания.
  • «o» указывает идентификатор процесса-владельца, связанный с каждым соединением.
  • «n» показывает адреса и номера портов в числовом виде.

Использование netstat -ab для определения открытых портов

Использование ‘netstat -aon’ для определения открытых портов

Второй вариант удобен, когда «netstat -ab» недостаточно, чтобы определить, к какой программе привязан определенный порт. В этом случае выполните следующие действия:

Проверка открытых портов с помощью NirSoft CurrPorts

Если решение с командной строкой кажется вам слишком сложным, более простой альтернативой является использование NirSoft CurrPorts.Этот инструмент отображает открытые в данный момент порты (TCP или IP, а также UDP). Вы также увидите информацию о конкретном процессе, такую ​​как имя, путь, информация о версии и т. д.

Этот инструмент существует уже довольно давно и доступен для Windows 10. Вы можете найти ссылку для загрузки NirSoft Currports на веб-сайте Nirsoft внизу.

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

Запустив CurrPorts, выполните следующие действия:

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

Проверка открытых портов с помощью PortQry.exe

PortQry.exe — еще один удобный инструмент, позволяющий сканировать открытые порты. Вы загружаете PortQry и извлекаете его, чтобы запустить через командную строку. Вы также можете загрузить PortQryUI в качестве надстройки, если не хотите использовать командную строку, которая представляет собой графический интерфейс пользователя (GUI) для PortQry.

С помощью portqry.exe вы вставляете определенные параметры, которые вы найдете в папке исполняемого файла.

Как запустить PortQry.exe с помощью командной строки

    , затем разархивируйте файлы в выбранное вами место. По умолчанию используется «C:\», но при желании его можно изменить.
  1. Если вы находитесь в каталоге по умолчанию, введите cd c:\PortQryV2\ в командной строке, чтобы указать расположение исполняемого файла.
  2. Если в пользовательском каталоге, введите cd [буква диска]:\[папка1]\[папка2]\, но замените все содержимое в квадратных скобках фактическими именами. Включите все необходимые папки.
  3. Введите portqry.exe -local, чтобы запустить его. Эта команда отображает используемые порты TCP и UDP для локального хоста.
  4. Помимо всех параметров, отображаемых NetStat, Portqry также показывает количество сопоставлений портов, а также количество портов в каждом состоянии.
  5. Вы также можете проверить наличие открытых портов для удаленного хоста. Просто запустите portqry.exe -n [имя хоста/IP] в командной строке. Убедитесь, что вы заменили имя хоста и IP-адрес на имя и IP-адрес удаленного хоста.
  6. Если вы хотите найти определенный порт, вы также можете добавить -e [номер_порта] в командную строку.

Как запустить PortQry.exe с помощью надстройки пользовательского интерфейса

Для тех, кто предпочитает использовать графический интерфейс вместо команд при работе с PortQry.exe, Microsoft предлагает надстройку PortQryUI.

Дополнение PortQryUI уже включает необходимую версию PortQry, поэтому для его использования не требуется обе загрузки.

    , затем разархивируйте файлы в выбранное вами место. По умолчанию используется «C:\», но при желании его можно изменить.
  1. Запустите «Проводник Windows» и перейдите к местоположению файла PortQryUI.exe, затем щелкните его, чтобы запустить пользовательский интерфейс.
  2. Чтобы просмотреть порты TCP и UDP для локального хоста (вашего ПК), оставьте IP-адрес назначения 127.0.0.1, чтобы он проходил через сетевые устройства и настройки конфигурации (сетевая карта, конфигурация маршрутизатора и т. д.), а не просто читал с локального ПК.
  3. Чтобы просмотреть все порты TCP и UDP , нажмите "Ввести порты запроса вручную", затем введите "1-65535" в разделе "Порты для запроса". Кроме того, выберите TCP,UDP или Оба в раскрывающемся списке "Протокол".
  4. Чтобы отфильтровать список портов TCP/UDP, нажмите "Запросить предварительно определенную службу", а затем выберите службу для запроса. Вы можете выбрать только один за раз.
  5. Вы также можете проверить удаленный хост, изменив полное доменное имя или домен в поле запроса вверху.
  6. Если вы хотите проверить определенный порт, введите номер в "Порты для запроса".

Настройка открытых портов в Windows 10

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

Мы рекомендуем использовать NetStat через командную строку, так как она встроена в ОС и обычно предоставляет вам всю необходимую информацию. Может потребоваться несколько дополнительных действий по сравнению с CurrPorts, но вам не нужно ничего скачивать.

Часто задаваемые вопросы об открытых портах Windows 10

Как проверить, открыт ли порт 3306 в Windows 10?

Чтобы проверить, открыт ли порт 3306, у вас есть два варианта: первый — через NetStat, а второй — через CurrPorts.

Мы рекомендуем NetStat, так как для этого вам не придется загружать новое программное обеспечение. Запустите командную строку от имени администратора. Введите команду: «netstat -ab» и нажмите «Ввод». Дождитесь загрузки результатов. Имена портов будут перечислены рядом с локальным IP-адресом. Просто найдите порт 3306. Вы можете нажать «Ctrl + F» и ввести «3306» в поле слова, чтобы найти его.Если порт открыт, в результатах он будет отображаться как «ПРОСЛУШИВАЕТ».

Чтобы проверить, открыт ли порт 3306 через CurrPorts, просто выполните сортировку по «Локальный порт», а затем найдите порт 3306. Если порт доступен, он появится в списке.

Уолтер Гленн

Уолтер Гленн
Бывший главный редактор

Уолтер Гленн – бывший главный редактор How-To Geek и связанных с ним сайтов. Он имеет более чем 30-летний опыт работы в компьютерной индустрии и более 20 лет в качестве технического писателя и редактора. Он написал сотни статей для How-To Geek и отредактировал тысячи. Он является автором или соавтором более 30 книг по компьютерам на более чем дюжине языков для таких издательств, как Microsoft Press, O'Reilly и Osborne/McGraw-Hill. Он также написал сотни технических документов, статей, руководств пользователя и курсов. Подробнее.

Всякий раз, когда приложение хочет сделать себя доступным по сети, оно требует порт TCP/IP, что означает, что этот порт не может использоваться ничем другим. Так как же проверить открытые порты, чтобы увидеть, какое приложение уже использует их?

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

Существует несколько способов узнать, какое приложение имеет заблокированный порт, но мы познакомим вас с парой встроенных способов, использующих командную строку, а затем покажем отличное бесплатное приложение, которое делает это еще проще. Все эти методы должны работать независимо от того, какую версию Windows вы используете.

Используйте встроенные инструменты, чтобы увидеть, что прослушивает порт

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

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

Во-первых, вам нужно открыть командную строку в режиме администратора. Нажмите «Пуск», а затем введите «команда» в поле поиска. Когда в результатах появится «Командная строка», щелкните ее правой кнопкой мыши и выберите «Запуск от имени администратора».

В командной строке введите следующий текст и нажмите Enter:

После того, как вы нажмете Enter, для полного отображения результатов может потребоваться минута или две, так что наберитесь терпения. Прокрутите список, чтобы найти порт (который указан после двоеточия справа от локального IP-адреса), и вы увидите имя процесса, указанное под этой строкой. Если вы хотите немного упростить задачу, помните, что вы также можете передать результаты команды в текстовый файл. Затем вы можете просто найти в текстовом файле номер порта, который вам нужен.

Здесь, например, видно, что порт 49902 занят процессом с именем picpick.exe. PicPick — это редактор изображений в нашей системе, поэтому мы можем предположить, что порт фактически связан процессом, который регулярно проверяет наличие обновлений для приложения.

Вариант второй: просмотр использования порта вместе с идентификаторами процессов

Если имя процесса для искомого номера порта затрудняет определение связанного приложения, вы можете попробовать версию команды, которая показывает идентификаторы процессов (PID), а не имена. Введите следующий текст в командной строке и нажмите Enter:

В крайнем правом столбце перечислены идентификаторы PID, поэтому просто найдите тот, который привязан к порту, который вы пытаетесь устранить.

Затем откройте Диспетчер задач, щелкнув правой кнопкой мыши любое свободное место на панели задач и выбрав «Диспетчер задач».

Если вы используете Windows 8 или 10, перейдите на вкладку "Подробности" в диспетчере задач. В более старых версиях Windows вы увидите эту информацию на вкладке «Процессы». Отсортируйте список процессов по столбцу «PID» и найдите PID, связанный с портом, который вы исследуете. Возможно, вы сможете узнать больше о том, к какому приложению или службе привязан порт, просмотрев столбец «Описание».

Если нет, щелкните процесс правой кнопкой мыши и выберите «Открыть расположение файла». Расположение файла, скорее всего, даст вам представление о том, какое приложение задействовано.

После того, как вы там, вы можете использовать параметры «Завершить процесс», «Открыть расположение файла» или «Перейти к службам», чтобы контролировать процесс или остановить его.

Используйте NirSoft CurrPorts для просмотра того, что прослушивает порт

Если вы не любитель командной строки или предпочитаете использовать простую утилиту, чтобы сделать все это за один шаг, мы рекомендуем отличную бесплатную утилиту CurrPorts от NirSoft. Идите вперед и загрузите инструмент. Просто убедитесь, что вы используете правильную версию (обычная версия предназначена для 32-разрядной версии Windows, а версия x64 — для 64-разрядной версии Windows). Это портативное приложение, поэтому вам не нужно его устанавливать. Просто разархивируйте папку загрузки и запустите исполняемый файл.

В окне CurrPorts выполните сортировку по столбцу «Локальный порт», найдите порт, который вы исследуете, и вы увидите все — имя процесса, PID, порт, полный путь к процессу и т. д.

Чтобы упростить задачу, дважды щелкните любой процесс, чтобы просмотреть все детали в одном окне.

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

  • › How-To Geek нанимает специалиста по Windows на полную ставку
  • › 20 лучших обучающих тем 2010 года
  • › Как узнать, использует ли ваш ПК с Windows прокси-сервер
  • › Почему не было Windows 9?
  • › Почему прозрачные чехлы для телефонов желтеют?
  • › Как восстановить метки панели задач в Windows 11
  • ›5 шрифтов, которые следует прекратить использовать (и лучшие альтернативы)
  • › Что означает XD и как вы его используете?

Читайте также: