Ком­па­ния Microsoft втихую доба­ви­ла встро­ен­ный сниф­фер сете­вых паке­тов в обнов­ле­ние Windows 10 еще в октяб­ре 2018 года, и с момен­та его выпус­ка он остал­ся неза­ме­чен­ным.

Сни­фер паке­тов, или сете­вой сни­фер, пред­став­ля­ет собой про­грам­му, кото­рая отсле­жи­ва­ет сете­вую актив­ность, про­те­ка­ю­щую по ком­пью­те­ру вплоть до уров­ня отдель­ных паке­тов. Она может исполь­зо­вать­ся сете­вы­ми адми­ни­стра­то­ра­ми для диа­гно­сти­ки сете­вых про­блем, про­смот­ра того, какие типы про­грамм исполь­зу­ют­ся в сети, или даже для про­слу­ши­ва­ния сете­вых раз­го­во­ров, пере­да­ва­е­мых откры­тым тек­стом. В то вре­мя как поль­зо­ва­те­ли Linux все­гда име­ли инстру­мент tcpdump для выпол­не­ния сете­во­го про­слу­ши­ва­ния, поль­зо­ва­те­лям Windows при­хо­ди­лось уста­нав­ли­вать про­грам­мы сто­рон­них про­из­во­ди­те­лей, такие как Microsoft Network Monitor и Wireshark.

Все изме­ни­лось, когда Microsoft выпу­сти­ла октябрь­ское обнов­ле­ние 2018 года, после кото­ро­го Windows 10 постав­ля­ет­ся с новой про­грам­мой “Packet Monitor” под назва­ни­ем pktmon.exe.

Встроенный сниффер пакетов теперь и в Windows 10

С выхо­дом обнов­ле­ния Windows 10 октяб­ря 2018 ком­па­ния Microsoft тихо доба­ви­ла новую про­грам­му диа­гно­сти­ки сети и мони­то­рин­га паке­тов, она нахо­дит­ся по адре­су C:\Windows\system32\pktmon.exe.

Эта про­грам­ма име­ет опи­са­ние “Monitor internal packet propagation and packet drop reports”, кото­рое ука­зы­ва­ет на то, что она пред­на­зна­че­на для диа­гно­сти­ки сете­вых про­блем. Подоб­но коман­де Windows ‘netsh trace’, она может быть исполь­зо­ва­на для выпол­не­ния мони­то­рин­га дан­ных (сниф­фин­га), пере­да­ва­е­мых по ком­пью­те­ру.

В Windows 10 есть скрытый сниффер сетевых пакетов: где его найти и как использовать

Об этой про­грам­ме нет упо­ми­на­ния на сай­те Microsoft, кото­рое мы мог­ли бы най­ти, и мы долж­ны были научить­ся поль­зо­вать­ся ею. К сча­стью, она вклю­ча­ет доволь­но обшир­ную систе­му помо­щи, кото­рую мож­но исполь­зо­вать, набрав pktmon [команда] help. Напри­мер, pktmon filter help выдаст вам экран помо­щи для коман­ды филь­тра­ции.

В Windows 10 есть скрытый сниффер сетевых пакетов: где его найти и как использовать

Что­бы научить­ся поль­зо­вать­ся Pktmon, насто­я­тель­но реко­мен­дую про­чи­тать спра­воч­ную доку­мен­та­цию и поиг­рать с про­грам­мой. В сле­ду­ю­щем раз­де­ле мы так­же при­ве­дем при­мер, кото­рый помо­жет вам начать пол­но­цен­ное исполь­зо­ва­ние.

Использование Pktmon для мониторинга сетевого трафика

К сожа­ле­нию, погру­же­ние в пол­ный набор воз­мож­но­стей Pktmon выхо­дит за рам­ки этой ста­тьи, но мы хоте­ли пока­зать вам осно­ву того, как мож­но исполь­зо­вать этот инстру­мент.

Для наше­го при­ме­ра мы будем исполь­зо­вать Pktmon для мони­то­рин­га FTP-тра­фи­ка с ком­пью­те­ра, на кото­ром он запу­щен.

Для это­го нам сна­ча­ла нуж­но запу­стить интер­пре­та­тор команд Windows 10, посколь­ку Pktmon тре­бу­ет при­ви­ле­гий адми­ни­стра­то­ра.

Один из спо­со­бов быст­ро открыть интер­пре­та­тор команд (тер­ми­нал) в Windows 10: нажми­те Windows+R, что­бы открыть окно “Выпол­нить”. Вве­ди­те “cmd” в поле и затем нажми­те Ctrl+Shift+Enter, что­бы запу­стить коман­ду от име­ни адми­ни­стра­то­ра.

Затем нам нуж­но создать два пакет­ных филь­тра, кото­рые будут сооб­щать Pktmon, какой тра­фик нуж­но отсле­жи­вать, в нашем слу­чае это будет тра­фик на TCP пор­тах 20 и 21.

Эти филь­тры могут быть созда­ны с помо­щью коман­ды pktmon filter add -p [порт] для каж­до­го пор­та, кото­рый мы хотим кон­тро­ли­ро­вать.

Затем вы може­те исполь­зо­вать коман­ду pktmon filter list, что­бы уви­деть пакет­ные филь­тры, кото­рые мы толь­ко что созда­ли.

В Windows 10 есть скрытый сниффер сетевых пакетов: где его найти и как использовать

Для нача­ла мони­то­рин­га паке­тов, вза­и­мо­дей­ству­ю­щих с TCP-пор­та­ми 20 и 21, необ­хо­ди­мо исполь­зо­вать коман­ду pktmon start --etw.

После ее выпол­не­ния pktmon запи­сы­ва­ет все паке­ты на ВСЕХ сете­вых интер­фей­сах в файл под назва­ни­ем PktMon.etl и запи­сы­ва­ет толь­ко пер­вые 128 байт паке­та.

Что­бы запи­сать в жур­нал весь пакет и толь­ко с опре­де­лен­но­го сете­во­го устрой­ства, мож­но исполь­зо­вать аргу­мен­ты ‑p 0 (захват все­го паке­та) и ‑c 13 (захват толь­ко с адап­те­ра с ID 13).

Что­бы опре­де­лить иден­ти­фи­ка­тор ваших адап­те­ров, вы може­те запу­стить коман­ду

pktmon comp list command

Когда мы объ­еди­ня­ем все аргу­мен­ты, мы полу­ча­ем окон­ча­тель­ную коман­ду:

pktmon start --etw -p 0 -c 13

В Windows 10 есть скрытый сниффер сетевых пакетов: где его найти и как использовать

Теперь Pktmon будет тихо рабо­тать, захва­ты­вая все паке­ты, кото­рые соот­вет­ству­ют нашим вход­ным филь­трам.

Что­бы оста­но­вить захват паке­тов, вве­ди­те коман­ду pktmon stop, и в той же пап­ке будет создан лог-файл PktMon.etl.

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

pktmon format PktMon.etl -o ftp.txt

Одна­ко даже пре­об­ра­зо­ван­ный в текст, он не даст вам пол­ные паке­ты, а толь­ко свод­ную инфор­ма­цию о сете­вом тра­фи­ке, как пока­за­но ниже.

В Windows 10 есть скрытый сниффер сетевых пакетов: где его найти и как использовать

Что­бы была поль­за из полу­чен­ных дан­ных, мож­но ска­чать и уста­но­вить Microsoft Network Monitor и исполь­зо­вать его для про­смот­ра фай­ла ETL.

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

Напри­мер, ниже вы може­те уви­деть пакет, содер­жа­щий откры­тым тек­стом пароль, кото­рый мы вве­ли при вхо­де на этот тесто­вый FTP-сер­вер.

В Windows 10 есть скрытый сниффер сетевых пакетов: где его найти и как использовать

По окон­ча­нии рабо­ты с про­грам­мой Pktmon вы може­те уда­лить все создан­ные филь­тры с помо­щью коман­ды:

pktmon filter remove

Мониторинг в режиме реального времени и поддержка PCAPNG появится в ближайшее время

В свя­зи с пред­сто­я­щим выпус­ком обнов­ле­ния Windows 10 May 2020 Update (Windows 10 2004) кор­по­ра­ция Microsoft обно­ви­ла инстру­мент Pktmon, поз­во­ля­ю­щий теперь отоб­ра­жать отсле­жи­ва­е­мые паке­ты в режи­ме реаль­но­го вре­ме­ни и пре­об­ра­зо­вы­вать фай­лы ETL в фор­мат PCAPNG.

В вер­сии Pktmon, кото­рая появит­ся в сле­ду­ю­щем обнов­ле­нии, вы може­те вклю­чить мони­то­ринг в режи­ме реаль­но­го вре­ме­ни с помо­щью аргу­мен­та ‑l в режи­ме реаль­но­го вре­ме­ни.

Это при­ве­дет к тому, что захва­чен­ные паке­ты будут отоб­ра­жать­ся непо­сред­ствен­но на экране, одно­вре­мен­но сохра­няя их в файл ETL.

В Windows 10 есть скрытый сниффер сетевых пакетов: где его найти и как использовать

Microsoft так­же добав­ля­ет воз­мож­ность кон­вер­ти­ро­вать фай­лы ETL в фор­мат PCAPNG, что­бы их мож­но было исполь­зо­вать в таких про­грам­мах, как Wireshark.

В Windows 10 есть скрытый сниффер сетевых пакетов: где его найти и как использовать

После пре­об­ра­зо­ва­ния фай­ла в фор­мат PCAPNG его мож­но открыть в Wireshark, что­бы вы мог­ли луч­ше про­смат­ри­вать сете­вую связь.

источ­ник: bleepingcomputer.com