ネットワーク関連のトラブルにはさまざまな原因があり、当然のことながらその内容に応じて原因究明、対策もかわってきます。
たとえば導入当初とかであればサーバ機器やネットワーク機器の単純な設定ミス、というのはよく起こりがちです。ネットワーク構成等に問題がなく、単純に製品の不理解、という場合、特にネットワーク機器などの場合には機器のサポート担当者とかがコンフィグを見ればすぐに原因、対策がわかるでしょう。(もちろん、コンフィグの複雑さや担当者のスキルにも依存しますが)
あと、機器単体のハードやソフトの不具合であれば、機器のログ(Syslog)に情報がのることもありますし、どこの機器で通信がとまっているか、という情報であれば各機器の通信ログをみればわかるかもしれません。
ただ、いろいろやってみたけどどこに原因があるかわからない・・・という場合、パケットキャプチャソフトを使用して、ネットワーク上を流れるパケットのキャプチャを行いその内容を分析する、ということもよくあります。
キャプチャするまではどこに原因があるか不明確だった場合でも、キャプチャしたパケットを見てみると、機器間の通信でどちらに問題があるか(どちらがセッションを切っているか、どちらが不正なデータを投げているか、など)がすぐにわかる場合もあります。
パケットキャプチャ用ソフトでもっともメジャーなのはWiresharkです。もちろんぢろーらもも使ったことあります。ただし、GUIベースWiresharkだと、WiresharkをインストールしたPCにとってけっこうな負担となります。特に、「現象がすぐに再現するわけでなく、不定期で数回発生する(トラフィックのパターンなどに依存して機器が不具合を起こすケースなど)」では、特に軽い動作でパケットキャプチャができることが求められます。
そんなときはWiresharkに付属している「Tshark」という、コマンドライン版のパケットキャプチャツールが便利です。ちょうど最近の@ITさんの記事で、Tsharkの使い方に関してわかりやすい解説がありましたので紹介します。http://www.atmarkit.co.jp/fsecurity/rensai/dknight04/dknight01.html
概ねここで紹介されているコマンドがわかれば、パケット取得や簡単な解析はできると思います。GUIに慣れてしまうとコマンドラインだけでなく「Windowsで使う場合にシステム環境変数設定でパスを書く(上記記事の最初のページで紹介)」ことがイメージできないということがあるかもしれませんが、わからないことでも調べながら1つ1つ理解していけば大丈夫です。
まあ、取得だけTsharkで行い、パケットを持って帰ってからは分析能力に勝るWiresharkで解析する、というのが楽かもしれませんね。
あと、長期でパケットをとる場合、上記サイト(3ページ目)でも紹介されているように「指定したファイルサイズ(KB)に達したら次のファイルへ保存」というのが重要です。何も考えずに長期間パケットをとり続けるとキャプチャしたパケットを書き出したファイルが大きくなり過ぎ、メモリ不足などでツールが強制終了になってしまいます。なので、適当なサイズでファイルを自動的に分割するような設定が必須となります。
そういえばこちらはWiresharkの話ですが、以前ぢろーらもが数社共同でトラブルシューティングをするために現場でパケットをとる際も、やはり上記と同じように出力ファイルが100MBくらいになるとWiresharkの強制終了がかかってしまう、ということがありました。このとき、「確か、ファイルが一定のサイズになったらローテーション(分割)ができるはず。Wiresharkでもできたっけ?」という話となり、別の担当者の人にインターネットなどで調べてもらいました。こんな方法です。http://blog.livedoor.jp/stock_value/archives/50735745.html
確か、そのときは10MBとかでわけたかと思います。もちろん、「どのくらいのサイズであればハングしないか?あとでWiresharkで分析する際、安定してファイルが開けるか?」というのはPCの処理性能にも依存するので、本番でパケットをとる前に一度テストをしてみるのがよいでしょう。
また、ターゲットとなるデータが決まっている場合には取得データを制限するためにあらかじめフィルタをかけるのがいいでしょう。たとえば、ポートミラーリングでパケットキャプチャしている場合、問題がでる機器やプロトコルが決まっているのなら、その装置のIPを送信元/宛先にするパケットしかとらない、という手もあります。もちろん、障害が何に依存しているのかわからないので、必ずしもこれでいい、というわけではなく、やはり全パケット必要になるケースもあるかもしれませんが。
TsharkにもWiresharkにもいろいろな機能があるので、もっと使いこなせると便利でしょうね。ちなみに、特にWiresharkのほうは、http://homepage2.nifty.com/protocol/wireshark/などけっこう詳しく書いているサイトが多くあるので、具体的な使用法はそちらが参考になりますよ。
この記事が気に入りましたら、また、お役に立ちましたら、以下のアイコンをクリックしていただけると嬉しいです(^^)

※コメント投稿者のブログIDはブログ作成者のみに通知されます