2年前に『MS謹製のパケットキャプチャ「Microsoft Network Monitor 3.4」を試してみた』という記事を投稿しました。
今回は、Windows 標準コマンド「netsh」を使って通信をトレースし、Microsoft Message Analyzerでログを解析するまでの手順をメモ。
通信ログを取得する際、特定のアプリケーションをインストールする必要がないのはいいですね。
2014.10.16 netsh trace コンテキストが組み込まれたOSのバージョンと関連記事を追記しました。
サーバーで通信ログが取りたい!
サーバー/クライアント間の通信ログを取得したい時があり、ポートミラーリング機能付きL2スイッチを購入しました。パケットキャプチャ用PCをL2スイッチに接続する事でL2スイッチに流れる全パケットを取得できるので非常に便利です。
しかし、もっと簡単にEnd-to-Endの通信ログを取得したい!と思い調べてみたところ、Netsh コマンドでトレースログが取れる事を分かりました。
Windows 標準のコマンドですから、手軽にトレース ログが取得できるので便利ですね。
netsh trace コマンドの負荷は?
サーバー上で処理を行う際、どの程度の負荷がかかるのかを確認してみました。
※あまり負荷がかかるなら稼働中のサーバーでは使用できませんから
※あまり負荷がかかるなら稼働中のサーバーでは使用できませんから
クライアント(Windows 7 Professional SP1 64bit)からファイル サーバー(Windows Server 2008 R2 Standard)に対し、272MBのファイルを無線LANを使ってアップロードしてみました。
結果、上記環境ではほぼ負荷がかかりませんでした。
※環境によっては負荷がかかるかもしれません。使用上の注意は必要かなと思っています。
通信をトレースし、解析してみる
実際にnetsh コマンドを使って通信ログを採取し、ログをMicrosoft Message Analyzerで解析します。
1.netsh コマンドで通信をトレースする
2.Microsoft Message Analyzerのインストール
- Message Analyzerをダウンロード
http://www.microsoft.com/en-us/download/details.aspx?id=44226 - インストール
3.トレース ログを表示・解析する
使ってみた感想
Microsoft Message AnalyzerのインターフェースはリボンUI、Office 2013をお使いの方なら違和感なく使えるはずです。(使いきれてはいませんが)WireShark(旧Ethereal)とMicrosoft Network Monitorを長年使っていたので何となくではありますが操作、解析が出来ました。
私が使う分には必要十分ですが、問題は動作が異常に重たい点。
タスク マネージャーを確認すると、メモリは約1GBを使用していたため、HWスペックを選ぶかもしれません。
Microsoft謹製のアプリケーションのみで解析できるのでパケット キャプチャ ツールの一候補に挙げても良いかもしれませんね。
Microsoft Message Analyzerのダウンロード
現在のバージョンはv1.1、2014年9月16日にリリースされています。
Microsoft Message Analyzer
後筆:netsh trace コンテキストはWindows 7からの機能
ブログをポストした後、「いつからトレースできるのか?」調べてみたところ、Windows 7から組み込まれたんですね。詳しくはThe Cable Guyの記事をご覧ください。
The Cable Guy: Windows 7 のネットワーク診断とトレース