Как узнать какое приложение использует порт
Перейти к содержимому

Как узнать какое приложение использует порт

  • автор:

Как узнать какое приложение использует порт

Требования.
Статья применима для Windows 2000/XP/Vista/7.

Информация.
При установке некоторых программ иногда возникает проблема с доступностью порта. Т.е. вы устанавливаете программу, а она вам говорит: "Извините, но предпочитаемый порт номер <такой то> занят!". И самое интересное программа не говорит чем или кем занят порт.

Как определить каким процессом (программой) занят порт.
1. В меню "Пуск" выберите пункт "Выполнить";
2. В поле "Открыть" наберите команду cmd и нажмите кнопку "ОК";

Откроется окно командной строки, примерно такого вида:

3. Наберите команду netstat -ano и нажмите кнопку "Ввод" (Enter) на клавиатуре;

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

4. Теперь в колонке "Локальный адрес", находим нужный нам порт и записываем его идентификатор в колонке "PID";

Например порт номер 80, его идентификатор 440.

5. Снова открываем меню "Пучк" и выбираем пункт "Выполнить";
6. В поле "Открыть" вводим команду taskmgr и нажимаем кнопку "ОК";
7. В окне "Диспетчер задач Windows" переходим на вкладку "Процессы";
8. В главном меню открываем пункт "Вид" и выбираем пункт "Выбрать столбцы. ";
9. В окне "Выбор столбцов" находим пункт "Идентиф. процесса (PID)" и ставим рядом с ним галочку;
10. Нажимаем кнопку "ОК";
11. Теперь в окне "Диспетчер задач Windows", нажимаем на заголовок столбца "PID", для сортировки процессов по возрастанию;
12. Находим номер нашего процесса 440 и в столбце "Имя образа", смотрим какой процесс занимает наш порт;

Какая программа слушает определенный порт в Windows?

date26.10.2022
useritpro
directoryWindows 10, Windows Server 2019
commentsкомментария 2

При запуске новых сервисов в Windows, вы можете обнаружить что нужный порт уже занят (слушается) другой программой (процессом). Разберемся, как определить какая программ прослушивает определенный TCP или UDP порт в Windows.

Например, вы не можете запустить сайт IIS на стандартном 80 порту в Windows, т.к. этот порт сейчас занят (при запуске нескольких сайтов в IIS вы можете запускать их на одном или на разных портах). Как найти службу или процесс, который занял этот порт и завершить его?

Чтобы вывести полный список TCP и UDP портов, которые прослушиваются вашим компьютером, выполните команду:

netstat -aon| find «LIST»

Или вы можете сразу указать искомый номер порта:

netstat -aon | findstr «:80» | findstr «LISTENING»

  • a – показывать сетевые подключения и открытые порты
  • o – выводить идентфикатор професса (PID) для каждого подключения
  • n – показывать адреса и номера портов в числовом форматер

По выводу данной команды вы можете определить, что 80 порт TCP прослушивается (статус LISTENING ) процессом с PID 16124.

netstat найти программу, которая заняла порт

Вы можете определить исполняемый exe файл процесса с этим PID с помощью Task Manager или с помощью команды:

tasklist /FI «PID eq 16124»

tasklist - найти процесс, который слушает порт в windows

Можно заменить все указанные выше команды одной:

for /f «tokens=5» %a in (‘netstat -aon ^| findstr :80’) do tasklist /FI «PID eq %a»

С помощью однострочной PowerShell команды можно сразу получить имя процесса, который прослушивает:

  • TCP порт: Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess
  • UDP порт: Get-Process -Id (Get-NetUDPEndpoint -LocalPort 53).OwningProcess

powershell найти процесс, который слушает TCP порт

Можно сразу завершить этот процесс, отправив результаты через pipe в командлет Stop-Process:

Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess| Stop-Process

Проверьте, что порт 80 теперь свободен:

проверить что порт свободен

Чтобы быстрой найти путь к исполняемому файлу процесса в Windows, используйте команды:

Как узнать, какая программа использует тот или иной порт в Windows 7

Существует много различных приложений, показывающих, какое приложение «слушает» тот или иной порт в настоящее время. Вы можете воспользоваться приложениями SysInternals Process Explorer, Sysinternals TCPView, Nirsoft CurrPorts, все они весьма замечательны, но в нужный момент их может просто не оказаться под рукой. Их отсутствие можно восполнить встроенными средствами операционной системы.

Из этого перечня нас интересуют в первую очередь эти:

  • -a – отображать все соединения и используемые порты.
  • -o – отображать числовой идентификатор процесса, отвечающего за конкретное соединение (Process ID, или попросту PID).

Также хочу обратить ваше внимание на опцию –n, которая указывает утилите netstat отображать реальные айпи адреса и цифровые значения портов вместо из DNS-имен и общепринятых псевдонимов. В ряде случаев это может оказаться полезным.

Порядок действий

  • Запустите netstat командой
    [code]Netstat –ao[/code]
    У меня вывод выглядит так:
  • Теперь найдем, к какому процессу относится, ну например, вот это соединение:

Proto Local Address Foreign Address State PID
TCP 192.168.1.100:49183 bos-m057a-sdr1:https ESTABLISHED 3104

Оно принадлежит процессу с идентификатором 3104, и выполняется к удаленному узлу с именем bos-m057a-sdr1 на 443 порт. Не покидая командной строки, вы можете быстро выяснить, что такое процесс 3104. Вот так:
[code]tasklist | find «3104»[/code]

Итак, это мессенджер Miranda-IM, а соединение выполнено с сервером ICQ.

Если вам претит tasklist, вы можете воспользоваться системным «Диспетчером задач«. Запустите его, нажав CTRL+SHIFT+ESC, перейдите на вкладку «Процессы». В меню «Вид» выберите пункт «Выбрать столбцы», и отметьте столбец PID:

Нужный процесс можно найти по значению этого столбца:

Я лично предпочитаю tasklist по той причине, что в диспетчере задач нет поиска.

��Узнавайте о новых статьях быстрее. Подпишитесь на наши каналы в Telegram и Twitter.

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

Вы здесь: Главная страница » Windows » Windows 7 » Как узнать, какая программа использует тот или иной порт в Windows 7

Публикации по теме

Автор: Сергей Ткаченко

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

Как узнать, какая программа использует тот или иной порт в Windows 7: 6 комментариев

полезная статья. спасибо!

Красавчик! очень полезно и содержательно! спасибо!

Чтото не могу понят как вы определили что используется порт 443

Как я с этим жить теперь буду?

по значению https он это определил. этот протокол данный порт использует.

Большое спасибо автору! Настраивал апач — конфликт порта 80. Оказывается скайп этот порт еще слушал. поставил в настройках скайпа галочку, точнее убрал, и все заработало. Еще раз спасибо!

Как узнать какой порт использует программа

На компьютере может быть установлено довольно много программ и все они резервируют в операционной системе определенный порт для взаимодействия с другим программным обеспечением по сети. В большинстве случаев пользователь заранее знает какой порт использует программа. Это может быть официально зарезервированный порт, под определенный сетевой протокол. Например почтовые программы используют для приема почты протокол POP3 и резервируют порт 110. Бывают неофициально резервируемые порты, например порт 1540 используемый агентом сервера 1С:Предприятие. Информацию об используемых неофициальных портах разработчики программного обеспечения указывают в документации.

Определения порта программы стандартными средствами Windows

Узнать какой порт использует программа в операционной системе Windows можно используя инструменты командной строки — tasklist и netstat. С помощью tasklist узнаем номер идентификатора процесса — PID, затем в netstat находим номер порта этого процесса.

Поиск идентификатора процесса PID

1. Открываем командную строку: сочетание клавиш <Win +R> и вводим команду CMD.

запуск командной строки wondows

2. Запускаем tasklist и находим PID процесса.

Если необходимо отобразить полный список процессов, в том числе служебных и системных, необходимо использовать tasklist без аргументов.

Команда tasklist /fi «status eq running» найдет только те процессы, которые были запущенны программами. Это сократит список процессов и облегчит поиск.

Находим в списке нужную программу, например OneDrive.exe и запоминаем соответствующий PID.

список активных процессов

Поиск порта процесса

Для получения списка используемых портов воспользуемся утилитой командной строки netstat.

B netstat были использованы слtдующие аргументы:

-a — показывает все сокеты, используемые процессами
-o — показывает PID процесса
-n — показывает адреса в числовом формате

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

список активных сетевых соединений

Чтобы отфильтровать список и сразу найти сетевое соединение с нужным PID перенаправим результаты netstat в утилиту findstr «PID_number», где PID_number — идентификатор искомого процесса.

фильтр списка сетевых соединений по PID

В найденных результатах видно, что процесс c PID 15304 (программа OneDrive.exe) использует несколько сетевых портов: 11906, 11907, 11908.

Обращайте внимание на то, для какого траспортного протокола открыт порт: ТСР или UDP. Это информация будет важна, когда будете пробрасывать порт через межсетевой экран.

Программы для просмотра сетевых соединений

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

Без труда в интернете можно найти 2 бесплатные программы для полчения списка сетевых соединений операционной системы — это «TCPView» и «Curr ports».

TCPView

TCPView — программа из набора утилит Sysinternals от Марка Руссиновича, с некоторых пор ставшей частью самого Microsoft. Программа не требует установки, занимает небольшой объем дискового пространства и скачать ее можно с официального сайта Майкрософт: https://docs.microsoft.com/ru-ru/sysinternals/downloads/tcpview .

После запуска программы будет сразу показан список всех сетевых соединений процессов с информацией о протоколе, локальном и удаленном адресе, локальном и удаленном порте соединения. Список можно фильтровать, сортировать и следить за изменениями онлайн. В дополнение к этому можно убить какой-либо процесс или определить кому принадлежит ip-адрес хоста, с которым установлено соединение.

Из мелких недостатков — отсутствие русского языка.

как найти порт в TCPView

CurrPorts

CurrPorts — программа от проекта под названием NirSoft, который так же специализируется на разработке простых и бесплатных утилит для Windows. Программа так же не требует установки, мало весит и в целом очень похожа на TCPView, но имеет более аскетичный интерфейс. Скачать программу можно с официального сайта проекта: https://www.nirsoft.net/utils/cports.html#DownloadLinks .

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *