Як дізнатися, який процес прослуховує порт в windows networking - port, code q - a український (ru)

(Додайте -n, ​​щоб зупинити його, намагаючись вирішити імена хостів, що зробить його набагато швидше)

Зверніть увагу на рекомендацію Dane для TCPView. Виглядає дуже корисно!

-a Показує всі підключення і порти прослуховування.

-b Показує виконуваний файл, який бере участь у створенні кожного підключення або порту прослуховування. У деяких випадках відомі виконувані файли містять кілька незалежних компонентів, і в цих випадках відображається послідовність компонентів, що беруть участь в створенні порту підключення або прослуховування. В цьому випадку виконується ім'я знаходиться в [] внизу, зверху - компонент, який він викликав, і так далі, поки не буде досягнутий TCP / IP. Зверніть увагу, що цей параметр може зайняти багато часу і спрацює, якщо у вас немає достатніх дозволів.

-o Показує ідентифікатор процесу володіння, пов'язаний з кожним з'єднанням.

Для Windows є власний графічний інтерфейс:

  • Початок >> Всі програми >> Аксесуари >> Системні інструменти >> Монітор ресурсів

Або Запустіть resmon.exe або вкладку продуктивності TaskManager

Використовуйте TCPView, якщо для цього потрібен графічний інтерфейс. Це старе додаток Sysinternals, яке Microsoft викупила.

Відкрийте вікно командного рядка (під обліковим записом адміністратора). В поле «Пуск \ Пошук» введіть «cmd», потім клацніть правою кнопкою миші на «cmd.exe» і виберіть «Запуск від імені адміністратора»,

Введіть наступний текст і натисніть Enter.

netstat -abno

-a Показує всі підключення і порти прослуховування.

-b Показує виконуваний файл, який бере участь у створенні кожного підключення або порту прослуховування. У деяких випадках відомі виконувані файли містять кілька незалежних компонентів, і в цих випадках відображається послідовність компонентів, що беруть участь в створенні порту підключення або прослуховування. В цьому випадку виконується ім'я знаходиться в [] внизу, зверху - компонент, який він викликав, і так далі, поки не буде досягнутий TCP / IP. Зверніть увагу, що цей параметр може зайняти багато часу і спрацює, якщо у вас немає достатніх дозволів.

-o Показує ідентифікатор процесу володіння, пов'язаний з кожним з'єднанням.

Подивіться на ім'я процесу безпосередньо під цим.

ПРИМІТКА. Щоб знайти процес в диспетчері завдань

Зверніть увагу на PID (ідентифікатор процесу) поруч з портами, на які ви дивитеся.

Відкрийте диспетчер задач Windows.

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

Подивіться на PID, який ви зазначили, коли ви зробили netstat на кроці 1.

Переконайтеся, що вибрано «Показувати процеси від всіх користувачів».

Ви можете отримати додаткову інформацію, якщо ви виконаєте наступну команду:

Використовуючи команду «Знайти», ви можете відфільтрувати результати. Find / i «listen» буде відображати тільки порти, які є «Listening». Зверніть увагу, вам потрібно, щоб / i проігнорував Випадок, інакше ви б набрали find «LISTENING». | Find «port» обмежує результати тільки тими, які містять конкретний номер порту. Зверніть увагу, що при цьому він також буде фільтрувати результати, що мають номер порту в будь-якому рядку відповіді.

Спочатку ми знаходимо ідентифікатор процесу цієї конкретної задачі, який нам потрібно усунути, щоб отримати вільний порт

Після виконання цієї команди в командному рядку командного рядка Windows (cmd) виберіть pid, який, я думаю, останній стовпець припустимо, що це 3312

Taskkill / F / PID 3312

Тепер ви можете перехресно перевірити, набравши команду netstat.

ПРИМІТКА. Іноді вікна не дозволяють вам запускати цю команду безпосередньо на CMD, тому спочатку вам потрібно виконати ці кроки з командного рядка start-> (клацніть правою кнопкою миші по командному рядку і запустіть її як адміністратор)

Отримати ідентифікатор PID і зображення

Використовуйте тільки одну команду:

Де 9000 слід замінити номером порту.

Результат буде містити приблизно наступне:

Він виконує ітерацію по кожному рядку з виходу наступної команди:

З кожного рядка PID (% a - ім'я не має значення тут) витягується (PID - це 5 й елемент в цьому рядку) і передається наступній команді

Якщо ви хочете пропустітьзаголовок і повернути командний рядок. Ви можете використовувати:

Дуже просто отримати номер порту з pid в вікнах.

Нижче наведені кроки:

1) Перейдіть в режим run -> type cmd -> натисніть enter.

2) напишіть наступну команду.

(Примітка. Не вмикайте квадратні дужки.)

3) натисніть enter.

4) Потім cmd надасть вам докладну інформацію про обслуговування, виконувати на цьому порту разом з pid.

5) Відкрийте диспетчер задач і натисніть на вкладку сервісу і зіставте pid з ідентифікатором cmd і все.

Якщо ви хочете використовувати інструмент GUI для цього, є SysInternals TCPView.

Щоб отримати список всіх ідентифікаторів процесу володіння, пов'язаних з кожним з'єднанням:

Якщо ви хочете вбити будь-який процес, введіть id і використовуйте цю команду, щоб порт став безкоштовним

netstat -ao і netstat -ab скажуть вам додаток, але якщо ви не адмін, ви отримаєте «Запрошення операція вимагає підвищення».

Це не ідеальний варіант, але якщо ви використовуєте sysinternals Process Explorer, ви можете перейти до властивостей конкретних процесів і подивитися вкладку TCP, щоб дізнатися, чи використовує вони порт, який вам цікавий. Трохи голки і речі сіна, але, можливо, це допоможе комусь.

Введіть команду: netstat -aon | findstr: DESIRED_PORT_NUMBER netstat -aon | findstr: DESIRED_PORT_NUMBER

Наприклад, якщо я хочу знайти порт 80: netstat -aon | findstr: 80 netstat -aon | findstr: 80

Дотримуйтесь цих інструментів: - з cmd. - C: \> netstat -anob з привілеєм адміністратора.

Все від sysinternals.com

Якщо ви просто хочете дізнатися, як працює процес і потоки в кожному процесі, я рекомендую дізнатися про wmic. Чудовий інструмент командного рядка cmd, який дає вам набагато більше, ніж ви можете знати.

Команда Above відображатиме весь список процесів кожні 5 секунд. Щоб дізнатися більше, ви можете просто піти з /? Команда вікон, наприклад,

і так далі і тому подібне. )

Netstat -a -o Показує PID процесу, що виконується на певному порту.

Майте на увазі ідентифікатор процесу і перейдіть на вкладку «Диспетчер завдань» і «Сервіси» або «Відомості» і завершите процес, який має той же PID.

Таким чином, ви можете вбити процес, що виконується на конкретному порту в вікнах.

За замовчуванням вихід Get-NetTCPConnection не включає ідентифікатор процесу з якоїсь причини, і він трохи заплутаний. Однак ви завжди можете отримати його, форматуючи висновок. Майно, яке ви шукаєте, належить OwningProcess.

Якщо ви хочете дізнатися ідентифікатор процесу, який прослуховує порт 443, виконайте наступну команду:

Відформатуйте висновок в таблицю з властивостями, які ви шукаєте:

Якщо ви хочете дізнатися назву процесу, запустіть цю команду:

Просто відкрийте командний оболонку і введіть: (якщо ваш порт дорівнює 123456)

Ви побачите все, що вам потрібно.

Це як згадувалося тут

Я рекомендую CurrPorts від NirSoft.

CurrPorts може фільтрувати відображаються результати. TCPView не має цієї функції.

Примітка. Ви можете натиснути правою кнопкою миші по з'єднанню сокета процесу і вибрати «Закрити вибрані TCP-з'єднання» (це також можна зробити в TCPView). Це часто усуває проблеми з підключенням, які виникають з Outlook і Lync після перемикання VPN. За допомогою CurrPorts ви також можете закрити з'єднання з командного рядка.

Для тих, хто використовує Powershell, спробуйте Get-NetworkStatistics.

Для Windows, якщо ви хочете знайти матеріал, що прослуховує або підключений до порту 1234, виконайте наступну команду в командному рядку cmd: