Sysinternals process explorer как узнать порт

Обновлено: 04.07.2024

PowerShell

Обратите внимание на рекомендацию датчанина в отношении TCPView . Это выглядит очень полезно!

-a Отображает все подключения и прослушиваемые порты.

-b Отображает исполняемый файл, участвующий в создании каждого соединения или порта прослушивания. В некоторых случаях известные исполняемые файлы содержат несколько независимых компонентов, и в этих случаях отображается последовательность компонентов, участвующих в создании соединения или порта прослушивания. В этом случае имя исполняемого файла находится в [] внизу, вверху - компонент, который он вызвал, и так далее, пока не будет достигнут TCP / IP. Обратите внимание, что этот параметр может занять много времени и завершится ошибкой, если у вас нет достаточных разрешений.

-n Отображает адреса и номера портов в числовой форме.

-o Отображает идентификатор процесса-владельца, связанный с каждым соединением.

-о, чтобы получить PID

и taskkill / PID

, чтобы затем завершить процесс, используя / F, если необходимо.

Работает, но требует повышенного разрешения. Shift + щелчок правой кнопкой мыши на значке команды -> запустить от имени администратора

@BradWilson "-b" - неверный параметр, используйте netstat -a -d

@BradWilson и @Sathish Похоже, что параметры netstat не такие стандартные. Я должен был использовать netstat -a -n -p . Опции -b и -d недоступны. Опция -o была для таймеров. Опции -p отображают название программы и PID. (на Debian 8).

netstat 1.42 (2001-04-15) не имеет флага -b

В моей системе выходные данные этой команды, помимо того, что их было ужасно сложно прочитать из-за переноса, переполнили буфер командной строки. Обычно я предпочитаю инструменты командной строки (хотя, по общему признанию, в командной строке Linux мне гораздо удобнее, чем в Windows), но в этом случае я нашел графический интерфейс Resource Monitor, предложенный @bcorso, гораздо более полезным.

Использование | grep :80 полезно для поиска определенного порта. если установлен grep .

netstat -a -b переполнила весь экран cmd. Я не мог найти пид, который искал, прежде чем он ушел. Мне нужен был способ найти порт определенного процесса с использованием pid.

Это не работает в PS3.0 - почему пользователи Windows больше не перечисляют версии? Для какой версии PowerShell эти команды?

@RodionSychev Команда powershell ожидает, что вы замените «номер_порта» номером порта, который вы ищете. Ошибка гласит, что «номер_порта» не является числом.

В моем случае это не сработало, возможно, из-за знака кавычек, но решение netstat -aon | findstr LISTENING работает отлично!

Это работает, не требуя повышенных привилегий.

Как этот ответ относится к "выяснить, какой процесс [имя] прослушивает порт в Windows?"

Используйте // i вместо / i, если в Windows используется git bash

Используйте TCPView , если вам нужен графический интерфейс для этого. Это старое приложение Sysinternals , купленное Microsoft.

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

Кроме того, это не требует прав администратора!

Если вы хотите использовать инструмент с графическим интерфейсом для этого, есть Sysinternals 'TCPView .

Откройте окно командной строки (от имени администратора). В «Пуск \ Поле поиска» введите «cmd», затем щелкните правой кнопкой мыши «cmd.exe» и выберите «Запуск от имени администратора»

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

netstat -abno

-a Отображает все подключения и прослушиваемые порты.

-b Отображает исполняемый файл, участвующий в создании каждого соединения, или порт прослушивания. В некоторых случаях общеизвестные исполняемые файлы хоста несколько независимых компонентов, и в этих случаях последовательность компонентов, участвующих в создании соединения или порт прослушивания отображается. В этом случае исполняемый файл имя в [] внизу, вверху компонент, который он вызвал, и так далее, пока не будет достигнут TCP / IP. Обратите внимание, что эта опция может занять много времени и потерпит неудачу, если у вас недостаточно разрешения.

-n Отображает адреса и номера портов в числовой форме.

-o Отображает идентификатор процесса-владельца, связанный с каждым соединением.

Найдите порт, который вы слушаете, в разделе "Локальный адрес"

Посмотрите на имя процесса непосредственно под этим.

ПРИМЕЧАНИЕ. Чтобы найти процесс в диспетчере задач

Обратите внимание на PID (идентификатор процесса) рядом с портом, который вы просматриваете.

Откройте диспетчер задач Windows.

Выберите вкладку Процессы.

Найдите PID, который вы отметили при выполнении netstat на шаге 1.

Если вы не видите столбец PID, нажмите Просмотр / Выбор столбцов. Выберите PID.

Понимание того, как работают диалоговые окна и параметры Process Explorer, - это прекрасно, но как насчёт их использования для реального устранения неполадок или диагностики проблемы? Сегодняшний урок попытается помочь вам узнать, как это сделать.

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

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

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

Мы начнём с этого, а затем покажем вам, как использовать Process Explorer для устранения ошибок, связанных с заблокированными файлами и папками, которые используются.

А затем мы завершим это ещё одним взглядом на то, как некоторые рекламные программы в наши дни прячутся за процессами Microsoft, чтобы они выглядели легитимными в Process Explorer или диспетчере задач, хотя на самом деле таковыми не являются.

Исследование вредоносного ПО

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

Conduit устанавливает то, что они называют «Search Protect», которая, по их утверждению, предотвращает внесение вредоносными программами изменений в ваш браузер. О чем они не упоминают, так это о том, что это также не позволяет вам вносить какие-либо изменения в браузер, если вы не используете их панель Search Protect для внесения этих изменений, о которой большинство людей не узнает, поскольку она скрыта в панели задач.

Conduit не только перенаправит все ваши поисковые запросы на свою собственную страницу Bing, но и установит её в качестве вашей домашней страницы. Можно было бы предположить, что Microsoft платит им за весь этот трафик в Bing, поскольку они также передают в строке запроса некоторые аргументы типа?pc=conduit.

Забавный факт: компания, стоящая за этим куском мусора, стоит 1,5 миллиарда долларов, и JP Morgan вложил в неё 100 миллионов долларов. Быть злом выгодно.

Conduit захватывает страницу новой вкладки… Но как?

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

Вы можете удалить все свои браузеры или даже установить браузер, который у вас не был установлен раньше, например Firefox или Chrome, и Conduit все равно сможет захватить страницу быстрого доступа.


Кто-то должен сидеть в тюрьме, но он наверняка на яхте.

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


Но как именно он это делает? Ни в один из браузеров не установлены надстройки или расширения. Нет никаких плагинов. Реестр чистый. Как они это делают?

Здесь мы обращаемся к Process Explorer, чтобы провести некоторое расследование. Во-первых, мы найдём в списке процесс Search Protect, который достаточно прост, потому что он правильно назван, но если вы не уверены, вы всегда можете открыть окно и использовать маленький значок в виде яблочка рядом с биноклем, чтобы выяснить, какой процесс принадлежит окну.


Теперь вы можете просто выбрать соответствующий процесс, который в данном случае был одним из трёх, автоматически запускаемых службой Windows, устанавливаемой Conduit. Как я узнал, что этот процесс перезапускается как служба Windows? По цвету — как мы узнали в предыдущем уроке, розовый цвет имеют службы. Вооружившись этими знаниями, я всегда мог остановить или удалить службу (хотя в этом конкретном случае вы можете просто удалить её в окне «Удаление программ» в Панели управления).

Теперь, когда вы выбрали процесс, вы можете использовать сочетания клавиш CTRL+H или CTRL+D, чтобы открыть представление Handles или представление DLLs, или вы можете использовать для этого меню View → Lower Pane View.

Примечание: в мире Windows Handle — это целочисленное значение, которое используется для уникальной идентификации ресурса в памяти, такого как окно, открытый файл, процесс или многие другие вещи. Каждое открытое окно приложения на вашем компьютере имеет, например, уникальный «дескриптор окна», который можно использовать для ссылки на него.

DLL или библиотеки динамической компоновки — это общие части скомпилированного кода, которые хранятся в отдельном файле для совместного использования несколькими приложениями. Например, вместо того, чтобы каждое приложение создавало свои собственные диалоговые окна открытия/сохранения файла, все приложения могут просто использовать общий код диалогового окна, предоставленный Windows в файле comdlg32.dll.

Просмотр списка дескрипторов в течение нескольких минут немного приблизил нас к тому, что происходит, потому что мы нашли дескрипторы для Internet Explorer и Chrome, которые в настоящее время открыты в тестовой системе. Мы определённо подтвердили, что Search Protect что-то делает с открытыми окнами браузера, но нам нужно провести дополнительное исследование, чтобы точно выяснить, что именно.


Следующее, что нужно сделать, это дважды щёлкнуть процесс в списке, чтобы открыть подробный вид, а затем перейти на вкладку Image, которая предоставит вам информацию о полном пути к исполняемому файлу, строке команды и даже рабочей папке. Мы нажмём кнопку Explore, чтобы взглянуть на папку установки и увидеть, что ещё там скрывается.


Интересно! Мы обнаружили здесь несколько DLL-файлов, но по какой-то странной причине ни один из этих DLL-файлов не был указан в представлении DLL для процесса Search Protect, когда мы просматривали его ранее. Может быть они и являются причиной проблемы.


Каждый раз, когда вы хотите узнать, используется ли файл DLL в настоящее время каким-либо приложением в вашей системе воспользуйтесь поиском. Чтобы открыть панель поиска, перейдите в меню Find («Поиск»), нажав CTR+F или просто кликните значок бинокля на панели инструментов. Теперь введите часть имени DLL или даже полное имя, если хотите.

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


Щелчок по одному из элементов в списке и переход на страницу Threads («Потоки») подтвердили наши опасения. И Chrome, и Internet Explorer запускали потоки с использованием файлов SPVC32.dll или SPVC64.dll из вредоносного ПО Search Protect, и именно так они захватывали нашу новую вкладку — не путём изменения настроек, а путём перехвата браузера изнутри.

Примечание. В Windows thread (поток) — это то, для чего операционная система выделяет процессорное время. Обычно мы думаем о процессах, но технически в Windows работают только потоки, а не процессы. У некоторых процессов может быть только один поток выполнения, но у других может быть много потоков, которые все работают отдельно друг от друга, обычно управлясь с каким-либо механизмом межпроцессного взаимодействия.

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


Вам может быть интересно, как приложению Search Protect удалось заставить Google Chrome загрузить эту DLL, и ответ заключается в том, что Windows предоставляет функцию под названием DLL Injection. Процесс может внедрить DLL в другой процесс, а затем перехватить определённые функции API. Таким образом некоторые приложения переопределяют функции Windows или функции других приложений. Это очень сложный предмет, который мы определённо не сможем раскрыть на этом уроке, но если вы действительно хотите узнать больше, вы можете ознакомиться с этим руководством.

Также стоит отметить, что вы можете увидеть использование ЦП на поток, углубившись в детали этого уровня, что может быть очень полезно при устранении неполадок в приложении, в котором есть плагины. Вы можете использовать это, чтобы выяснить, какой конкретный файл DLL занимает слишком много времени процессора, а затем провести некоторое исследование того, к чему этот компонент принадлежит.

Работа с заблокированными файлами или папками

Поскольку маловероятно, что вы будете постоянно анализировать вредоносные программы, также полезно использовать Process Explorer для других задач. К примеру, вы можете определить, какая программа открыла файл, в результате чего вы не можете удалить, переместить или переименовать файл или папку.


Когда вы получаете ошибку «уже используется», просто перейдите в Process Explorer, откройте поиск с помощью CTRL+F или значка, а затем введите имя проблемной папки или файла (или полный путь, если имя очень расплывчатое).

Вы очень быстро увидите в списке процесс, в котором открыт ваш файл или папка, и можете дважды щёлкнуть по нему, чтобы идентифицировать процесс в списке.


В первую очередь на ум приходит просто закрыть этот процесс, но делать это не обязательно. Вы также можете щёлкнуть правой кнопкой мыши файл или папку в списке дескрипторов (используйте сочетание клавиш CTRL+H, чтобы открыть список дескрипторов) и выбрать опцию «Закрыть дескриптор». Этот ресурс теперь разблокирован!


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

Изучение процессов, которые выглядят безопасными, но такими не являются

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

Проблема заключается в утилите Windows rundll32.exe, которую можно использовать для произвольного запуска функций из файлов DLL. Поскольку эта утилита подписана Microsoft, она отображается в списке как полностью законный процесс, но на самом деле они просто перемещают весь свой вредоносный/рекламный код в файл .DLL вместо файла .EXE, а затем вместо этого загружается вредоносное ПО с помощью rundll32.exe. Фактически, если вы видите, что rundll32.exe запущен как «собственный процесс» и обозначен голубым цветом, показанным ниже, это почти всегда что-то, что не должно выполняться.

В приведённом ниже примере вы можете видеть, что, хотя мы использовали функцию Verified Signer для проверки этого элемента, когда мы наводим на него курсор и смотрим на полный путь, на самом деле загружается DLL, которая оказывается частью adware (рекламного ПО).

Примечание: прежде чем вы начнёте кричать о запуске антивирусной проверки, отметим, что мы это сделали, и она ни чего не нашла. Большая часть этого нежелательного, рекламного и шпионского ПО игнорируется антивирусными утилитами.


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


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


Остальная часть расследования привела к некоторым другим инструментам, которые не входят в набор SysInternals, и которые мы, вероятно, рассмотрим позже, но достаточно сказать, что это просто вредоносная программа, которая работала вместе с другим нежелательным ПО.

Важным моментом здесь является то, что вредоносное ПО способно прятаться за законными исполняемыми файлами Windows, поэтому обязательно следите за чем-либо подобным.

Как узнать, какой процесс прослушивает порт в Windows?

Я столкнулся с этим, пытаясь запустить Tomcat в режиме отладки под IntelliJ. Лучшим решением для меня оказалось изменение конфигурации транспортного средства отладки (File-> Settings-> Build / exe / deploy-> Debugger) с "socket" на "Общая память".

(Добавьте -n, чтобы остановить попытки разрешения имен хостов, что сделает его намного быстрее.)

Обратите внимание на рекомендацию датчанина для TCPView . Это выглядит очень полезно!

-a Отображает все соединения и порты прослушивания.

-b Отображает исполняемый файл, участвующий в создании каждого соединения или порта прослушивания. В некоторых случаях известные исполняемые файлы содержат несколько независимых компонентов, и в этих случаях отображается последовательность компонентов, участвующих в создании соединения или порта прослушивания. В этом случае имя исполняемого файла находится в [] внизу, вверху - компонент, который он вызвал, и так далее, пока не будет достигнут TCP / IP. Обратите внимание, что этот параметр может занять много времени и завершится ошибкой, если у вас нет достаточных разрешений.

-n Отображает адреса и номера портов в числовой форме.

-o Отображает идентификатор процесса-владельца, связанный с каждым соединением.

и taskkill / PID <pid>, чтобы затем завершить процесс, используя / F, если необходимо. Работает, но требует повышенного разрешения. Shift + щелчок правой кнопкой мыши на значке команды -> запуск от имени администратора Получив PID - скажем так 1234 - тогда вы можете использовать, tasklist /fi "pid eq 1234" чтобы узнать название и другие детали процесса.

Есть родной графический интерфейс для Windows:

  • Меню Пуск → Все программыСтандартныеСистемные инструментыМонитор ресурсов

Или запустить resmon.exe , или из вкладки производительности диспетчера задач .

Введите описание изображения здесь

Также показывает состояние брандмауэра привязки (последний столбец). Очень полезный Вы должны быть администратором (или в этой группе), чтобы запустить это. Также может быть запущен из вкладки «Диспетчер задач», по крайней мере, в Windows 10. (Не проверял другие версии.) Комментарий @ user4836454, приведенный выше, НЕ верен: монитор ресурсов показывает порты со слушателями, даже если к этим портам нет сетевого подключения. Просто загляните в раздел «Порты прослушивания» вместо раздела «TCP-соединения».

Используйте TCPView, если вы хотите графический интерфейс для этого. Это старое приложение Sysinternals, которое Microsoft купила.

На мой взгляд, это лучший вариант, тем более что все процессы находятся в одном списке, и вы можете закрыть процессы, щелкнув по ним правой кнопкой мыши. +1 Но имейте в виду, что если ваши окна работают на языке, отличном от английского, вам придется изменить «прослушивание» на родной термин. Например, netstat -aon | find /i "abhören" для немецкого. В моем случае это не сработало, возможно, из-за знака кавычек, но решение netstat -aon | findstr LISTENING работает отлично! Как этот ответ относится к "выяснить, какой процесс [имя] прослушивает порт в Windows?"

Найдите pid процесса, запущенного по номеру порта (например, 8080)

Найти имя процесса по pid

найти процесс по порту TCP / IP

Вы можете получить больше информации, если выполните следующую команду:

Использование команды «Найти» позволяет фильтровать результаты. find /i "listening" будут отображаться только порты, которые «слушают». Обратите внимание, что вам нужно /i игнорировать регистр, иначе вы наберете find "LISTENING". | find "port" будет ограничивать результаты только теми, которые содержат конкретный номер порта. Обратите внимание, что при этом он также будет фильтровать результаты, которые имеют номер порта в любом месте строки ответа.

FWIW при попытке запустить это в PowerShell v2.0 выдает ошибку FIND: Parameter format not correct . Вам нужно добавить пробел после критерия поиска. Это оставит вас с netstat -aon | find /i "listening" | find "1234 " . @self. Я все еще получаю эту ошибку с PS 5.1, даже после добавления пробела после канала. Вы знаете, что происходит? @NickeManarinin & @self либо сначала перейдите с powershell на cmd (просто введите cmd и нажмите enter, затем повторите команду), либо вместо этого используйте powershell: netstat -aon | find / i " " listening "" | find " " port " «(<- обратите внимание на экранированные кавычки - извините за термин, back tick поскольку я не могу добавить фактического персонажа, так как он считает, что это отрывок)

Откройте окно командной строки (от имени администратора). В поле «Пуск \ Поиск» введите «cmd», затем щелкните правой кнопкой мыши «cmd.exe» и выберите «Запуск от имени администратора».

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

netstat -abno

-a Отображает все соединения и порты прослушивания.

-b Отображает исполняемый файл, участвующий в создании каждого соединения или порта прослушивания. В некоторых случаях известные исполняемые файлы содержат несколько независимых компонентов, и в этих случаях отображается последовательность компонентов, участвующих в создании соединения или порта прослушивания. В этом случае имя исполняемого файла находится в [] внизу, вверху - компонент, который он вызвал, и так далее, пока не будет достигнут TCP / IP. Обратите внимание, что этот параметр может занять много времени и завершится ошибкой, если у вас нет достаточных разрешений.

-n Отображает адреса и номера портов в числовой форме.

-o Отображает идентификатор процесса-владельца, связанный с каждым соединением.

Найдите порт, который вы слушаете, в разделе «Локальный адрес».

Посмотрите на имя процесса прямо под этим.

ПРИМЕЧАНИЕ. Чтобы найти процесс в диспетчере задач

Обратите внимание на PID (идентификатор процесса) рядом с портом, который вы просматриваете.

Откройте диспетчер задач Windows.

Выберите вкладку «Процессы».

Найдите PID, который вы указали, когда выполняли netstat на шаге 1.

Если вы не видите столбец PID, нажмите View / Select Columns. Выберите PID.

Убедитесь, что выбран параметр «Показывать процессы от всех пользователей».

Как узнать, какой процесс прослушивает порт в Windows?

Я столкнулся с этим при попытке запустить Tomcat в режиме отладки под IntelliJ. Лучшим решением для меня оказалось изменение конфигурации транспортного средства отладки (File-> Settings-> Build / exe / deploy-> Debugger) с "socket" на "Общая память".

(добавьте -n, чтобы он не пытался разрешить имена хостов, что сделает его намного быстрее)

Обратите внимание на рекомендацию датчанина для TCPView. Выглядит очень полезно!

-a Отображает все соединения и порты прослушивания.

-b Отображает исполняемый файл, участвующий в создании каждого соединения или порта прослушивания. В некоторых случаях известные исполняемые файлы содержат несколько независимых компонентов, и в этих случаях отображается последовательность компонентов, участвующих в создании соединения или порта прослушивания. В этом случае имя исполняемого файла находится в [] внизу, вверху - компонент, который он вызвал, и так далее, пока не будет достигнут TCP/IP. Обратите внимание, что этот параметр может занять много времени и завершится ошибкой, если у вас нет достаточных разрешений.

-n Отображает адреса и номера портов в числовой форме.

-o Отображает идентификатор процесса владения, связанный с каждым соединением.

и taskkill / PID <pid>, чтобы затем завершить процесс, используя / F, если необходимо. @BradWilson, как вы показываете «Состояние брандмауэра» как resmon (ответ bcorso)? Работает, но требует повышенного разрешения. Shift + щелчок правой кнопкой мыши на значке команды -> запустить от имени администратора Графический интерфейс не нуждается в привилегиях, тогда как эта команда делает. @BradWilson "-b" - неверная опция, используйте netstat -a -d @BradWilson и @Sathish Похоже, что параметры netstat не такие стандартные. Мне пришлось использовать netstat -a -n -p . Опции -b и -d недоступны. Опция -o была для таймеров. Опции -p отображают название программы и PID. (на Debian 8). Получив PID - скажем, 1234 - вы можете использовать tasklist /fi "pid eq 1234" чтобы узнать название и другие детали процесса. В моей системе выходные данные этой команды, помимо того, что их было ужасно сложно прочитать из-за переноса, переполнили буфер командной строки. Обычно я предпочитаю инструменты командной строки (хотя, по общему признанию, в командной строке Linux мне гораздо удобнее, чем в Windows), но в этом случае я нашел графический интерфейс Resource Monitor, предложенный @bcorso, гораздо более полезным. использовать | grep :80 полезен для поиска определенного порта. если установлен grep . netstat -a -b переполнила весь экран cmd. Я не мог найти пид, который искал, прежде чем он ушел. Мне нужен был способ найти порт определенного процесса с помощью pid.

Есть собственный GUI для Windows:

или Выполнить resmon.exe , или вкладку производительности TaskManager

Изображение 7221

Также показывает состояние брандмауэра привязки (последний столбец). Очень полезный @data, единственная проблема в том, что пользовательский интерфейс для этой программы серьезно ужасен. Вы должны быть администратором (или в этой группе), чтобы запустить это. Можно также запустить с вкладки «Диспетчер задач», по крайней мере, в Windows 10. (Другие версии не проверялись.) Вы также можете запустить монитор ресурсов на вкладке производительности диспетчера задач, нажав кнопку « Open Resource Monitor . Из командной строки команда perfmon /res также работает, чтобы открыть монитор ресурсов. Я использую Windows 7 с SP1, он уже имеет монитор ресурсов. Комментарий @ user4836454, приведенный выше, НЕ верен: монитор ресурсов показывает порты со слушателями, даже если к этим портам нет сетевого подключения. Просто загляните в раздел «Порты прослушивания» вместо раздела «TCP-соединения». Кажется, что из-за этого некоторые порты TCP иногда используются, даже если они используются настолько, что другие приложения, которым они нужны, не могут запуститься. Определенно предпочитаю интерфейс GUI использованию netstat, так как гораздо проще найти нужный порт. Спасибо за это +1 По какой-то причине искомый pid не был указан в мониторе ресурсов. В конечном итоге пришлось запустить команду netstat.

Используйте TCPView, если вам нужен графический интерфейс. Это старое приложение Sysinternals, которое Microsoft выкупила.

На мой взгляд, это лучший вариант, тем более что все процессы находятся в одном списке, и вы можете закрыть процессы, щелкнув по ним правой кнопкой мыши. Именно то, что мне было нужно, командная оболочка была не удобна для большого количества результатов. Я только что попробовал это, и он не показывает никакой информации о процессе. "не показывает информацию о процессе", а? он показывает идентификаторы процессов всех процессов прослушивания. Если вам нужно название процесса, используйте решение Брэда Мой плохой, не видел PID, когда я искал название процесса. +1 Но имейте в виду, что если ваши окна работают на языке, отличном от английского, вам придется изменить «прослушивание» на родной термин. Например, netstat -aon | find /i "abhören" для немецкого языка. В моем случае это не сработало, возможно, из-за знака кавычек, но решение netstat -aon | findstr LISTENING работает отлично!

Найдите pid процесса, запущенного по номеру порта (например, 8080)

Найти имя процесса по pid

Изображение 7222

Вы можете получить дополнительную информацию, если вы выполните следующую команду:

с помощью команды "Найти" позволяет фильтровать результаты. find/i "listen" будет отображать только порты, которые являются "Listening". Обратите внимание, вам нужно, чтобы /i проигнорировал Случай, иначе вы бы набрали find "LISTENING". | find "port" ограничивает результаты только теми, которые содержат определенный номер порта. Обратите внимание, что при этом он также будет фильтровать результаты, имеющие номер порта в любой строке ответа.

FWIW, пытающийся запустить это в PowerShell v2.0, выдает ошибку FIND: Parameter format not correct . Вам нужно добавить пробел после критерия поиска. Это оставит вас с netstat -aon | find /i "listening" | find "1234 " . @self. Я все еще получаю эту ошибку с PS 5.1, даже после добавления пробела после канала. Вы знаете, что происходит? @NickeManarinin & @self либо сначала перейдите с powershell на cmd (просто введите cmd и нажмите enter, затем повторите команду), либо вместо этого используйте powershell: netstat -aon | find / i " " listen "" | find " " port "" (<- обратите внимание на экранированные кавычки - извините back tick как я не могу добавить реальный символ, так как он считает, что это отрывок)

Откройте окно командной строки (в качестве администратора). В поле "Начало\Поиск" введите "cmd", затем щелкните правой кнопкой мыши "cmd.exe" и выберите "Запуск от имени администратора"

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

netstat -abno

-a Отображает все подключения и прослушивающие порты.

-b Отображает исполняемый файл, участвующий в создании каждого соединения или порт прослушивания. В некоторых случаях известный хост исполняемых файлов несколько независимых компонентов, и в этих случаях последовательность компонентов, участвующих в создании соединения или порт прослушивания. В этом случае исполняемый файл имя находится в [] внизу, сверху - компонент, который он назвал, и т.д. до тех пор, пока не будет достигнут TCP/IP. Обратите внимание, что этот параметр может занять много времени и не удастся, если у вас недостаточно разрешения.

-n Отображает адреса и номера портов в числовой форме.

-o Отображает идентификатор процесса владения, связанный с каждым соединением.

Найдите порт, который вы слушаете в разделе "Локальный адрес"

Посмотрите на имя процесса непосредственно под этим.

ПРИМЕЧАНИЕ. Чтобы найти процесс в диспетчере задач

Обратите внимание на идентификатор процесса (идентификатор процесса) рядом с порт, который вы ищете.

Откройте диспетчер задач Windows.

Перейдите на вкладку Процессы.

Посмотрите на PID, который вы отметили, когда вы сделали netstat на шаге 1.

Если вы не видите столбец PID, нажмите "Просмотр/Выбор столбцов". Выберите PID.

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