Windowsのパケットキャプチャ3道具の知識マップ(知識グラフ)
type: Dataset
description: 顧客サーバーにソフトを入れられなくても、pktmonとnetsh traceはWindows標準で使えます。だから「採るのは標準ツール、読むのはWireshark」が現場の基本形になります。どちらの出力もETL形式なので、pktmonならetl2pcap、netsh traceならMicrosoft製のetl2pcapngでpcapngへ変換してから解析します。pktmonの独自価値は、NICの1地点ではなくネットワークスタック内の複数地点で捕捉し、どこで何の理由でパケットが破棄されたかまで報告できることです。ただし既定では先頭128バイトしか記録しないので、中身まで読むなら--pkt-size 0が要ります。localhost宛の通信は物理NICを通らないため通常のキャプチャには映らず、Npcapのループバックアダプタかpktmonのスタック内採取を使います。TLSで中身が見えなくても、どちらがいつ黙ったかは残ります。
language: ja
creator: 合同会社小村ソフト
license: https://creativecommons.org/licenses/by/4.0/
is accessible for free: true
keywords: Packet Monitor(pktmon)
keywords: Wireshark
keywords: netsh trace
keywords: ETLログ
keywords: pcapng形式
keywords: etl2pcapng
keywords: pktmonのドロップ理由
keywords: pktmonの--pkt-size
keywords: netsh traceのシナリオ
keywords: リングバッファ採取
keywords: Wiresharkの表示フィルタ
keywords: WiresharkのTCP解析フラグ
keywords: ループバック通信
keywords: Npcapのループバックアダプタ
keywords: SSLKEYLOGFILE
keywords: SChannel
keywords: w32tmコマンド
keywords: Windowsファイアウォール
keywords: 管理者権限
keywords: 複数マシンのログの突合
keywords: 物理NICを対象にしたキャプチャ
distribution: DataDownload
  encoding format: application/ld+json
distribution: DataDownload
  encoding format: text/turtle
citation: https://learn.microsoft.com/windows-server/networking/technologies/pktmon/pktmon-syntax
citation: https://learn.microsoft.com/windows-server/networking/technologies/pktmon/pktmon-pcapng-support
citation: https://learn.microsoft.com/windows/win32/ndf/using-netsh-to-manage-traces
citation: https://github.com/microsoft/etl2pcapng
citation: https://www.wireshark.org/docs/wsug_html_chunked/ChWorkBuildDisplayFilterSection.html
citation: https://learn.microsoft.com/windows-server/networking/technologies/pktmon/pktmon
citation: https://learn.microsoft.com/windows-server/administration/windows-commands/pktmon-counters
citation: https://learn.microsoft.com/windows-server/administration/windows-commands/pktmon-start
citation: https://learn.microsoft.com/windows-server/administration/windows-commands/netsh-trace
citation: https://www.wireshark.org/docs/wsug_html_chunked/ChCapCaptureFiles.html
citation: https://www.wireshark.org/docs/wsug_html_chunked/ChAdvTCPAnalysis.html
citation: https://wiki.wireshark.org/CaptureSetup/Loopback
citation: https://wiki.wireshark.org/TLS
citation: https://learn.microsoft.com/windows-server/networking/windows-time-service/windows-time-service-tools-and-settings
citation: https://learn.microsoft.com/troubleshoot/windows-client/networking/diagnose-packet-loss
about: article

合同会社小村ソフト
type: Organization

Packet Monitor(pktmon)
type: Concept
definition: Windows標準でパケットキャプチャができるツールで、取得したETLはpcapngに変換してWiresharkで開ける。
alternative label: pktmon.exe
requires: 管理者権限
uses: ETLログ
verified by: pktmonのドロップ理由
configured by: pktmonの--pkt-size
should precede: netsh trace

Wireshark
type: Concept
definition: キャプチャしたパケットをパケット詳細ペインとバイト列ペインで対応づけて表示できる、パケット解析ツール。
uses: pcapng形式
uses: リングバッファ採取
uses: Wiresharkの表示フィルタ
uses: WiresharkのTCP解析フラグ

管理者権限
type: Concept
definition: コンピューター全体の設定を変更できる権限。
alternative label: 昇格

ETLログ
type: Concept
definition: pktmonやnetsh traceが出力するイベントトレースのログ形式。そのままではWiresharkで開けない。

netsh trace
type: Concept
definition: シナリオとしてETWプロバイダー群を束ね、パケットとWindowsコンポーネント内部のイベントをまとめて採取するWindows標準のコマンド。
uses: ETLログ
uses: netsh traceのシナリオ
uses: リングバッファ採取

etl2pcapng
type: Concept
definition: netsh trace等で採取したETLファイル内のパケットをpcapng形式へ変換するMicrosoft製のオープンソースツール。インターフェイス情報を保持する。
uses: ETLログ
implements: pcapng形式

pcapng形式
type: Concept
definition: Wiresharkなどが読めるパケットキャプチャのファイル形式。

pktmonのドロップ理由
type: Concept
definition: ネットワークスタック内のどのコンポーネントでパケットが破棄されたかと、その理由を示す情報。
incompatible with: pcapng形式

Windowsファイアウォール
type: Concept
definition: 全エディションで既定有効の、Windows標準のホスト型ファイアウォール。
alternative label: Windows Defender Firewall

pktmonの--pkt-size
type: Concept
definition: 1パケットあたり記録するバイト数の指定。既定は128バイトで、0を指定するとパケット全体を記録する。

netsh traceのシナリオ
type: Concept
definition: トラブルシューティング用に事前定義されたETWプロバイダーの集合。

リングバッファ採取
type: Concept
definition: 上限に達したら古いデータから捨て、最新のデータだけを保持し続けるキャプチャの出力モード。

Wiresharkの表示フィルタ
type: Concept
definition: ip.addrやtcp.portなどのフィールドと比較演算子、and/or/notで表示するパケットを絞り込む式。

WiresharkのTCP解析フラグ
type: Concept
definition: tcp.analysis.retransmission・duplicate_ack・out_of_order・zero_windowなど、TCPの異常をWiresharkが判定して付ける印。

ループバック通信
type: Concept
definition: localhost(127.0.0.1 / ::1)宛や自分自身の実IP宛のように、物理NICを通らずOS内部で折り返される通信。
incompatible with: 物理NICを対象にしたキャプチャ
verified by: Npcapのループバックアダプタ
verified by: Packet Monitor(pktmon)

物理NICを対象にしたキャプチャ
type: Concept
definition: パケットキャプチャで物理ネットワークアダプターをキャプチャ対象に選ぶ構成。マシン内で完結するループバック通信はNICを通らないため映らない。

Npcapのループバックアダプタ
type: Concept
definition: Wiresharkでループバック通信を採取するためにNpcapが提供する仮想キャプチャ対象。

SSLKEYLOGFILE
type: Concept
definition: TLSのセッション鍵をファイルへ書き出し、Wiresharkでの復号を可能にする環境変数。
not recommended for: SChannel

SChannel
type: Concept
definition: WinHTTPやWinINETを使うアプリが利用するWindows標準のTLS実装。

複数マシンのログの突合
type: Concept
definition: 複数のコンピューターのイベントログを時刻順に並べ、前後関係から事象の流れを追う調査手法。
uses: w32tmコマンド

w32tmコマンド
type: Concept
definition: w32timeの同期状態確認・診断・構成をコマンドラインから行うツール。
alternative label: w32tm.exe

subject: Packet Monitor(pktmon)
predicate: requires
object: 管理者権限
description: pktmonはフィルタ登録→開始→再現→カウンター確認→停止→変換という流れを、管理者権限のターミナルで実行する。Windows 10およびWindows Server 2019(バージョン1809)以降で利用できる。
evidence: pktmon-syntax
verified at: 2026-08-20
certainty: established

subject: Packet Monitor(pktmon)
predicate: uses
object: ETLログ
description: pktmonの採取結果はETL形式で出力され、そのままではWiresharkで開けない。
evidence: pktmon-pcapng-support
verified at: 2026-08-22
certainty: established

subject: netsh trace
predicate: uses
object: ETLログ
description: netsh traceもETL(と.cab)で出力するため、解析にはpcapngへの変換が要る。
evidence: using-netsh-to-manage-traces
evidence: etl2pcapng
verified at: 2026-08-22
certainty: established

subject: etl2pcapng
predicate: uses
object: ETLログ
description: pktmonのETLログはpktmon etl2pcapでWireshark等が解析できるpcapng形式へ変換できる。ただしpcapng形式では破棄情報やスタック内の捕捉地点の情報が失われる。
evidence: pktmon-pcapng-support
verified at: 2026-08-22
certainty: established

subject: etl2pcapng
predicate: implements
object: pcapng形式
description: etl2pcapngはnetsh trace start capture=yes等で採取したETLファイル内のパケットをpcapng形式へ変換するMicrosoft製オープンソースツールで、インターフェイス情報を保持する。
evidence: etl2pcapng
verified at: 2026-08-20
certainty: established

subject: Wireshark
predicate: uses
object: pcapng形式
description: Wiresharkは表示フィルタ・TCP解析・統計・GUIを備えた読む側の道具で、標準ツールで採ったログはpcapngへ変換してから手元のWiresharkで読む。
evidence: ChWorkBuildDisplayFilterSection.html
evidence: pktmon-pcapng-support
verified at: 2026-08-22
certainty: established

subject: Packet Monitor(pktmon)
predicate: verifiedBy
object: pktmonのドロップ理由
description: pktmonはNICの1地点ではなくネットワークスタック内の複数地点でパケットを捕捉し、破棄された場所と理由を報告できる。pktmon counters --drop-reasonでコンポーネントごとの通過・破棄カウンターと直近のドロップ理由を一覧できる。
evidence: pktmon
evidence: pktmon-counters
verified at: 2026-08-20
certainty: established

subject: pktmonのドロップ理由
predicate: incompatibleWith
object: pcapng形式
description: pcapng形式には破棄情報やスタック内の捕捉地点の情報が引き継がれないため、同じパケットが重複して見えることがある。Wiresharkで読む目的なら--component-idで地点を絞るか、--drop-onlyでドロップだけを別ファイルにする。
evidence: pktmon-pcapng-support
verified at: 2026-08-20
certainty: established

subject: Windowsファイアウォール
predicate: verifiedBy
object: pktmonのドロップ理由
description: アプリに届く前にOSのどこかで捨てられているという疑いは、受信規則の不備でファイアウォールに落とされているケースの切り分けに効く。
evidence: pktmon
verified at: 2026-08-22
certainty: context-dependent

subject: Packet Monitor(pktmon)
predicate: configuredBy
object: pktmonの--pkt-size
description: --pkt-sizeの既定は128バイトで、0を指定するとパケット全体を記録できる。Wiresharkで中身まで読むつもりなら開始時に指定しておく必要がある。
evidence: pktmon-start
verified at: 2026-08-20
certainty: established

subject: netsh trace
predicate: uses
object: netsh traceのシナリオ
description: シナリオはトラブルシューティング用に事前定義されたプロバイダーの集合で、netsh trace show scenarios / show scenarioで確認できる。パケットに加えてWindowsコンポーネント内部のイベントも残る。
evidence: using-netsh-to-manage-traces
evidence: netsh-trace
verified at: 2026-08-20
certainty: established

subject: netsh trace
predicate: uses
object: リングバッファ採取
description: netsh trace startのfileModeにcircularを指定するとリングバッファとして動作し、persistent=yesなら再起動をまたいでセッションを維持できる。
evidence: netsh-trace
verified at: 2026-08-20
certainty: established

subject: Wireshark
predicate: uses
object: リングバッファ採取
description: Wiresharkのキャプチャファイル出力モードにも単一ファイル・複数ファイル・リングバッファがあり、リングバッファは最新のデータだけを保持し続ける。
evidence: ChCapCaptureFiles.html
verified at: 2026-08-20
certainty: established

subject: Wireshark
predicate: uses
object: Wiresharkの表示フィルタ
description: ip.addrやtcp.portなどのフィールド指定と比較演算子、and/or/notの組み合わせで表示するパケットを絞り込む。
evidence: ChWorkBuildDisplayFilterSection.html
verified at: 2026-08-20
certainty: established

subject: Wireshark
predicate: uses
object: WiresharkのTCP解析フラグ
description: tcp.analysis.retransmission・duplicate_ack・out_of_order・zero_windowなどのTCP解析フラグで、再送やゼロウィンドウといった異常を絞り込める。
evidence: ChAdvTCPAnalysis.html
verified at: 2026-08-22
certainty: established

subject: ループバック通信
predicate: incompatibleWith
object: 物理NICを対象にしたキャプチャ
description: 127.0.0.1宛のループバック通信はNICを通らないため、物理NICを対象にした通常のキャプチャでは採取できない。WiresharkでもNpcapのループバックアダプタを選べば採れる。localhostがIPv6の::1に解決されることもあるため、表示フィルタは両方張るかアプリの接続先をアドレスで明示する。
evidence: Loopback
verified at: 2026-08-22
certainty: established

subject: ループバック通信
predicate: verifiedBy
object: Npcapのループバックアダプタ
description: Npcapの「Adapter for loopback traffic capture」をキャプチャ対象に選べばループバック通信を採取できる。Windows版Wireshark 3.0以降のインストーラーにはNpcapが同梱されている。
evidence: Loopback
verified at: 2026-08-22
certainty: established

subject: ループバック通信
predicate: verifiedBy
object: Packet Monitor(pktmon)
description: pktmonはNICの外側ではなくネットワークスタック内部の複数地点で採取するため、ループバック通信の観測にも使える。
evidence: pktmon
verified at: 2026-08-22
certainty: established

subject: SSLKEYLOGFILE
predicate: notRecommendedFor
object: SChannel
description: SSLKEYLOGFILEで書き出したセッション鍵によるWiresharkの復号に対応するのはFirefox・Chrome・Chromium系EdgeやOpenSSL系ライブラリなど一部の実装で、Windows標準のSChannelはこの仕組みに対応していない。
evidence: TLS
verified at: 2026-08-20
certainty: established

subject: 複数マシンのログの突合
predicate: uses
object: w32tmコマンド
description: 両側で採ったキャプチャやアプリログを同じ時間軸へ並べるには時計が合っていることが前提で、W32Timeの構成・監視・トラブルシューティングにはw32tmを使う。
evidence: windows-time-service-tools-and-settings
verified at: 2026-08-22
certainty: established

subject: Packet Monitor(pktmon)
predicate: shouldPrecede
object: netsh trace
description: マイクロソフトのパケットロス調査ガイドは、まずpktmonでトレースを採取してローカルの破棄理由と統計を確認し、足りなければコンポーネントレベルのトレースへ進み、プロトコルの振る舞いはWiresharkで解析するという順序を示している。
evidence: diagnose-packet-loss
verified at: 2026-08-20
certainty: established