Windows11でPktmonを使いこなす方法|パケットキャプチャ入門&活用術

Windows
記事内に広告が含まれています。

1. Pktmonとは?Windows標準のパケットキャプチャツール

Pktmon(Packet Monitor)は、Windows 10バージョン1809以降に標準で搭載されているパケットキャプチャツールで、Windows 11にももちろん対応しています。
最大の魅力は、追加ソフトをインストールせずにネットワークトラフィックの監視が可能な点です。
WiresharkなどGUIツールが導入できない環境や、セキュリティ制限がある企業内PCでも、すぐに使用できます。

また、コマンドラインベースで動作するため、スクリプトとの連携や自動化にも強く、サーバーやコンテナ環境などGUIが使えない状況でも活躍します。

2. 使用前の準備:管理者権限で起動する

Pktmonはカーネルレベルでのパケット監視を行うため、管理者権限でコマンドプロンプトまたはPowerShellを起動する必要があります。

このあとの「キャプチャの開始」コマンドを実行後、以下のようなエラーが出る場合は、権限が不足しています:

PktMon ドライバーとの通信に失敗しました: アクセスが拒否されました。

起動手順(例:PowerShell)

  1. 「スタート」ボタンを右クリック
  2. 「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で分析することが可能です。

  1. pktmon etl2pcap コマンドでPCAPファイルを作成
  2. Wiresharkで PktMon.pcap を開く
  3. パケットの詳細情報をGUIで確認できる

ドロップパケットの確認

通信が途中で切れる場合、Pktmonでドロップ理由を確認できます。

pktmon counters --json

JSON形式で詳細な統計が表示されます。

7. トラブルシュート:よくあるエラーと対策

トラブル原因解決策
Cannot obtain current state...管理者権限不足PowerShellを管理者で起動
PktMon driver errorOS非対応 or ドライバ未起動Windows 10 1809以降を確認
出力ファイルが空通信が発生していない通信発生を確認(Webアクセスなど)

8. まとめと次のステップ

PktmonはWindows標準で使える高機能パケットキャプチャツールです。
Wireshark導入が困難な環境でもCLIのみでパケットを取得し、変換して分析まで対応できます。

コメント

タイトルとURLをコピーしました