Как поймать трафик(пакеты) исходящие от определенного приложения с определенным PID(Linux)?

Есть приложение которое генерирует трафик, у него есть свой PID - Как отфильтровать трафик по PID?

KC5PlwTolDI.jpg

Интересует меня в данном случаи PID = 18831/wineserver

Как установить мониторинг за всеми исх./вход. пакетами этого процесса?
  • Вопрос задан
  • 4380 просмотров
Решения вопроса 2
mva
@mva
CEO, CTO, Lua/Gentoo/IPv6 Pioneer
Не согласен с предыущим оратором.

Определённое приложение будет сидеть на определённом сетевом порте

Это в корне не так. Даже если предположить, что приложение — демон (предоставляет какой-то сервис) оно может одновременно "слушать" пакеты на сколь угодно много портов.
Я тут даже опущу описание самой технологии и того, что на "портах" никто не "сидит" и на самом деле "порты" это просто идентификаторы, указывающие кому этот пакет передать.

Если же приложение не является демоном, то оно для исходящих запросов (и получения ответа) каждый раз (для кажого запроса) использует абсолютно рандомные порты (ну, с торрент-клиентами тут есть небольшая оговорка, которая, впрочем, всё равно не отменяет применимости вышесказанного и к некоторым из них.

А отвечая на вопрос ОПа — можно маркировать пакет по прилжению. Например:
iptables -A OUTPUT -p TCP -m owner --pid-owner $PID -j <нужная цель, будь то LOG, ULOG, MARK или что угодно>
Которое, правда, не очень работает на мультиядерных системах :'(

Но можете ещё погуглить немного вокруг match packets by pid и набора утилит из tc/ipset/iptables

// либо запустить то wine-приложение под отдельным пользователем и ичпользовать -m owner --uid-owner $id_пользователя. Так оно работает и на многоядерных системах тоже.
Ответ написан
Комментировать
NetBear
@NetBear
Например по порту. Определённое приложение будет сидеть на определённом сетевом порте.
Сделайте так:
tcpdump -i eth1 'port 80'

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы