Существует много различных приложений, показывающих, какое приложение «слушает» тот или иной порт в настоящее время. Вы можете воспользоваться приложениями SysInternals Process Explorer, Sysinternals TCPView, Nirsoft CurrPorts, все они весьма замечательны, но в нужный момент их может просто не оказаться под рукой. Их отсутствие можно восполнить встроенными средствами операционной системы.
В состав Windows входит консольная утилита netstat. Запустив её с параметром /?, вы увидите, что предназначена она для отображения статистики и активных соединений протокола TCP/IP, а также полный перечень её опций:
Из этого перечня нас интересуют в первую очередь эти:
- -a – отображать все соединения и используемые порты.
- -o – отображать числовой идентификатор процесса, отвечающего за конкретное соединение (Process ID, или попросту PID).
Также хочу обратить ваше внимание на опцию –n, которая указывает утилите netstat отображать реальные айпи адреса и цифровые значения портов вместо из DNS-имен и общепринятых псевдонимов. В ряде случаев это может оказаться полезным.
Как открыть, закрыть порты , узнать какие порты открыты на Пк с Windows 10, 8, 7 или роутере в 2021
Порядок действий
- Запустите 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 10, 8, 7
Вы здесь: Главная страница » Windows » Windows 7 » Как узнать, какая программа использует тот или иной порт в Windows 7
Публикации по теме
- Как открыть командную строку от администратора в Windows 11
- Как в Windows 11 отключить брандмауэр
- Как в Windows 11 заменить Терминал на Командную Строку
- Как в Windows 11 сделать сеть частной или открытой
- Как в Windows 11 открыть Терминал Windows
- Как в Windows 11 включить или отключить Wi-Fi
- Как в Windows 11 открыть Командную строку
- Как в Windows 11 включить Режим в самолете (Режим полета)
- Как включить Wake on Lan в Windows 10
- Как открыть Командную строку от Администратора в Windows 10
- Как открыть Командную строку в Windows 10 — все способы
- Как добавить Командную строку в меню Win + X в Windows 10
- Масштабирование окна консоли в Windows 10 (cmd, WSL, PowerShell)
- Как открыть очередь печати принтера из командой строки
- Как убрать пустую строку из вывода команды echo в Windows
Сергей Ткаченко создал этот сайт в далёком 2009 году, и с тех пор продолжает над ним работать, публикуя новые материалы о Windows и её приложениях практически каждый день. Посмотреть все записи автора Сергей Ткаченко
itpro
Windows 10, Windows Server 2019
комментария 2
При запуске новых сервисов в Windows, вы можете обнаружить что нужный порт уже занят (слушается) другой программой (процессом). Разберемся, как определить какая программ прослушивает определенный TCP или UDP порт в Windows.
Например, вы не можете запустить сайт IIS на стандартном 80 порту в Windows, т.к. этот порт сейчас занят (при запуске нескольких сайтов в IIS вы можете запускать их на одном или на разных портах). Как найти службу или процесс, который занял этот порт и завершить его?
Чтобы вывести полный список TCP и UDP портов, которые прослушиваются вашим компьютером, выполните команду:
netstat -aon| find «LIST»
Или вы можете сразу указать искомый номер порта:
netstat -aon | findstr «:80» | findstr «LISTENING»
Используемые параметры команды netstat:
- a – показывать сетевые подключения и открытые порты
- o – выводить идентфикатор професса (PID) для каждого подключения
- n – показывать адреса и номера портов в числовом форматер
По выводу данной команды вы можете определить, что 80 порт TCP прослушивается (статус LISTENING ) процессом с PID 16124.
Вы можете определить исполняемый exe файл процесса с этим PID с помощью Task Manager или с помощью команды:
tasklist /FI «PID eq 16124»
Можно заменить все указанные выше команды одной:
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
См. статью про просмотр сетевых подключений в Windows с помощью PowerShell.
Можно сразу завершить этот процесс, отправив результаты через pipe в командлет Stop-Process:
Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess| Stop-Process
Проверьте, что порт 80 теперь свободен:
Чтобы быстрой найти путь к исполняемому файлу процесса в Windows, используйте команды:
dir tiny.exe /s /p
Или можно для поиска файла использовать встроенную команду where :
В нашем случае мы нашли, что исполняемый файл tiny.exe (легкий HTTP сервер), который слушает 80 порт, находится в каталоге c:Temptinywebtinyweb-1-94
Также для просмотра списка процессов и используемых ими TCP портов в Windows можно использовать утилиту TCPView (https://learn.microsoft.com/en-us/sysinternals/downloads/tcpview).
Предыдущая статья Следующая статья
Читайте далее в разделе Windows 10 Windows Server 2019
Как сбросить пароль локального администратора в Windows?
Установка и настройка OpenVPN сервера под Windows
Настройка двухфакторной аутентификации (2FA) в Windows с помощью MultiOTP
Установка KMS сервера vlmcsd на Linux для активации Windows и Office
Источник: winitpro.ru
Блог Алексея Воронина
История, краеведение, сельское хозяйство, лесоводство, биология, IT…
Как узнать, какое приложение занимает какой-либо порт?
Часто бывает такая ситуация, что какой-либо порт (80, 8080 и т.п.) занят неизвестным приложением. Чтобы освободить порт, надо снять эту задачу. Но как узнать, какой именно процесс необходимо завершить?
Разберемся по шагам, как же решить эту проблему на примере занятого порта 8080.
Сначала узнаем идентификатор процесса (PID), занимающего этот порт, с помощью команды netstat, отображающей статистику протокола и текущих сетевых подключений TCP/IP:
netstat -o -n -a | findstr 0.0:8080
ключ -o — отображение ИД процесса каждого подключения;
ключ -n — отображение адресов и номеров портов в числовом формате;
ключ -a — отображение всех подключений и портов прослушивания.
Отфильтровать содержимое ответа можно с помощью команды findstr.
Ответом на эту команду было:
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 3152
В ответе мы видим число 3152 — это и есть PID-идентификатор таинственного процесса, занимающего порт 8080.
Затем узнаем имя приложения, соответствующего процессу с этим PID, с помощью команды tasklist, отображающей список процессов, которые сейчас выполняются на локальном или удаленном компьютере:
tasklist /FI «PID eq 3152»
ключ /FI — выводит список задач, которые соответствуют заданным в фильтре условиям, фильтр — «PID eq 3152» — PID процесса равен 3152.
В ответ получаем:
Имя образа PID Имя сессии № сеанса Память
========================= ==== =========== =========== =========
ApplicationWebServer.exe 3152 Services 0 6 816 КБ
Итак, выяснено, что порт 8080 занят приложением по имени ApplicationWebServer.exe .
Осталось узнать путь к этому приложению с помощью команды wmic:
wmic process where «name=’ApplicationWebServer.exe'» get ExecutablePath
В результате видим:
C:Program Files (x86)National InstrumentsSharedNI WebServerApplicationWebServer.exe
Итак, порт 8080 был занят приложением ApplicationWebServer.exe, входящим в состав программного пакета LabView компании National Instruments.
Источник: blog.foxylab.com