Windows 10標準搭載のネットワークスニファーツール「PktMon.exe」の使い方
Windows 10には、ネットワークスニファーツールPktMon.exeが標準搭載されており、内部のパケット伝播やパケットドロップ(破棄)のレポートを監視できます。このツールを活用すれば、ネットワークの状態を詳細に把握でき、遅延の原因を特定したり、影響を受けているアプリケーションを突き止めたりすることが可能です。さらに、他のツールと組み合わせれば、主要なメトリクスに関する深い洞察も得られます。本記事では、Windows 10に搭載された新しいネットワークスニファーツール「PktMon.exe」の使い方を詳しく解説します。
Windows 10のネットワーク診断ツール「pktmon.exe」とは
PktMon.exe(Packet Monitor)は、Windows 10に新しく追加されたネットワークスニファーであり、ネットワーク診断やパケット監視を行うためのコマンドラインツールです。システムフォルダに配置されているため、「ファイル名を指定して実行」やコマンドプロンプト、PowerShellから直接呼び出せます。
「Netsh Trace」コマンドを思い出す方もいるかもしれません。Netsh Traceはネットワークトレースを有効化・構成し、接続問題のトラブルシューティングを支援するコマンドですが、PktMonはそれをさらに進化させ、より柔軟なパケット監視を実現する後継ツールと言えます。
PktMonでできること
コマンドプロンプトで「pktmon help」を実行すると、以下のサブコマンドが表示されます。
- filter: パケットフィルターの管理
- comp: 登録済みコンポーネントの管理
- reset: カウンターをゼロにリセット
- start: パケット監視の開始
- stop: 監視の停止
- format: ログファイルをテキスト形式へ変換
- unload: PktMonドライバーのアンロード
各コマンドの詳細を確認したい場合は、コマンドごとにhelpオプションを付けて実行します。例えば以下のように表示されます。
pktmon filter help
pktmon filter { list | add | remove } [OPTIONS | help]
Commands list 現在アクティブなパケットフィルターを表示 add レポート対象のパケットを制御するフィルターを追加 remove 登録されているすべてのフィルターを削除
また、PktMon.exeはリアルタイム監視機能やPCAPNG形式のファイルにも対応しており、幅広い分析ニーズに応えられます。
PktMonでネットワークトラフィックを監視する手順
ここでは、シンプルな例を使って具体的な使い方を紹介します。全体の流れは以下の3ステップです。
- 監視対象ポートのフィルターを作成する
- 監視を開始する
- ログを読みやすい形式でエクスポートする
この例では、不具合が頻発している特定のポート番号を監視するケースを想定しています。
1. フィルターを作成する
トラフィック監視の中核となるのが「filter」オプションです。このオプションを使うことで、イーサネットフレーム、IPヘッダー、TCPヘッダー、カプセル化といった条件に基づき、レポート対象のパケットを制御するフィルターを作成できます。まず、次のコマンドを実行して、filterコマンドで何ができるのかを確認しましょう。
pktmon filter add help
それでは本題に入りましょう。ここでは、TCPポート1088番を監視すると仮定します。例えば、自作アプリケーションが使用するポートでクラッシュが繰り返される場合、PktMonを使えばネットワークが原因かどうかを切り分けるのに役立ちます。
まず、管理者権限でコマンドプロンプトまたはPowerShellを開きます。
次に、以下の書式でパケットフィルターを作成します:「pktmon filter add -p [ポート番号]」
pktmon filter add -p 1088
登録済みのフィルター一覧を確認するには、「pktmon filter list」を実行します。
すべてのフィルターを削除したい場合は、「pktmon filter remove」を実行してください。
2. 監視を開始する
PktMonはバックグラウンドで常時動作するプログラムではなく、必要なときに手動で実行する仕組みになっています。パケット監視を開始するには、以下のコマンドを実行します。
pktmon start --etw -p 0
これで監視が開始され、指定された場所にログファイルが作成されます。ログ記録を停止するには「stop」引数を付けてコマンドを手動で実行する必要があります。停止しないまま放置した場合は、コンピューターのシャットダウン時に自動的に終了します。なお、「-p 0」を指定すると、各パケットの先頭128バイトのみをキャプチャします。
Log filename: C:\Windows\system32\PktMon.etl Logging mode: Circular Maximum file size: 512 MB
3. ログを読みやすい形式でエクスポートする
ログはETL形式(PktMon.etl)で保存されます。以下のコマンドを実行すれば、人間が読めるテキスト形式へ変換できます。
pktmon format PktMon.etl -o port-monitor-1088.txt
変換後のファイルはメモ帳でも開けますが、内容を本格的に分析したい場合はMicrosoft Network Monitorの利用をおすすめします。Network MonitorならETLファイルを直接読み込めるため、より効率的に調査を進められます。
なお、マイクロソフトはリアルタイム監視機能への対応を進めており、当初はWindows 10バージョン2004で提供される予定でしたが、執が、執筆時点ではまだ該当オプションは確認できていません。今後のアップデートに注目しておきましょう。
関連記事: Windows 10で使える無料パケット解析ツールのまとめ
-
Xbox Kinect を Windows 10 のウェブカメラとして活用する方法
PC用のウェブカメラをお探しの方に朗報です。お手持ちのXbox Kinectを、Windows 10のウェブカメラとして活用できます。Kinectをウェブカメラ化すれば、Microsoft Teams、Skype、Zoomなどのビデオ通話アプリでそのまま使用可能です。さらに便利なのが、Windows Helloのサインイン手段としての活用です。PINコードやパスワードを入力する手間がなくなり、顔認証によって素早くログインできるようになります。Kinectをウェブカメラとして使う前に知っておきたいことマイクロソフトは2017年にKinectの生産を終了しており、Xbox Series X|Sの後
-
Windows 11/10のPowerToys新ユーティリティ「File Locksmith」の使い方徹底解説
最新版のPowerToys v0.64.0には、「File Locksmith」と「Hosts File Editor」という2つの新ユーティリティが搭載されました。PowerToysは、主に開発者向けにWindowsの操作性をカスタマイズするためのユーティリティ集ですが、一般ユーザーにとっても便利なツールが多数含まれています。 たとえばFile Locksmithのほかにも、「Keyboard Manager」を使えばWindows 11やWindows 10のキー割り当てを自由に変更できるなど、日常的な作業の効率化に役立ちます。 File Locksmithとは このユーティリティは、Mi