ネットワークモニター

Debugging Tools for Windows に入っているいわゆるデバッガのみならず、Windows には OS が備える非常に強力なシステムモニタ機能があります。それぞれのツールがどのような場面で利用できるのかまとめようと思います。

当サイトでは主にこれまでに解説されることの少なかったデバッガにフォーカスを当て解説しています。 しかしながら、だからといってデバッガが常にトラブルシューティングの最高のツールというわけでもありません。 クラッシュダンプのサイズは該当プロセスのメモリ割り当て量に依存し、通常非常に大きなサイズのファイルとなるため、 ダンプの有効性についてある程度理解しておかないとそのファイルサイズの大きさからしばしば、 問題解決への過度の期待をしている場合が見受けられます。

ネットワークに接続されたシステムのトラブルシューティングが難しくなることの最も大きな理由のひとつは、問題を解析するために切り分けなければならないレイヤーがたくさんあるということです。つまり、アプリケーションがクラッシュしているのかハードウェア機器の故障なのか、あるいは論理的なネットワーク障害であるのか、切り分けることが難しい場合があるということです。

TCP/IP の正しい知識を!

TCP/IP は正しく理解しましょう。何事もそうかもしれませんが筆者は経験上、特に TCP/IP の誤解から問題点を取り違える例をこれまでにたくさん目にしてきました。例えば、"ネットワークトレースを取ると RESET パケットがクライアントから送信されていることがわかった。これはアプリケーションのバグである。" というような展開です。バグではなく RESET パケットを送信するシナリオが浮かぶでしょうか?通信途中でブラウザを停止するといった場面が思い浮かびましたでしょうか?TCP/IP を理解しないと、問題解決までに思わぬ遠回りをすることがあります。ご注意ください。

ネットワークモニター

ネットワークモニターの入手方法

Network Monitor はマイクロソフトから無料でダウンロードできます。

Network Monitor 3.2

ネットワークモニタを利用すると、ネットワークのパケットをキャプチャすることができます。 ネットワーク上のデータを直に見ることで、サーバーに問題があるのか、クライアント側に問題があるのか判断することができます。

もちろん、その場合、クライアントはこのように動くべきだ、サーバーはこのようなレスポンスを返すべきだ、 というプロトコルに関する知識が必要になります。

ネットワークパケットのキャプチャ

Network Monitor を起動すると下のような画面になります。そこで、データをキャプチャするインターフェイスを選択します。

上のスクリーンショットは、ワイヤレスネットワークと ケーブルの繋がったネットワークインターフェイスの二つが接続してある環境で取得しているので、 複数表示されています。

自分のマシン以外のやりとりをキャプチャするには P-Mode をクリックします。 これにより、プロミスキャスモードでキャプチャできます。 もちろん、いくら自ホスト宛以外のデータもキャプチャできるといっても、この場合も NIC まではデータが届いている必要があります。

キャプチャをスタートするには、まず New Capture をクリックします。 Capture タブが開いたところで、F5 キーを押下または Start Capture ボタンを押します。キャプチャがスタートします。

データの保存と解析

データは Netmon 形式 (*.cap) で保存します。

データは Network Monitor でも解析できますが、私は Wireshark を愛用しています。

ネットワークモニタでキャプチャしたデータは、Wireshark で解析すると良いでしょう。

パフォーマンスモニタ

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Web/DB プログラミング徹底解説