Я ищу модуль метода / взлома / ядра для захвата сетевого трафика PID и всех его вилок / дочерних процессов.
У меня есть приложение firefox, которое открывает некоторые веб-страницы и начинает потоковую передачу с помощью потоковой передачи Flash, WMV или любого другого протокола потоковой передачи, а также «простой» загрузки img, js и другого «статического» контента.
Я заинтересован в захвате этого трафика и, в конечном итоге, в изоляции этих потоков.
Wireshark не поддерживает захват по идентификатору процесса, но я предполагаю, что это можно обойти (и это суть моего вопроса). Очевидно, что настройка полной виртуальной машины и запуск только firefox с wirehark в ней будет работать, но меня гораздо больше устраивает облегченное решение, возможно, основанное на chroot? в сочетании с модулем владельца iptables.
Мы будем очень благодарны за идеи или полные решения.
-- РЕДАКТИРОВАТЬ:
Люди справедливо предполагают, над какой ОС я работаю: вопрос в основном касается ОС Linux, но если работоспособное решение будет найдено в Windows / OpenSolaris / MacOSX или любой другой ОС, доступной для хакеров, этот ответ будет принят.
Взгляните на цель ULOG для iptables в сочетании с модулем сопоставления владельцев. Это не совсем то, о чем вы просили, но если вы создаете пользователя специально для своего тестирования и запускаете только приложение, которое вы пытаетесь просмотреть, как этот пользователь, вы должны быть довольно близки.
ULOGD, по крайней мере, насколько я могу судить, будет писать файл с необработанными пакетами. Я сам этого не делал, поэтому не могу поручиться за это, но похоже, что он сделает то, что вы хотите.
Вы можете настроить http-прокси и настроить Firefox на его работу, а затем проанализировать это. Если вы запустите прокси-сервер через другую машину (даже виртуальную машину), которая ничего не делает, вы можете использовать Wireshark ... Я думаю, это достаточно изолирует трафик.
В идеале вы могли бы отделить трафик Firefox, добавив на свой компьютер еще один IP-адрес и заставив Firefox использовать его при открытии исходящих соединений.
Это возможно, например, с OpenSSH:
ssh -b 192.0.2.64 [...]
Но я не смог найти ни одной опции командной строки или записи настроек для этого в Firefox.
Вместо этого вы можете использовать простой (локальный) HTTP-прокси, например tinyproxy
, опять же, когда прокси использует уникальный IP-адрес для исходящего трафика. tinyproxy
делает это с Bind
установка в tinyproxy.conf
, например:
Bind 192.0.2.64
Наконец, вы можете изучить что-то более легкое, чем полноценная виртуальная машина. Ты упомянул iptables
поэтому я предполагаю, что вы используете хост Linux; есть несколько решений, таких как LXC и OpenVZ это может помочь, если HTTP-проксирование вам не подходит.
Установить HTTPWatch на рабочем столе и щелкните запись перед тем, как начать просмотр.