====== 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でも読めます!