Windows標準コマンドを使ったパケットキャプチャ

パケットキャプチャならWiresharkなどの有名なツールを使うことが多いと思います。 制約としてツールのインストールができない場合でも、Windows7以降ならWindows標準機能をつかって、パケットキャプチャが可能です。

手順概要

  1. netsh trace コマンドでパケットキャプチャを取得する
  2. Microsoft Message Analyzerでパケット解析をする

netsh traceコマンドを使ったパケットキャプチャ

コマンドプロンプトを管理者で起動し、以下のコマンドでパケットキャプチャを開始します。 また、netsh traceコマンド はオプション指定することで、取得条件を細かく指定できます。

netsh trace start capture=yes tracefile=<ファイルパス>

終了時は次のコマンドです。キャプチャ結果は、Enterprise Tracing for Windows トレース ログ ファイル (.etl ファイル)として保存されます。

netsh trace stop

実行結果のサンプル

D:\temp> netsh trace start capture=yes tracefile=D:\temp\NetTrace.etl トレース構成: ------------------------------------------------------------------- ステータス: 実行中 トレース ファイル: D:\temp\NetTrace.etl 追加: オフ 循環: オン 最大サイズ: 250 MB レポート: オフ D:\temp> netsh trace stop トレースの結合中... 完了 データ収集を生成しています ... 完了 トレース ファイルと追加のトラブルシューティング情報は、"D:\temp\NetTrace.cab" としてコンパイルされました。 ファイルの場所 = D:\temp\NetTrace.etl トレース セッションは正常に停止しました。 D:\temp>

Microsoft Message Analyzerでパケット解析をする

Microsoft Message Analyzer@マイクロソフト社 からダウンロードして、インストールします。 Microsoft Message Analyzerを起動し、生成されたキャプチャファイル(.etl)を開くとパケット解析ができます。

どうしてもWireshark で解析したい場合

Microsoft Message Analyzerでキャプチャファイル(.etl)を開いて、別名で”Network Monitor Capture Files (*.cap)”形式を指定して保存すると、Wiresharkで解析できるようになります。

注意点

参考リンク