Як дізнатися, яка програма та ідентифікатор процесу отримують доступ до заданої IP-адреси в Windows?


19

Чи можливо зловити, яка програма отримує доступ до певної IP-адреси?

Я виявив, що мій комп'ютер затоплений, і хочу перевірити адреси по черзі.

Можливо, можна встановити для цього якийсь аудит?

Відповіді:


31

Рішення TCPView

TCPView від SystemInternals відобразить "докладні списки всіх кінцевих точок TCP та UDP у вашій системі, включаючи локальні та віддалені адреси та стан з'єднань TCP".

TCPView - це програма Windows, яка покаже вам докладні списки всіх кінцевих точок TCP та UDP у вашій системі, включаючи локальні та віддалені адреси та стан підключень TCP. У Windows Server 2008, Vista та XP TCPView також повідомляє назву процесу, якому належить кінцева точка. TCPView надає більш інформативний та зручно представлений підмножина програми Netstat, що постачається з Windows. Завантаження TCPView включає Tcpvcon, версію командного рядка з тією ж функціональністю.

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

  • Переконайтеся, що у вас не встановлено "Розв’язати адреси", щоб отримати адреси IP замість доменних імен.

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

Ви можете сортувати результати за "Віддаленою адресою", щоб знайти IP-адресу, яка вас цікавить.

Приклад:

  • На цьому знімку екрана показано підключення Firefox до сайту stackoverflow.com.

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


CurrPorts Рішення

CurrPorts від Nirsoft забезпечує дуже подібний функціонал.

CurrPorts - це програмне забезпечення для моніторингу мережі, яке відображає список усіх відкритих на даний момент портів TCP / IP та UDP на вашому локальному комп'ютері. Для кожного порту в списку також відображається інформація про процес, який відкрив порт, включаючи назву процесу, повний шлях процесу, інформацію про версію процесу (назва продукту, опис файлу тощо), час, процес був створений та користувач, який його створив.

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

Приклад:

  • На цьому знімку екрана показано підключення Firefox до сайту stackoverflow.com.

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


Що робити, якщо я хочу записати результати?

TcpLogView також від Nirsoft забезпечує ведення журналу з'єднань TCP.

TcpLogView - це проста утиліта, яка контролює відкриті TCP-з'єднання у вашій системі та додає нову лінію журналу щоразу, коли з'єднання TCP відкривається чи закривається. Для кожного рядка журналу відображається така інформація: Навісний час, Тип події (відкрити, закрити, прослухати), Локальна адреса, Віддалена адреса, Ім'я віддаленого хоста, Локальний порт, Віддалений порт, Ідентифікатор процесу, Назва процесу та інформація про країну віддаленого IP-адреси (Потрібно завантажити IP-файл у файл країни окремо.)

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


Відмова від відповідальності

Я жодним чином не пов'язаний із SystemInternals (частина Microsoft) або Nirsoft, я лише кінцевий користувач їх (безкоштовних) утиліт.


Боюся, що неможливо зловити кілька пакетів таким чином, оскільки він швидко зникає. Мені потрібна реєстрація.
Дімс

Уявіть, що я хочу спіймати, хто надсилає пакети 88.221.132.207. Як це бачити? Ця програма навіть не має можливостей пошуку або фільтрації. Тобто я навіть не зможу його зачепити, якщо він швидко зникне.
Дімс

1
Тоді вам, мабуть, потрібен сніффер для пакетів на зразок Wireshark
DavidPostill

1
Wiresharkне показує ідентифікатор процесу Мені потрібно знати (1) процес (2) IP; обидва
Дімс

6
@Dims Використовуйте TCPLogView також від Nirsoft. Відповідь оновлено
DavidPostill

8

У Windows 7/8 * / 10 ви можете використовувати Монітор ресурсів -> Вкладка мережі.

Найпростіший спосіб відкрити монітор ресурсів:

  • Відкрийте диспетчер завдань (права панель завдань -> Запустити диспетчер завдань)
  • Перейдіть на вкладку Ефективність
  • Натисніть кнопку Монітор ресурсів

Монітор ресурсів -> Мережа

* = непідтверджений


2

Цього можна досягти і не завантажуючи додаткові інструменти з адміністративної командної оболонки.

Запустіть командну оболонку адміністратора:

  • Натисніть кнопку запуску
  • Введіть "cmd"
  • Натисніть Ctrl + Shift + Enter

Введіть команду: netstat -tabn

Вимикачі означають наступне:

  • -t Показує поточний стан відключення з'єднання.
    • тобто. ВСТАНОВЛЕНО, СПИСОК, TIME_WAIT
  • -a Відображає всі з'єднання та порти прослуховування.
  • -b Відображає виконуваний файл, що бере участь у створенні кожного порту підключення чи прослуховування. У деяких випадках відомі виконувані файли розміщують кілька незалежних компонентів, і в цих випадках відображається послідовність компонентів, що беруть участь у створенні порту зв'язку або прослуховування. У цьому випадку виконувана аме знаходиться в нижній частині [], вгорі - компонент, який він викликав, і так далі, поки не буде досягнуто TCP / IP. Зауважте, що цей параметр може зайняти багато часу і не вдасться, якщо у вас не буде достатнього дозволу.
  • -n Відображає адреси та номери портів у числовій формі.

Це, правда, не так вже й складно, як результат, досягнутий багатьма варіантами графічного інтерфейсу, але він присутній і доступний без завантаження додаткових інструментів. Він працює і в Linux з трохи іншими комутаторами.


1

Як сказав антик, ви можете використовувати netstat з командного рядка адміністратора. Я б запропонував, що ви використовуєте oзамість цього b, таким чином вихід буде знаходитися в одному рядку для запису, і ви можете додатково відфільтрувати його при пошуку. У вас не буде імені процесу, але ідентифікатор процесу:

Напр

netstat -aon | find ":80"

відображає всі з'єднання, використовуючи порт 80 (локально або віддалено)

Потім ви можете перевірити цей процес у диспетчері завдань або зробити інший фільтр у командному рядку, використовуючи цей список завдань:

tasklist | find "1100"

або

tasklist /FI "PID eq 1100"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.