Categories: Windows

Как проснифать трафик в Windows без использования WINCAP

Wireshark и его аналоги предоставляют возможность снифать трафик за счет установки WinPcap. Тот, в свою очередь, требует установки драй вера в ОС. Это мы не всегда можем себе позволить, например если хотим сделать все совсем незаметно, с минимальными следами в ОС. И первая радость: начиная с версии Win 7/2008 появилась встроенная возможность отснифать трафик!



Но подход здесь совсем другой — не через драйверы, а за счет логирования событий. Возможности этой подсистемы ОС значительно расширились по сравнению с прошлыми версиями.

Одно из главных понятий в системе логирования — «провайдер». Именно провайдеры отвечают за генерацию событий, которые возникают при определенных действиях пользовательского или системного ПО. То есть захотело приложение послать HTTP-запрос на google.com — должны «отработать» провайдеры, которые отвечают и за резолв имени, и провайдеры API, отвечающего за генерацию запроса, и провайдеры файрвола с конкретными данными пакетов. Получается такая стопка блинчиков… Признаюсь, что от глубин этой части винды я очень далек, но, думаю, общее описание вполне корректно.

Но провайдеров очень-очень много, у меня на Win 8 насчиталось около тысячи. И хотя можно логировать данные отовсюду, но очень быстро утонешь в потоках ивентов. Причем часто данных с одного провайдера может быть недостаточно. Потому есть такое понятие, как сценарии — группы провайдеров, объединенные тематически. Перечень всех провайдеров можно получить командой (под админом в консоли)

netsh trace show providers

Перечень сетевых сценариев:

netsh trace show scenarios

Правда, с ними другая беда — без инета, чисто по описанию об их содержании ничего не поймешь. Например, «Разрешение проблем, связанных с сетевым адаптером». Ну да ладно…

Можно попробовать посмотреть, какие провайдеры входят в тот или иной сценарий:

netsh trace show scenario имя_сценария

В инете для того, чтобы отснифать трафик, предлагается такая команда:

netsh trace start scenario=NetConnection capture=yes
report=yes persistent=no maxsize=1024 correlation=yes
traceFile=C:LogsTrace_name.etl

•netsh trace start — стандартная последовательность для запуска логирования сетевых событий;
•scenario=NetConnection — выбираем сценарий;
•capture=yes — указываем, что данные сетевых пакетов необходимо сохранять (можно хранить только сами события);
•report=yes — создание итогового файла отчета;
•persistent=no — логирование будет отключено при перезагрузке компа;
•maxsize=1024 — максимальный размер итогового файла логов в мегабайтах;
•correlation=yes — группировка связанных событий;
•traceFile=C:LogsTrace_name.etl — путь до файла с логом событий.

Для остановки логирования нужна команда:

netsh trace stop

Фактически эта связка работает. Трафик сохраняется. Но сценарий NetConnection содержит в себе очень много провайдеров, а потому получается слишком много событий, и файл с отчетом растет на глазах. Для реальных действий рекомендую выбрать лишь необходимые провайдеры.

На выходе работы подсистемы логирования событий мы получаем файл в формате etl. Для каких-то дел он, может, и подошел бы, но для анализа трафика реально очень хотелось бы получить pcap, чтобы потом его запихнуть напрямую в Wireshark. Тут нам иногда может помочь тулза от Microsoft — Network Monitor (goo.gl/v0RoQj). Она по функционалу во многом смахивает на Wireshark. Позволяет и снифать, и просматривать содержимое пакетов, но, имхо, значительно менее удобна. Но зато она умеет читать etl-файлы и сохранять потом в pcap (хотя и не всегда с этим успешно справляется).

Архитектура трейсинга событий (взято с MSDN)

Подход не на уровне трафика, а на уровне событий имеет свои плюсы. Network Monitor может указать, какое приложение выполняет те или иные действия в сети (ведь известно, кто инициировал событие), что местами помогает.

Click to rate this post!
[Total: 4 Average: 3]
cryptoworld

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

View Comments

Recent Posts

Лучший адаптер беспроводной сети для взлома Wi-Fi

Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…

11 месяцев ago

Как пользоваться инструментом FFmpeg

Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…

11 месяцев ago

Как создать собственный VPN-сервис

Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…

12 месяцев ago

ChatGPT против HIX Chat: какой чат-бот с искусственным интеллектом лучше?

С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…

12 месяцев ago

Разведка по Wi-Fi и GPS с помощью Sparrow-wifi

Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…

12 месяцев ago

Как обнаружить угрозы в памяти

Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…

12 месяцев ago