В Windows 10 появился собственный сниффер трафика pktmon, как запустить и пользоваться



    Исследователи портала Bleeping Computer обнаружили, что компания Microsoft в составе обновления Windows 10 October 2018 Update без информирования пользователей добавила в ОС незаметную программу для диагностики сети и мониторинга пакетов под названием pktmon (Packet Monitor). Ее можно найти по этому пути: C:\Windows\system32\pktmon.exe.

    Причем, информации об этой программе на сайте Microsoft нигде нет. Есть только описание в самой программе, там написано, что это «Monitor internal packet propagation and packet drop reports». Специалисты Bleeping Computer смогли научиться использовать pktmon, тем более у программы есть встроенный справочник. Также они опубликовали в своем исследовании несколько примеров активации разных возможностей pktmon для системных администраторов. Пользователи без административных прав не могут запускать эту программу.

    Фактически, в Windows 10 появился встроенный аналог tcpdump, мощного и популярного инструмента для перехвата и анализа сетевых пакетов. Правда pktmon в настоящее время имеет ограниченный производителем функционал, который еще дорабатывается специалистами Microsoft. Причем полученные и сохраненные данные из pktmon уже сейчас можно использовать и в более функциональных приложениях, например, Microsoft Network Monitor или Wireshark. Вдобавок встроенная справочная документация приложения pktmon достаточно подробная, и лучше с ней ознакомиться, перед тем как начать экспериментировать с возможностями этой программы.

    При использовании pktmon для мониторинга сетевого трафика необходимо настроить в программе фильтры пакетов на нужных портах, например, использовать команду «pktmon filter add -p 20». Для просмотра фильтров пакетов нужно использовать команду «pktmon filter list». Для удаления фильтров есть команда «pktmon filter remove».

    Чтобы отслеживать пакеты на конкретных устройствах необходимо определить ID сетевого адаптера с помощью команды «pktmon comp list». Далее можно начинать перехватывать нужные пакеты: pktmon start --etw -p 0 -c 13, где "-p 0" — аргумент для захвата всего пакета, а "-c 13" — захват только с адаптера с ID 13. Данные будут записываться в файл pktMon.etl:



    Для остановки работы процедуры захвата нужно ввести команду «pktmon stop». Далее можно преобразовать полученный файл в текстовый формат: pktmon PktMon.etl -o ftp.txt. Там будет записана в краткой форме информация о сетевом трафике:



    Полностью файл pktMon.etl можно открыть и анализировать, например, с помощью Microsoft Network Monitor.



    Оказывается, что в новом обновлении Windows 10 May 2020 Update (Windows 10 версии 2004) Microsoft также обновила инструмент pktmon. Теперь с его помощью можно будет перехватывать пакеты в режиме реального времени и даже конвертировать файлы с расширением ETL в формат PCAPNG, которые можно исследовать в программе для захвата и анализа сетевого трафика Wireshark.



    Ранее в начале мая 2020 года Microsoft перенесла на конец мая 2020 начало развертывания большого майского обновления Windows 10 May 2020 Update (версия 2004) для обычных пользователей. Компания планировала выпустить это обновление 12 мая 2020 года. Теперь этот срок сдвинут по соображениям безопасности еще на две недели из-за необходимости исправить выявленную в последний момент уязвимость нулевого дня в Windows 10.
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 20

      0
      А как там раньше без него обходились?

      Я не виндоюзер, но помню, была такая либа winpcap, и никсовый wireshark. Это оно же? Если да, то почему было бы просто не допилить имеющееся?
        +2
        почему было бы просто не допилить имеющееся?


        Лицензия, например? Сторонний софт нельзя просто взять.

        А так Network Monitor был же. Наверное, понадобилась консольная версия.
          0
          www.winpcap.org/misc/features.htm
          Free. WinPcap is released under the BSD open source licence. This means that you have total freedom to modify and use it with your application, even if it's commercial. The binary and source code are available here.

          Как бы есть эталонная либа, поверх которой написанные классические тулы. МС же начали топить за опенсурс, за developer experience. Состыковали бы
            +2

            Не в их стиле, вы же знаете. Если это написали не они, то софт обладает фатальным недостатком.

              0
              Кстати, интересно, есть ли внутри Windows что-то без ихнего копирайта?
                +2
                EDGE — Chromium
                  +1
                  ядро Убунту :)
                    –1
                    BSD шные сокеты до недавнего времени. Потом переписали всё таки, насколько я знаю.
            0
            Интеренсо. Не знал о такой штуке в Windows 10. И хорошо конечно, что она появилась.
            Но всё таки IMHO это не полноценная замена wireshark-у.
              +8
              Слабенькая находка. Со времен 7-ки есть:
              Netsh trace start capture=yes CaptureInterface="Wi-Fi " IPv4.Address=192.168.1.1  tracefile=D:\trace.etl" maxsize=11

              Кроме того, Network Monitor, Message Analyzer теперь deprecated, хотя поставить, конечно можно. Мне нравится Network Monitor, потому что в нем видна привязка трафика к pid процесса.
              Наверное, более правильным будет использование etl2pcapng
              Ну да, действительно в 2004 можно сделать так
              pktmon filter add -t udp -p 53
              pktmon start --etw -l real-time | select-string "www.ru" 

              и даже
              pktmon pcapng log.etl [-o log.pcapng]

                +13
                Какое достижение! Убить мощнейший Microsoft Message Analyzer, которому аналогов нет вообще, ликвидировать даже сервер библиотек для него (сколько центов сэкономили?!), а потом клепать примитивные костыли из трёх функций.

                Если кто не знал, в Windows 8.1/10 встроена система, позволяющая даже удалённо перехватывать и анализировать traffic, не добавляя в стек потенциально деструктивные фильтры вроде NPCap. То есть даже в production можно traffic перехватить удалённо, если нужно. И ядро программы, которая это умела (Message Analyzer), разрабатывал, похоже, один человек (ещё куча отделов делала плагины-анализаторы каждый для сообщений своего ПО), который где-то в 2016 году уволился(?). Среди программистов Microsoft, наверное, не нашлось никого, кто мог бы продолжить разработку, потому что через несколько лет менеджмент принял решение проект закрыть и даже уничтожить сервер с сотнями плагинов для анализа трафика всего мыслимого ПО Microsoft.

                И вот кто-то из инженеров, видимо, подпольно, раз это не документировали, добавил мини-обёртку над «осиротевшей» системой перехвата traffic-а — работать-то как-то надо.
                  +2
                  Прекращение Message Analyzer очень меня удивило, вроде флагман был. Кто мешал его выложить на github, если нет желания и возможности самим разрабатывать.

                  К слову, NPCap еще ни разу в prod не вызвала проблем, хотя тоже не люблю лишние фильтры. Возможно потому, что в этой библиотеке не должно быть функций воздействующих на трафик.
                    +1
                    Я в своей практике достаточно навидался проблем с WinPCap при повышении нагрузки, так что не стал бы рекомендовать и новый NPCap в production тоже. Всё равно ведь каждый пакет проходит через сторонний драйвер, пусть теперь и используя NDIS6 Filter API. Возможность некорректно обработать пакет — не вернуть его в дальнейшую обработку, насколько я понимаю, никуда не далась, а именно это и происходило, видимо, в случае «глюков» WinPCap.
                      0
                      Спасибо. Не помните, как внешне проявлялись эти проблемы? Обычно я Wireshark удаляю, или использую зеркалирование трафика в VMware, но иногда нахожу машины, где забыл.
                        0
                        Чаще всего, насколько я помню, при возрастании нагрузки вылетал BSoD, после удаления WinPCap симптом пропадал. Были, опять же, насколько я помню, более сложные «плавающие» проблемы, которые решались сносом WinPCap, но подробностей за давностью лет не помню. Последние годы особо не встречал *PCap на production и проблем с ними тоже.
                  0
                  было интересно, спасибо!
                    +3
                    Интересно узнать, отображает ли оно телеметрию самой системы.
                      +1
                      *шутка, что сниффер в Windows был и раньше, только работал наоборот :)*
                        –1
                        Все действия MS необходимо рассматривать только с одной точки зрения — как на этом можно срубить бабла.
                        Например, ISA/FTMG, очень неплохой продукт (кстати, так-же, купленый,) интегрально перестал приносить бабки, и его за_рыли. Хотя в составе Hyper-V, мог бы быть интересен.
                        Так-же MS приходиться лавировать вокруг их антимонопольного законодательства, пример Citrix. MS могла бы его «ушатать» в один прием, но им необходимо удерживать на плаву некоторое количество конкурентов. Иначе попилят.
                          0
                          Для конвертации нужно использовать «format», т.е. команда:
                          pktmon PktMon.etl -o ftp.txt
                          должна быть:
                          pktmon format PktMon.etl -o ftp.txt

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое