Захоплення трафіку для конкретного застосування


14

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


Яку операційну систему ви використовуєте? Скільки ви знаєте про додаток? Чи знаєте ви, що він використовує конкретні порти?
Джеймс Поллі

Windows Server 2008 R2 / Windows 7 Я нічого не знаю про номери портів. Це IP (TCP / UDP) трафік.
melco-man

1
Отже, для уточнення. Ви хоч хочете побачити ідентифікатор процесу. Але щось на зразок netstat -aon цього не зробить, оскільки ви хочете побачити і для невдалих спроб з'єднання. (Я нічого не знаю, і вам пощастить, якщо хтось зробить, але чи можете ви уточнити, що ви хочете?)
barlop

Чи знаєте ви, де програма намагатиметься підключитися? Я думаю, ви могли б використовувати провідну стрілку та використовувати фільтри, щоб підготувати до місця призначення / IP?
emtunc

Крім того, залежно від типу додатка, ви можете змусити його пройти через проксі-сервер і використовувати щось на зразок fiddler для збору трафіку цієї програми. Ніколи не пробував, але не бачу, чому це не вийде. Це може бути таким же простим, як зміна налаштувань проксі IE на проксі-сервер fiddler (порт 8888 за замовчуванням) або настільки ж складно, як перекомпіляція програми для використання проксі-сервера або якимось чином змушує програму використовувати проксі - я впевнений, що там є додатки що може це зробити.
emtunc

Відповіді:


4

Можна захопити весь мережевий трафік для даної програми, перехопивши дзвінки API Sockets. Це інструменти, які можуть допомогти.

  1. Проксокет написав Луїджі Ауріема. Він перехоплює дзвінки API і економить захоплений трафік як готовий Wireshark файл .cap у форматі tcpdump. Ніщо не є більш пояснювальним, ніж зображення, яке надав сам Луїджі:Знімок екрана

  2. NirSoft має додаток SocketSniff, яке дозволяє фіксувати трафік певного процесу. Малюнок також вартує тисячі слів:Знімок екрана

На жаль, згадані інструменти, ймовірно, не підтримують 64-бітні програми. Однак можна записати користувальницький перехоплювач за допомогою бібліотеки mhook, що підтримує 32-бітний та 64-бітний API.


+1 для безкоштовних безкоштовних інструментів NirSoft, які є надзвичайно хорошими, зазвичай портативними (один .exe) та невеликими (<500 КБ). Там дуже талановитий розробник!
Баш

А як щодо Linux?
Аарон Франке

@AaronFranke straceможе допомогти. Дивіться тут: askubuntu.com/a/12465/505090
PF4Public

2

Microsoft Network Monitor може дозволити вам сказати "захоплюйте лише пакети, надіслані в та з цієї програми".


-1 для невиразної та переважно здогадної відповіді.
Циліндрик

А як щодо Linux?
Аарон Франке

1

Найпростіший у використанні - Fiddler 2. Це налагоджувач, який дозволяє переглядати запити HTTP, HTTPS та FTP (обидва, якщо вони налаштовані) з будь-якою програмою на вашому ПК.

Після його встановлення для націлювання на конкретну програму просто натисніть та утримуйте пункт меню " Будь-який процес ", а потім перетягніть курсор до відкритого вікна та відпустіть його. Він показуватиме цільову програму лише до того, як ви клацнете правою кнопкою миші на пункт меню, який тепер зчитує цільовий процес червоним текстом, щоб звільнити його.

http://fiddler2.com/


Як використовувати Fiddler для не HTTP / FTP запитів?
Pacerier

0

У Windows TCPView повинен робити все, що вам потрібно: він може показати вам всі TCP та UDP-з'єднання, які певна програма відкрила.

Однак я думаю, що це стане в нагоді лише в тому випадку, якщо програма відкриє з'єднання і залишить його відкритим; вони не збираються показувати весь мережевий трафік певною програмою. Можливо, наприклад, він здійснює дуже короткий дзвінок по телефону додому під час завантаження, але з'єднання припиняється до моменту запуску TCPView.

Монітор процесів може допомогти отримати більш детальну інформацію, але я не використовував її, тому не знаю, наскільки це відображає мережеві розетки.


4
TCPView допоможе лише при встановлених з'єднаннях. Мені потрібно бачити навіть невдалі спроби з'єднання TCP.
melco-man

1
У такому випадку я не маю ідеї. Напевно, варто додати це до питання.
Джеймс Поллі

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