Windows дамп сетевого трафика

Встроенный анализатор (сниффер) сетевого трафика Packet Monitor (PktMon.exe) появился еще в Windows 10 1809 и Windows Server 2019. В последнем билде Windows 10 2004 (May 2020 Update), функционал анализатора пакета был существенно расширен (появилась поддержка захвата пакетов в реальном времени, и поддержка формата PCAPNG для простого импорта в анализатор сетевого трафика Wireshark). Таким образом в Windows появился функционал захвата сетевого трафика, аналогичный tcpdump, и его можно смело использовать системными и сетевыми администраторам для диагностики работы сети.

Packet Monitor позволяет получить всю сетевую активность, проходящую через сетевой интерфейс компьютера на уровне каждого пакета.

Ранее для захвата сетевого трафика и инспектирования пакетов в Windows использовалась команда netsh trace.

Справку по использованию параметров
pktmon.exe
можно получить, набрав команду в командной строке.

Packet Monitor (PktMon) сниффер сетевого трафика в Windows

Основные команды утилиты Packet Monitor:

  • filter — управление фильтрами пакетов
  • comp – управление зарегистрированными компонентами;
  • reset — сброс счетчиков;
  • start – запустить мониторинг пакетов;
  • stop— остановить сбор пакетов;
  • format – конвертировать лог файл трафика в текстовый формат;
  • pcapng – конвертация в формат pcapng;
  • unload – выгрузить драйвер PktMon.

Чтобы получить справку по субкоманде, укажите ее имя:

pktmon filter

справка по командам pktmon

Попробуем собрать дамп трафика, который приходит на некоторые запущенные службы компьютера. Допустим, нам нужно проанализировать трафик FTP (TCP порты 20, 21) и HTTP (порты 80 и 443).

Создадим фильтр пакетов для 4 TCP портов (также можно мониторить UDP и ICMP трафик):

pktmon filter add -p 20 21
pktmon filter add HTTPFilt –p 80 443

Выведем список имеющихся фильтров:

pktmon filter list

добавлние сетевых фильтров в pktmon filter

Чтобы запустить фоновый сбор трафика, выполните команду:

pktmon start –etw

Log file name: C:\Windows\System32\PktMon.etl
Logging mode: Circular
Maximum file size: 512 MB
Active measurement started.

pktmon start запустить сбор сетевых пакетов

В таком режиме pktmon собирает данные со всех сетевых интерфейсов, но в журнал попадают только первые 128 байтов пакета. Чтобы захватить пакеты целиком и только на определенном интерфейсе компьютера, используется команда:

pktmon start --etw -p 0 -c 9

где значение аргумента c – номер (ID) нужного сетевого интерфейса, полученного с помощью:

pktmon comp list

pktmon comp list - список сетевых интерфейсов, загруженных драйверов, протоколов и фильтров стека TCP-IP в Windows

Фильтр пакетов начнет запись всего трафика, соответствующего заданным фильтрам в файл C:\Windows\System32\PktMon.etl (максимальный размер 512 Мб). Чтобы остановить запись дампа, выполните команду:

pktmon stop

Также сбор сетевых пакетов прекращается после перезегрузки Windows.

Теперь вы можете сконвертировать файл с дампом трафика из формата ETL в обычный текст:

pktmon format PktMon.etl -o c:\ps\packetsniffer.txt

или

pktmon PCAPNG PktMon.etl  -o c:\ps\packetsniffer.pcapng

Полученный дамп трафика можно анализировать в текстовом виде, загрузить ETL файл в установленный на компьютере администратора Microsoft Network Monitor или WireShark (в форматер PCAPNG).

анализ дампа трафика в Microsoft Network Monitor

Чтобы удалить все созданные фильтры Packet Monitor, выполните:

pktmon filter remove

Вы можете использовать PktMon для мониторинга сетевого трафика в реальном времени. Для этого используется параметр
-l real-time
. В этом режиме захваченные сетевые пакеты отображаются в консоли, и не пишутся в фоновом режиме в лог файл.

pktmon start --etw -p 0 -l real-time

PktMon трафик в реальном времени real-time

Чтобы остановить сбор трафика, используйте комбинацию клавиш Ctrl+C.

Если у вас наблюдается drop пакетов на сетевом интерфейсе, PacketMon может показать причину дропов (например, некорректный MTU или VLAN).

Также вы можете использовать PktMon в Windows Admin Center через расширения. Собранные данные с компьютеров и серверов при диагностике сетевых проблем можно использовать для анализа в более мощных программах анализа сетевого трафика, таких как Microsoft Network Monitor или Wireshark.

ETW, Wireshark, tcpdump — сетевые анализаторы трафика, которые могут использоваться для анализа трафика, проходящего через сетевой интерфейс хоста. Они могут понадобиться для обнаружения и решения проблем с сетью, отладки веб-приложений, сетевых программ или сайтов.

Дамп трафика на серверах Windows стандартными средствами

Запускаем командную строку от имени администратора и запускаем сбор трафика:

C:\Windows\system32>netsh trace start scenario=netconnection capture=yes maxsize=2048 tracefile=c:\dump01.etl

Останавливаем сбор трафика:

C:\Windows\system32>netsh trace stop

Преобразование etl в формат pcapng с помощью etl2pcapng

Windows поставляется с компонентом захвата трафика под названием «ndiscap», который реализован как поставщик трассировки событий Windows (ETW).

Файл, созданный ndiscap, представляет собой файл etl, который можно открыть с помощью инструментов, ориентированных на ETW, таких как Microsoft Message Analyzer, но не может быть открыт с помощью Wireshark.

etl2pcapng.exe может преобразовать файл etl в файл pcapng для открытия с помощью Wireshark.

Бинарники доступны в разделе Releases: https://github.com/microsoft/etl2pcapng/releases

Выполняем преобразование дампа:

c:\etl2pcapng>etl2pcapng.exe in.etl out.pcapng

Дамп трафика на серверах Linux с помощью утилиты tcpdump

Сначала установите утилиту tcpdump:

RHEL

yum install tcpdump -y
dnf установить tcpdump -y

Ubuntu / Debian

apt install tcpdump -y

Запускаем сбор трафика без преобразования имен DNS и с сохранением дампа в файл.

tcpdump -i ens192 -n -w /tmp/dump01.pcap

Categories:

  • IT
  • Компьютеры
  • Cancel

Метода работает для windows 2008r2 (win7) и старше.
Пример: Моя ip-атс находится по адресу 192.168.0.5.

старт снятия дампа трафика: netsh trace start persistent=yes capture=yes tracefile=c:\trace\trace.etl IPv4.Address=192.168.0.5 Protocol=(TCP,UDP)  maxSize=500

останов снятия дампа трафика: netsh trace stop

Использованы опции:

maxSize — Максимальный размер файла трассировки. «0» — без ограничения, по умолчанию 0.

persistent — Продолжит ли работать команда после рестарта компьютера до “Netsh trace stop”, по умолчанию no

traceFile — Местоположение файлв трассировки. Путь и имя файла по умолчанию: “traceFile=%LOCALAPPDATA%\Temp\NetTraces\NetTrace.etl”

Чтобы сделать дамп (журнал) трафика в Windows через Wireshark, проделайте следующие шаги:

  1. Скачать и установить Wireshark. Нужна полная версия, портативная не подойдет.
  2. Определить адрес блокируемого сайта командой nslookup [адрес сайта]. Выполнять из-под командной строки.
  3. Выбрать сетевой интерфейс, ввести в поле «…using this filter» строку вида:
    host [IP-адрес]
  4. Если адресов несколько, нужно объединить их словом «or»:
    host [IP-адрес 1] or [IP-адрес 2]
    После чего нажать enter, чтобы запустить захват трафика.
  5. Зайти на заблокированный сайт по HTTPS.
  6. Остановить захват трафика кнопкой с иконкой красного квадрата на панели. Нажать file → save as, сохранить в файл.
  7. Если вас попросили отправить файл, отправьте мне на iam@valdikss.org.ru

Проделать это дважды, с запущенным GoodbyeDPI и без.

В системах Windows для захвата и последующего анализа сетевого трафика многие из нас пользуются такими известными инструментами как Network Monitor или Wireshark. Захват трафика через эти инструменты в наблюдаемой системе предполагает установку дополнительных компонент, выстраивающихся в функции сетевого обмена. Начиная с Windows 7 / Windows Server 2008 R2 у нас появилась возможность выполнять захват трафика встроенными в систему средствами, то есть мы можем выполнить захват трафика на интересующей нас системе не выполняя непосредственную установку дополнительных программных средств, а полученный в результате захвата файл сетевого дампа в дальнейшем анализировать на той системе где установлены соответствующие средства анализа, например на рабочей станции администратора с установленным Network Monitor.

Для того, чтобы активировать захват сетевого трафика проходящего через все сетевые интерфейсы на интересующей нас системе выполним команду с правами Администратора:

Netsh trace start scenario=NetConnection capture=yes report=yes persistent=no maxsize=1024 correlation=yes traceFile=C:\Logs\NetTrace.etl

При этом каталог, который мы указываем в качестве сохранения файла захвата должен существовать в файловой системе, иначе мы получим ошибку ‘The system cannot find the path specified.

image

Если обследуемая система имеет несколько сетевых интерфейсов и нас интересует трафик только на определённом интерфейсе, то синтаксис команды будет выглядеть примерно так:

Netsh trace start scenario=NetConnection capture=yes ipv4.address=192.168.0.100 report=yes persistent=no maxsize=1024 correlation=yes traceFile=C:\Logs\NetTrace.etl

Захват трафика запущен и после того, как мы выполнили необходимые манипуляции, например воспроизвели изучаемую проблему из-за которой мы и решили анализировать трафик, останавливаем захват трафика командой:

Netsh trace stop

В результате будет сгенерирован ETL файл а также CAB архив содержащий дополнительные данные, которые могут потребоваться для анализа сетевых проблем.

image

Полученный ETL файл копируем на рабочую станцию Администратора, запускаем Network Monitor и открываем файл из меню File > Open > Capture

image

Загруженные данные будут разложены на фреймы с малопонятной структурой, да ещё и с предупреждением в описании практически каждого фрейма типа ‘Windows stub parser: Requires full Common parsers. See the «How Do I Change Parser Set Options(Version 3.3 or before) or Configure Parser Profile (Version 3.4)» help topic for tips on loading these parser sets‘. Для того чтобы получить более или менее читаемый вид, нужно применить так называемый Parser Profile. Через меню Tools > Options откроем свойства Parser Profiles и назначим в качестве активного профиля – Windows 

image

После этого данные трассировки будут перечитаны и представлены в более удобоваримой форме и теперь можно «забуриваться» в анализ…

Дополнительная информация:

The troubleshooters and problem solvers — Network tracing (packet sniffing) built-in to Windows Server 2008 R2 and Windows Server 2012
Blog IT, IS, etc… — Network trace without NetMon, WireShark, etc…
Blog IT, IS, etc… — Network trace without NetMon, wireShark, etc… Part 2

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Oem drv86 sys windows 7 восстановить
  • Шрифты для консоли windows
  • Victoria hdd windows 10 x64 portable
  • Net framework для windows 7 x32 sp1
  • Посмотреть владельца файла windows