Windows で WireShark を使わないパケット(トラフィックログ)の取得方法

本番環境の Windows Server あるある

何かしらの障害対応で「パケットがみたい…!!」となることはよくありますよね。

ただ、本番環境に後から WireShark を入れるのは中々難易度が高いし責任がどうだこうだとなりかねないので、Windows の標準機能でパケットを取得しましょうという趣旨です。

よくわかるパケットのとり方

以下のコマンドを叩くだけで Windows でパケットを取ることができます。

①キャプチャ開始

  • netsh trace start capture=yes

パケットが集まったら以下のコマンドで取得を停止します。

②キャプチャ停止

  • netsh trace stop

実行するとこんな感じ

トラフィックログを WireShark で見る

取得したトラフィックは以下のフォルダに保存されます。

  • C:\Users\ユーザ名\AppData\Local\Temp\NetTraces\

「NetTrace.cab」と「NetTrace.etl」がありますが、使うのは.etlの方です。.etlの方を自端末に保存しましょう。

Microsoft Message Analyzer

先程の「NetTrace.etl」は、Microsoft Message Analyzer という Microsoft が提供しているソフトウェアの形式なので、WireShark で直接開くことができません。

ただし、Microsoft Message Analyzer で一度開いた後にエクスポートすることで WireShark で利用可能な .cap 形式に変換することができます。

.cpa 形式でエクスポート

後はエクスポートした .cap ファイルを WireShark で開くだけです。お疲れ様でした。

すぐエクスポートしない

Microsoft Message Analyzer はトラフィックログを徐々に表示する仕様のため、すぐにエクスポートすると歯抜けの状態で .cap ファイルが生成されてしまいます。

ログロード中はタスクバーのアイコンが波打つので、落ち着くまで待ってからエクスポートしてください。

これが落ち着くまで

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)