====== Windows-簡単パケットキャプチャ ======
パケットキャプチャと言えば、普通はスイッチにポートミラーの設定を行い、WireSharkがインストールされたPCで流れるパケットをキャプチャする。\\
というのが一般的(?)かと思うが、実はWindows7/2008R2以降は、何もインストールしないで(標準コマンドのみで)パケットのキャプチャができるようになっている。\\
===== 取得方法 =====
パケットの取得は、SEの人にはおなじみの**netsh**コマンドで行う。\\
とりあえず取得するだけなら、下のようにコマンドを実行するだけでOK。\\
C:\Windows\System32> netsh trace start capture=yes
ほら。簡単。\\
画面に出力される情報を見れば、出力先は"C:\Users\<現在のユーザ>\AppData\Local\Temp\NetTraces\NetTrace.etl"となる。\\
ちょっと階層深くて見に行くの面倒。\\
そんな時は出力先を指定してやる。\\
C:\Windows\System32> netsh trace start capture=yes traceFile=C:\path\to\file.etl
こんな感じ。簡単。\\
確認したい現象を何度も繰り返し取得するなら、traceFileのファイル名をこんな風にしとくとか。\\
C:\Windows\System32> netsh trace start capture=yes traceFile="C:\path\to\file_%date:/=%_%time::=%.etl"
※traceFileのパラメータはダブルクォートで囲んでおかないと、%time::=%の出力は午前中だと空白が入ります。。。\\
うーん。簡単。
===== 内容の確認 =====
さて。\\
インストールなしでできるのはパケットの取得だけで、WireSharkっぽいアプリケーションで内容を確認したい場合は、ソフトのインストールが必要。\\
インストールするアプリケーションは**Microsoft Message Analyzer**。\\
**[[http://www.microsoft.com/en-us/download/confirmation.aspx?id=40308|このあたり]]**からダウンロードする。\\
英語版のみなので、頑張って使おう。\\
でもWireSharkも英語版だけだし、何とかなる!\\
起動したら、**Quick Open**で取得しておいたetlファイルを指定すれば確認が可能。\\
===== WireSharkで見たい! =====
という人も大丈夫。\\
Microsoft Message AnalyzerはetlファイルをWireSharkで読めるcapファイルに変換する機能を持っている。\\
**Quick Open**でetlファイルを開いたら**Save As**をクリックし、**All Messages**を選択した状態で**Export**ボタンをクリックし、拡張子がcapになるようにエクスポートすれば、ちゃんとWireSharkでも読めます!