Я пытаюсь перехватить весь IP-трафик на машине Windows со всех интерфейсов.
- Я должен быть в состоянии захватить идентификатор процесса, который генерировал исходящий трафик.
- Мне нужно иметь возможность инициировать захват из командной строки и автоматически анализировать файл захвата во внешнем инструменте.
Я пытаюсь использовать netsh
, который, кажется, в состоянии сделать работу. Однако у меня возникают проблемы с выяснением, как извлечь нужную мне информацию.
Запуск netsh trace start persistent=yes capture=yes tracefile=xxx
тогда кажется, что netsh trace stop
захватывает нужную мне информацию. Если я загружаю сгенерированный файл .etl в Windows Message Analyzer (WMA), я вижу IP-трафик и много другой информации о событиях.
Мои конкретные проблемы:
- Как ограничить
netsh
только для захвата IP-трафика? - Как мне разобрать файл etl без такого инструмента, как WMA?
По поводу второго вопроса. Мне удалось преобразовать файл etl в файл xml (используя tracerpt
или netsh trace convert
. Однако данные кажутся неполными. Я не вижу, например, IP-адрес, на который я знаю, что трафик был отправлен (подтверждено в WMA). Возможно, все это спрятано в каком-то двоичном блобе.