Microsoftが、Windows 10 October 2018 Updateにひっそりと組み込みのネットワークパケットスニファ「pktmon」を追加していたことがわかりました(BleepingComputer)。
パケットスニファ(ネットワークスニファ)は、コンピューター上のネットワークアクティビティをパケットレベルで監視することができるプログラムです。
ネットワーク管理者がネットワーク上でどのようなプログラムが使用されているのかを確認したり、パスワードなどの重要な情報が平文で送信されていないかを確認するために使用されますが、最近までWindowsには標準のツールは組み込まれていませんでした。
Windows 10 October 2018 Update(Version 1809)では状況が変わり、標準状態でpktmon.exeプログラムが搭載され、Wiresharkなどのサードパーティ製アプリをインストールしなくても、パケットのモニタリングが可能となっています。
pktmonの使用方法
コマンドプロンプトで「pktmon help」と入力すると以下のようなメッセージが表示されます。
各コマンドの詳細なオプションは例えば「pktmon start help」で確認可能です。
>pktmon help pktmon { filter | comp | reset | start | stop } [OPTIONS | help] 内部パケット伝達レポートとパケット ドロップ レポートを監視します。 コマンド filter パケット フィルターを管理します。 comp 登録されたコンポーネントを管理します。 reset カウンターをゼロにリセットします。 start パケットの監視を開始します。 stop 監視を停止します。 format ログ ファイルをテキストに変換します。 unload PktMon ドライバーをアンロードします。 help コマンドのヘルプ テキストを表示します。
例えばFTPを監視する場合まずフィルタを追加します。
pktmon filter add -p 20 pktmon filter add -p 21
パケットの監視および終了は以下のコマンドとなります。
pktmon start --etw pktmon stop
出力されるログファイルPktMon.etlをテキストファイルに変換し中身を確認します。
pktmon format PktMon.etl -o ftp.txt
最後にフィルタを削除します。
pktmon filter remove
なおWindows 10 Version 2004ではstartコマンドに「real-time」オプションが追加され、画面上に直接パケットを表示することができるようになるそうです。
pktmonは先日、Windows 10 Build 19628でDNS over HTTPSの初期サポートが追加された際、DNSプロトコルが暗号化されたかどうかを確認する方法として使用例が紹介されていました。
標準ツールとしてネットワークスニファが追加されたことは、Wiresharkなどのサードパーティアプリをインストールすることに抵抗感のあった方にとっては朗報といえそうです。