1. Pktmonとは?Windows標準のパケットキャプチャツール
Pktmon(Packet Monitor)は、Windows 10バージョン1809以降に標準で搭載されているパケットキャプチャツールで、Windows 11にももちろん対応しています。
最大の魅力は、追加ソフトをインストールせずにネットワークトラフィックの監視が可能な点です。
WiresharkなどGUIツールが導入できない環境や、セキュリティ制限がある企業内PCでも、すぐに使用できます。
また、コマンドラインベースで動作するため、スクリプトとの連携や自動化にも強く、サーバーやコンテナ環境などGUIが使えない状況でも活躍します。
2. 使用前の準備:管理者権限で起動する
Pktmonはカーネルレベルでのパケット監視を行うため、管理者権限でコマンドプロンプトまたはPowerShellを起動する必要があります。
このあとの「キャプチャの開始」コマンドを実行後、以下のようなエラーが出る場合は、権限が不足しています:
PktMon ドライバーとの通信に失敗しました: アクセスが拒否されました。
起動手順(例:PowerShell)
- 「スタート」ボタンを右クリック
- 「Windows Terminal(管理者)」または「PowerShell(管理者)」を選択
3. 基本的な使い方:キャプチャの開始~停止
Pktmonの基本操作はとてもシンプルです。以下が一連の流れになります。
キャプチャの開始:
pktmon start --capture
これでバックグラウンドで全通信のキャプチャが開始されます。
通信を再現(ブラウザを開く、アプリを使用するなど)
キャプチャの停止:
pktmon stop
この時点で、PktMon.etl
というログファイルがカレントディレクトリに作成されます。
4. ログファイルの変換と分析方法
ネットワークモニターが導入されていない場合など、.etl形式では確認しずらい場合は、以下のコマンドでテキスト形式やPCAP形式に変換することができます。
テキスト形式に変換:
pktmon etl2txt PktMon.etl
PCAP形式に変換(Wiresharkで使用可能):
pktmon etl2pcap PktMon.etl
生成された PktMon.pcap
ファイルをWiresharkで開けば、GUI上で詳細な分析ができます。
注意:フルパケット保存にはオプション追加が必要
デフォルトではパケットの最初の128バイトしか記録されません。
以下のようにしてフルパケットを取得します:
pktmon start --capture --pkt-size 0
5. 応用的な使い方:フィルタ・インターフェース指定・リアルタイム表示
5.1 通信のフィルタリング
特定のポートやIPだけをキャプチャしたい場合はフィルタを追加できます:
pktmon filter add -p 80
pktmon filter add -i 192.168.0.10
※最大32個のフィルタを追加可能
5.2 インターフェースを指定してキャプチャ
まず、使用可能なインターフェースの一覧を取得します。
pktmon list
続いて、インターフェース番号を指定してキャプチャ。
pktmon start --capture --comp 10 --pkt-size 0
5.3 ログモードの切り替え
-log-mode circular
(デフォルト・512MBを超えると上書き)-log-mode multi-file
(ファイルを分割)-log-mode real-time
(リアルタイムで表示)
リアルタイム表示の例:
pktmon start --capture --real-time
6. Wiresharkでの分析とトラブル対応
Wiresharkで分析する
取得したパケットはWiresharkがインストールされた他のPCでGUIで分析することが可能です。
pktmon etl2pcap
コマンドでPCAPファイルを作成- Wiresharkで
PktMon.pcap
を開く - パケットの詳細情報をGUIで確認できる
ドロップパケットの確認
通信が途中で切れる場合、Pktmonでドロップ理由を確認できます。
pktmon counters --json
JSON形式で詳細な統計が表示されます。
7. トラブルシュート:よくあるエラーと対策
トラブル | 原因 | 解決策 |
---|---|---|
Cannot obtain current state... | 管理者権限不足 | PowerShellを管理者で起動 |
PktMon driver error | OS非対応 or ドライバ未起動 | Windows 10 1809以降を確認 |
出力ファイルが空 | 通信が発生していない | 通信発生を確認(Webアクセスなど) |
8. まとめと次のステップ
PktmonはWindows標準で使える高機能パケットキャプチャツールです。
Wireshark導入が困難な環境でもCLIのみでパケットを取得し、変換して分析まで対応できます。
コメント