説明

パケットキャプチャシステム、通信機器及びパケットキャプチャ方法

【課題】 キャプチャ用ソフトウェアを格納した可搬記憶装置を通信機器に装着してパケットキャプチャを実行する場合に、装着される通信機器の使用状態などを反映できるパケットキャプチャシステムを提供する。
【解決手段】 可搬記憶装置には、キャプチャプログラムと、このプログラムの各種動作条件の設定を記述した設定ファイルとを格納しておく。通信機器は、可搬記憶装置が装着されたことを検出する装着監視手段と、装着されたことが検出されたとき、当該通信機器の所定リソースの使用量若しくは使用率に余裕があるか否かを判別し、キャプチャプログラムの実行有無を決定するリソース使用状態監視手段と、実行することに決定されたとき、キャプチャプログラムを設定ファイルに記述された動作条件で実行するキャプチャプログラム実行手段と、パケットキャプチャによって取得されたキャプチャデータを可搬記憶装置に保存するキャプチャデータ保存手段とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケットキャプチャシステム、通信機器及びパケットキャプチャ方法に関し、例えば、ネットワークに接続する通信機器が授受するパケットをキャプチャする場合に適用し得るものである。
【背景技術】
【0002】
従来、IP(Internet Protocol)を利用した通信機器に接続性にかかわる問題が発生した場合、通信機器が授受するIPパケットをキャプチャして、その原因の切り分けを行うことが多い。特許文献1には、USBメモリをパソコンに装着したときに、USBメモリに格納されたアプリケーションプログラム(以下、単に、アプリケーションと呼ぶ)を動作させることが記載されている。特許文献1の記載技術を応用すれば、USBメモリ内にキャプチャ用ソフトウェアを格納しておき、USBメモリを通信機器に装着することでキャプチャ用ソフトウェアを動作せることが可能となり、キャプチャ用専用機器やPC(パソコン)を用意することなく、通信機器自体でパケットキャプチャが可能となる。
【0003】
特許文献1の記載技術は以下の通りである。USBメモリに、アプリケーション、設定ファイル、設定プログラム、業務データ等を記憶しておき、このUSBメモリをPCに装着したとき、PCは、USBメモリの格納内容に基づいて初期的な設定を行った後、USBメモリが記憶するアプリケーションを実行する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−266117
【発明の概要】
【発明が解決しようとする課題】
【0005】
通信機器がユーザや顧客のネットワーク環境に接続されている場合、セキュリティ上、キャプチャ用専用機器やPCをユーザや顧客のネットワークに接続できないことが多い。また、通信機器がスイッチングハブに接続されている場合は、通信機器が授受するパケットをキャプチャするためにスイッチングハブにミラーリングポートの設定を行うか、リピータハブを新たにネットワークに接続してキヤプチャ用専用機器やPCをリピータハブに接続する必要があり、手間がかかる。このような不都合は、通信機器がUSBインタフェースを持っていれば、特許文献1の記載技術を応用し、USBメモリに格納されたキャプチャ用ソフトウェアを動作させることでキャプチャ用専用機器やPCをネットワークに接続することなくパケットキャプチャが可能となる。この場合、例えば、キャプチャするパケットの種類、キャプチャする時間、キャプチャデータのファイル名など、そのキャプチャ用ソフトウェアの動作条件を細かく設定することが必要になる。
【0006】
ところで、今日、通信機器として利用されることも多いPCやPDA等の情報処理装置の多くは、USBインタフェースを含んでいる。これらの情報処理装置は処理内容や処理規模に応じて必要な処理容量の処理機能を具備することが一般的である。例えば、PC向けCPUとPDA向けCPUとでは処理容量等が大きく異なる。また、アプリケーションの多様化が進み、OS毎に同様の機能を有するアプリケーションが複数存在している。例えば、動画再生機能を有するアプリケーションは、Windows XP(登録商標)、Windows Vista(登録商標)及びLinuxに対応する複数が存在する。また、Windows XPに対応する動画再生機能を有するアプリケーションも複数存在する。
【0007】
特許文献1の記載技術においては、PCはUSBメモリに記憶された設定ファイルに基づいてアプリケーションを実行しているに過ぎず、PCの現在の使用状態や動作環境などを加味しつつ、USBメモリ内のアプリケーションを実行することはできない。さらには、PCにとって適切なアプリケーションや設定ファイルを選択することはできない。
【0008】
上述のように、特許文献1の記載技術を応用し、USBメモリに格納されたキャプチャ用ソフトウェアを動作させることでキャプチャ用専用機器やPCをネットワークに接続することなく、キャプチャ対象の通信機器をそのまま利用してパケットキャプチャが可能となる。しかし、特許文献1の記載技術を応用しただけでは、パケットキャプチャ対象の通信機器の現在の使用状態を反映させることもできなければ、その通信機器にとって適切なアプリケーションや設定ファイルを選択することはできない。
【0009】
そのため、キャプチャ用ソフトウェアを格納した可搬記憶装置を、パケットキャプチャ対象の通信機器に装着してパケットキャプチャを実行する場合において、装着される通信機器の使用状態などを反映できるパケットキャプチャシステム、通信機器及びパケットキャプチャ方法が望まれている。
【課題を解決するための手段】
【0010】
第1の本発明は、パケットキャプチャ対象の通信機器と、上記通信機器に着脱自在な可搬記憶装置とを有するパケットキャプチャシステムであって、(1)上記可搬記憶装置には、(1−1)上記通信機器が授受するパケットをキャプチャすることを目的とした上記通信機器にて実行可能なキャプチャプログラムと、(1−2)上記キャプチャプログラムの各種動作条件の設定を記述し、かつ、上記キャプチャプログラムによって読み込み可能な形式で記述された設定ファイルとを格納しておき、(2)上記通信機器は、(2−1)上記可搬記憶装置が装着されたことを検出する装着監視手段と、(2−2)上記可搬記憶装置が装着されたことを検出されたとき、当該通信機器における所定リソースの使用量若しくは使用率に余裕があるか否かを判別し、上記キャプチャプログラムの実行有無を決定するリソース使用状態監視手段と、(2−3)上記キャプチャプログラムを実行することに決定されたとき、上記キャプチャプログラムを上記設定ファイルに記述された動作条件で実行するキャプチャプログラム実行手段と、(2−4)パケットキャプチャによって取得されたキャプチャデータを上記可搬記憶装置に保存するキャプチャデータ保存手段とを有することを特徴とする。
【0011】
第2の本発明は、当該通信機器が授受するパケットをキャプチャすることを目的とした当該通信機器にて実行可能なキャプチャプログラムと、上記キャプチャプログラムの各種動作条件の設定を記述し、かつ、上記キャプチャプログラムによって読み込み可能な形式で記述された設定ファイルとを格納している可搬記憶装置が着脱自在である、パケットキャプチャ対象の通信機器であって、(1)上記可搬記憶装置が装着されたことを検出する装着監視手段と、(2)上記可搬記憶装置が装着されたことが検出されたとき、当該通信機器における所定リソースの使用量若しくは使用率に余裕があるか否かを判別し、上記キャプチャプログラムの実行有無を決定するリソース使用状態監視手段と、(3)上記キャプチャプログラムを実行することに決定されたとき、上記キャプチャプログラムを上記設定ファイルに記述された動作条件で実行するキャプチャプログラム実行手段と、(4)キャプチャによって取得されたキャプチャデータを上記可搬記憶装置に保存するキャプチャデータ保存手段とを有することを特徴とする。
【0012】
第3の本発明は、パケットキャプチャ対象の通信機器に、上記通信機器に着脱自在な可搬記憶装置を装着してパケットキャプチャを実行するパケットキャプチャ方法であって、(1)上記可搬記憶装置には、(1−1)上記通信機器が授受するパケットをキャプチャすることを目的とした上記通信機器にて実行可能なキャプチャプログラムと、(1−2)上記キャプチャプログラムの各種動作条件の設定を記述し、かつ、上記キャプチャプログラムによって読み込み可能な形式で記述された設定ファイルとを格納しておき、(2)上記通信機器は、(2−1)上記可搬記憶装置が装着されたか否かを監視し、(2−2)上記可搬記憶装置が装着されたことが検出されたとき、当該通信機器における所定リソースの使用量若しくは使用率に余裕があるか否かを判別して、上記キャプチャプログラムの実行有無を決定し、(2−3)上記キャプチャプログラムを実行することに決定したとき、上記キャプチャプログラムを上記設定ファイルに記述された動作条件で実行し、(2−4)パケットキャプチャによって取得されたキャプチャデータを上記可搬記憶装置に保存することを特徴とする。
【発明の効果】
【0013】
本発明によれば、キャプチャ用ソフトウェアを格納した可搬記憶装置を、パケットキャプチャ対象の通信機器に装着してパケットキャプチャを実行する場合において、装着される通信機器の使用状態などを反映できるパケットキャプチャシステム、通信機器及びパケットキャプチャ方法うを提供できる。
【図面の簡単な説明】
【0014】
【図1】第1の実施形態のパケットキャプチャシステムの構成を示すブロック図である。
【図2】第1の実施形態における通信機器内プログラム構成とキャプチャプログラムの構成を示す説明図である。
【図3】第1の実施形態におけるキャプチャプログラム用設定ファイルの記述例を示す説明図である。
【図4】第1の実施形態のキャプチャプログラム起動プログラムにおける各構成要素の起動時の処理の流れを示すシーケンス図である。
【図5】第1の実施形態のRAMにロードされたキャプチャプログラムにおける各構成要素のパケットキャプチャの実行時の処理の流れを示すシーケンス図である。
【図6】第2の実施形態のパケットキャプチャシステムの構成を示すブロック図である。
【図7】第2の実施形態における通信機器内プログラム構成とキャプチャプログラムの構成を示す説明図である。
【図8】第2の実施形態におけるプログラム選択条件情報の構成を示す説明図である。
【図9】第2の実施形態におけるキャプチャプログラム用設定ファイルの記述例を示す説明図である。
【図10】第2の実施形態のキャプチャプログラム起動プログラムにおける各構成要素の起動時の処理の流れを示すシーケンス図である。
【図11】第2の実施形態のプログラム選択部が実行する処理を示すフローチャートである。
【発明を実施するための形態】
【0015】
(A)第1の実施形態
以下、本発明によるパケットキャプチャシステム、通信機器及びパケットキャプチャ方法の第1の実施形態を、図面を参照しながら説明する。ここで、第1の実施形態で適用する可搬記憶装置はUSBストレージデバイスである。
【0016】
(A−1)第1の実施形態の構成
図1は、第1の実施形態のパケットキャプチャシステムの構成を示すブロック図である。
【0017】
図1において、第1の実施形態のパケットキャプチャシステム1は、通信機器11及びUSBストレージデバイス17を有する。
【0018】
通信機器11は、パケット通信を実行する機器であれば良く、通信機能に対応しているPCやPDAなどであっても良い。通信機器11は、少なくとも1つの網側とのインタフェース(以下では、LANインタフェースであるとして説明する)12と少なくとも1つのUSBインタフェース13とを有する。また、通信機器11は、当該通信機器11を制御するプログラムを格納しているプログラムメモリとしてのフラッシュメモリ14と、プログラムが展開されるワーキングメモリとしてのRAM15(ここでのRAM15は複数のチップで構成されている場合を含むものである)と、プログラムを実行するCPU16とを有する。
【0019】
図1では、第1の実施形態の特徴に関係する、通信機器11の構成要素を取出して示しており、通信機器11は、図1に示した以外の構成要素も備えている。例えば、キー操作部、ディスプレイ、大容量記憶装置、マイクロフォン、スピーカなどを備えていても良い。
【0020】
USBストレージデバイス17は、USBインタフェースに対応するUSBメモリなどの可搬記憶装置であり、この第1の実施形態の場合、USBストレージデバイス17は、通信機器11のCPU16にて実行可能なキャプチャプログラム18と、キヤプチャプログラム18にて読み込み可能なキャプチャプログラム用設定ファイル19とが格納されている。
【0021】
図1では、第1の実施形態の特徴に関係する、USBストレージデバイス17の構成要素(特に、ソフトウェア面の構成要素)を取出して示している。USBストレージデバイス17のハードウェア的構成(メモリ素子、メモリ素子のアクセス構成、他の装置とのデータの授受構成など)は、既存のものと同様である。
【0022】
図2は、第1の実施形態における通信機器内プログラム構成とキャプチャプログラムの構成を示す説明図である。
【0023】
通信機器11は、プログラムとして、図2(A)に示すように、通信機器制御アプリケーション20とキャプチャプログラム起動プログラム21とを搭載している。通信機器制御アプリケーション20は、通常時に当該通信機器11を制御するために主として動作しているアプリケーションである。例えば、通信機器11がVoIP機器である場合、呼制御・通話制御などを行うVoIpアプリケーションが通信機器制御アプリケーション20に該当する。キャプチャプログラム起動プログラム21は、USBストレージデバイス17内に格納されているキャプチャプログラム18(図1参照)を起動するためのプログラムである。キャプチャプログラム起動プログラム21は、USBインタフェース監視部21aと、キャプチャプログラム実行部21bと、通信機器リソース監視部21cで構成されている。USBインタフェース監視部21a、キャプチャプログラム実行部21b及び通信機器リソース監視部21cの機能については、後述する動作説明の項で明らかにする。
【0024】
USBストレージデバイス17内に格納されているキャプチャプログラム18を付与していた)は、図2(B)に示すように、キャプチャプログラム用設定ファイル19を読み込むための設定ファイル読み込み部18aと、通信機器11のLANインタフェース12にて送受信したパケットをキャプチャするパケットキャプチャ部18bと、キャプチャしたデータをUSBストレージデバイス17に保存するキャプチャデータ保存部18cで構成されている。
【0025】
図3は、図1のキャプチャプログラム用設定ファイル19の記述例を示す説明図である。キャプチャプログラム用設定ファイル19は、LANインタフェース名、プロトコル種別、ポート番号、キャプチャ時間、保存先ファイル名など、通信機器11が授受するパケットを、キャプチャプログラム18によってキャプチャする際の条件や設定をキャプチャプログラム18が読み取ることができる予め定められた形式で記述されている。図3の記述例は、LANインタフェース名が「eth0」、プロトコル種別が「UDP」で、ポート番号が「5060」で、キャプチャ時間が60分で、保存先ファイル名が「capture.cap」である。
【0026】
ここで、LANインタフェース名(Interface=)は、キャプチャプログラム18がキャプチャ対象とするデバイス(パケット通信を行っているデバイス)であって、当該通信機器11のOSでネットワークデバイスと認識され得るデバイスを規定している。プロトコル種別(Protocol=)は、キャプチャプログラム18がキャプチャ対象とする通信プロトコルの名称である。ポート番号(Port=)は、キャプチャプログラム18がキャプチャ対象とする通信ポートの番号である。キャプチャ時間(Time=)は、キャプチャプログラム18がキャプチャを実行する時間である。保存先ファイル名(Filename=)は、キャプチャプログラム18がデータを書き込むファイルの名称である。
【0027】
図3の設定ファイル19は、当該設定ファイル19で設定された時点から60分の間、キャプチャプログラム18が、LANインタフェースeth0を介して行われる通信のうち、通信プロトコルがUDPで通信ポートが5060の通信(パケット)をキャプチャし、保存先ファイルcapture.capに保存するような環境設定を与えるものとなっている。
【0028】
(A−2)第1の実施形態の動作
次に、第1の実施形態のパケットキャプチャシステム1の動作(パケットキャプチャ方法)を説明する。
【0029】
図4は、キャプチャプログラム起動プログラム21における各構成要素21a〜21cの起動時の処理の流れを示すシーケンス図である。
【0030】
パケットキャプチャを希望するオペレータは、キャプチャプログラム18及びキャプチャプログラム用設定ファイル19を格納したUSBストレージデバイス17を通信機器11のUSBインタフェース13に装着する。
【0031】
このとき、キャプチャプログラム起動プログラム21のUBSインタフェース監視部21aは、USBインタフェース13にUSBストレージデバイス17が装着されたことを検出し(ステップS1)、通信機器リソース監視部21cを起動する(ステップS2)。
【0032】
起動された通信機器リソース監視部21cは、当該通信機器11のRAM15の使用量及びCPU16の使用率を確認し、RAM15に、キャブチャプログラム18を起動するだけの空き容量があるかを調べ(ステップS3、S4)、また、CPU使用率に余裕があるかを調べる(ステップS5、S6)。通信機器リソース監視部21cは、キャプチャプログラム18を確実に実行できるRAM15の空き容量の閾値とCPU16の使用率の閾値を予めデータとして保持しており、閾値との大小比較により上述した調査(判断)を行う。
【0033】
通信機器リソース監視部21cは、RAM15の空き容量が閾値より少ない場合、若しくは、CPU16の使用率が閾値より高い場合は、キャプチャプログラム18を起動せずに処理を終了する(ステップS7)。このようにしたのは、RAM15の空き容量が少ない場合やCPU16の使用率が高い場合にキャプチャプログラム18を起動し、通信機器11の主たるアプリケーションである通信機器制御アプリケーション20の動作に悪影響を与えることを防止しようとしたためである。
【0034】
通信機器リソース監視部21cは、RAM15の使用量やCPU16の使用率の確認により、キャプチャプログラム18が起動可能と判断した場合には、キャプチャプログラム実行部21bを起動する(ステップS8)。キャプチャプログラム実行部21bは起動されると、USBストレージデバイス17に格納されているキャプチャプログラム18をRAM15にロードさせて、そのキャプチャプログラム18を開始させるようにする(ステップS9)。
【0035】
図5は、RAM15にロードされたキャプチャプログラム18における各構成要素18a〜18cのパケットキャプチャの実行時の処理の流れを示すシーケンス図である。
【0036】
キャプチャプログラム18が開始されると、まず、設定ファイル読み込み部18aが起動され、設定ファイル読み込み部18aは、キャプチャプログラム用設定ファイル19がUSBストレージデバイス17に格納されているかを確認する(ステップS50)。設定ファイル読み込み部18aは、キャプチャプログラム用設定ファイル19が格納されていない場合には処理を終了させる(ステップS51)。設定ファイル読み込み部18aは、キャプチャプログラム用設定ファイル19が格納されている場合には、そのファイル19を読み込み、ファイル19に記載されている設定データをキャプチャプログラム18内にデータとして保持(設定)し(ステップS52)、キャプチャデータ保存部18cとパケットキャプチャ部18bとを起動する(ステップS53、S54)。
【0037】
起動されたパケットキャプチャ部18bは、設定データに従ってパケットキャプチャを開始し(ステップS55)、キャプチャしたデータを随時キャプチャデータ保存部18cに渡す(ステップS56)。キャプチャデータ保存部18cは、パケットキャプチャ部18bから受け取ったキャプチャデータをUSBストレージデバイス17に随時書き込んでいく(ステップS57)。この書込時のファイル名は、キャプチャプログラム用設定ファイル19に保存先ファイル名として記述されているファイル名で作成される。また、キャプチャデータ保存部18cは、キャプチャデータの保存時にUSBストレージデバイス17の空き容量を随時確認している(ステップS58)。キャプチャデータ保存部18cは、空き容量があればパケットキャプチャを継続し(ステップS57)、空き容量がなくなると、パケットキャプチャ部18bにパケットキャプチャ終了の指示を出す(ステップS59)。
【0038】
パケットキャプチャ部18bは、パケットキャプチャを処理しているときには、キャプチャプログラム用設定ファイル19に記述されたキャプチャ時間が経過したか否か、キャプチャデータ保存部18cからキャプチャ終了指示が与えられたか否かを監視しており(ステップS60、S61)、キャプチャプログラム用設定ファイル19に記述されたキャプチャ時間が経過した場合、若しくは、キャプチャデータ保存部18cからキャプチャ終了指示が与えられた場合には、当該キャプチャプログラム18も終了する。
【0039】
(A−3)第1の実施形態の効果
以上のように、第1の実施形態によれば、キャプチャ機能を持たないがUSBインタフェースを有する通信機器のUSBインタフェースに、パケットをキャプチャ可能なプログラムとそのプログラム用の設定データを格納したUSBストレージデバイスを装着することにより、設定ファイルに設定したパケットを設定ファイルに設定した時間だけ自動的にキャプチャし、キャプチャデータをそのUSBストレージデバイスに保存することができる。
【0040】
例えば、VoIP機器などがファイル更新などの保守用にUSBインタフェースを持っている場合、第1の実施形態により、VoIP機器自体にキャプチャ機能を実装したり、また、専用のキャプチャ用機器をネットワークに接続したりすることなく、機器が授受するパケットをキャプチャすることが可能となり、接続障害などの解析を行うことができる。この際、設定ファイルによって、キャプチャ対象のパケットを可変設定できるので、解析に適したデータをキャプチャでき、解析精度を向上させることができる。
【0041】
また、第1の実施形態によれば、キャプチャプログラムを起動する際に、通信機器のRAM使用量やCPU使用率を確認し、通信機器が本来的に担っている主機能の処理と、パケットキャプチャ処理とが輻輳しそうなときには、キャプチャプログラムを起動しないので、通信機器の主機能の処理に悪影響を与えることがなく、通信機器を利用するユーザなどに迷惑をかけることがない。
【0042】
USBストレージデバイスに空き容量がないのにキャプチャデータを保存しようとすると、この保存時に誤動作が発生し、通信機器の主機能に影響を与える恐れがある。第1の実施形態によれば、キャプチャデータをUSBストレージデバイスに保存する際に、保存しながらUSBストレージデバイスの空き容量を確認し、空き容量がなくなると、キャプチャを強制的に終了させるようにしたので、上述した誤動作を防ぐことができる。
【0043】
(B)第2の実施形態
次に、本発明によるパケットキャプチャシステム、通信機器及びパケットキャプチャ方法の第2の実施形態を、図面を参照しながら説明する。第2の実施形態で適用する可搬記憶装置もUSBストレージデバイスである。
【0044】
第1の実施形態は、通信機器の使用状態を確認して、USBストレージデバイスに記憶されたキャプチャプログラムを通信機器にロードして実行させるものであった。
【0045】
第2の実施形態は、通信機器の使用状態の確認機能に加え、その通信機器が適用しているソフトウェア実行環境(OSや動作条件など)に応じて、キャプチャプログラムや設定ファイルを選択し得るようにしたものである。すなわち、第2の実施形態は、USBストレージデバイスに、キャプチャプログラムや設定ファイルをそれぞれ複数格納しておき、装着された通信機器が、自己に係るソフトウェア実行環境に応じたキャプチャプログラムや設定ファイルを選択する機能を、第1の実施形態に追加したものである。以下では、第1の実施形態との相違点を中心に、第2の実施形態の構成、動作、効果を説明する。
【0046】
(B−1)第2の実施形態の構成
図6は、第2の実施形態のパケットキャプチャシステムの構成を示すブロック図であり、第1の実施形態に係る図1との同一、対応部分には同一、対応符号を付して示している。図7は、第1の実施形態における通信機器内プログラム構成とキャプチャプログラムの構成を示す説明図であり、第1の実施形態に係る図2との同一、対応部分には同一、対応符号を付して示している。
【0047】
図6において、第2の実施形態のパケットキャプチャシステム1Aも、通信機器11A及びUSBストレージデバイス17Aを有する。
【0048】
通信機器11Aは、第1の実施形態のものとほぼ同様なものであるが、フラッシュメモリ14Aに格納されているキャプチャプログラム起動プログラム21Aが、USBインタフェース監視部21aと、キャプチャプログラム実行部21bと、通信機器リソース監視部21cと、プログラム選択部21dとを有する点が、第1の実施形態と異なっている。すなわち、キャプチャプログラム起動プログラム21A内に、プログラム選択部21dが追加されている点が、第1の実施形態と異なっている。
【0049】
第2の実施形態のUSBストレージデバイス17Aは、複数(図6では3個の例を示している)のキャプチャプログラム18−1〜18−3と、複数(図6では3個の例を示している)の設定ファイル19−1〜19−3とを備えている。複数のキャプチャプログラム18−1〜18−3にはそれぞれ、識別可能なプログラム名が付与されている。プログラム名は、プログラム名+拡張子であっても良い。
【0050】
各キャプチャプログラム18(18−1〜18−3)がそれぞれ、図7に示すように、設定ファイル読み込み部18aと、パケットキャプチャ部18bと、キャプチャデータ保存部18cとを有する点は、第1の実施形態と同様である。
【0051】
図8は、プログラム選択条件情報22の構成を示す説明図である。プログラム選択条件情報22は、例えば、テーブル形式で記述され、各行はそれぞれ、いずれかのキャプチャプログラム18−1〜18−3に対応する。各行はそれぞれ、プログラム名、対応OS、対応ライブラリ、対応プログラム及び対応設定ファイルという複数の項目を組に、各項目に情報(情報なしの場合もある)が予めに記述されている。
【0052】
図8において、プログラム名が「プログラム#1」のキャプチャプログラム(以下、プログラム18−1とする)について、対応OSが「OS#1」、対応ライブラリが「なし」、対応プログラムが「なし」、対応設定ファイルが「Config_file#1」であるという組情報が記述されている。すなわち、プログラム名が「プログラム#1」のキャプチャプログラム18−1は、「Config_file#1」を用いて環境設定するものであって、「OS#1」上で動作可能ということを記述している。
【0053】
また、プログラム名が「プログラム#2」のキャプチャプログラム(以下、プログラム18−2とする)について、対応OSが「OS#1」、対応ライブラリが「Lib#1」、対応プログラムが「なし」、対応設定ファイルが「Config_file#2」であるという組情報が記述されている。すなわち、プログラム名が「プログラム#2」のキャプチャプログラム18−2は、「OS#1」内に「Lib#1」が含まれている場合に、「Config_file#2」を用いて環境設定するものであって、「OS#1」上で動作可能ということを記述している。
【0054】
さらに、プログラム名が「プログラム#2」のキャプチャプログラム(以下、プログラム18−2とする)について、対応OSが「OS#2」、対応ライブラリが「Lib#2」、対応プログラムが「Prog#1」、対応設定ファイルが「*.conf」であるという組情報が記述されている。すなわち、プログラム名が「プログラム#3」のキャプチャプログラム18−3は、「OS#2」内に「Lib#2」及び「Prog#1」が含まれている場合に、「*.conf」(*はオールマイティを表している)に関連する設定ファイルで環境設定し、環境設定に成功すると「OS#2」上で動作可能ということを記述している。
【0055】
第2の実施形態で新たに設けられたプログラム選択部21dは、プログラム選択条件情報22に基づいて、複数のキャプチャプログラム18−1〜18−3の中から起動するキャプチャプログラムを決める処理(選択)を行う部分である。プログラム選択部21dによる具体的な処理は、後述する動作の項の説明で明らかにする。
【0056】
図9は、複数のキャプチャプログラム用設定ファイルの構成例を示す説明図である。図9(A)は、ファイル名が「Config_file#1」であるキャプチャプログラム用設定ファイル(以下、キャプチャプログラム用設定ファイル19−1とする)の構成を示し、図8に示すように、キャプチャプログラム18−1に対応している。図9(B)は、ファイル名が「Config_file#2」であるキャプチャプログラム用設定ファイル(以下、キャプチャプログラム用設定ファイル19−2とする)の構成を示し、図8に示すように、キャプチャプログラム18−2に対応している。図9(C)は、ファイル名が「setup.conf」であるキャプチャプログラム用設定ファイル(以下、キャプチャプログラム用設定ファイル19−3とする)の構成を示し、図8に示すように、キャプチャプログラム18−3に対応している。図9(C)に示すように、キャプチャプログラム用設定ファイルのファイル名は、ファイル名+拡張子の形式であっても良い。
【0057】
キャプチャプログラム用設定ファイル19−1〜19−3は、対応するキャプチャプログラム18−1〜18−3に応じたものとなっていて、上述のように、その内容は異なっている。
【0058】
キャプチャプログラム用設定ファイル19は、第1の実施形態と同様に、LANインタフェース名、プロトコル種別、ポート番号、キャプチャ時間、保存先ファイル名の内容を記述すると共に、さらに、フィルタ対象プロトコル識別の内容を記述するようにしても良い。ここで、フィルタ対象プロトコル識別(Filter=)は、キャプチャプログラム18がキャプチャ対象としない通信プロトコルの名称である。
【0059】
図9(A)の設定ファイル19−1は、第1の実施形態で説明した図3の設定ファイル19と同様であるので、その設定ファイル19−1の意味する所の説明は省略する。
【0060】
図9(B)の設定ファイル19−2は、当該設定ファイル19−2で設定された時点以降の期間である2010年10月10日00時00分から2010年10月10日24時00分の間(24時間)、LANインタフェースeth0を介して行われる通信のうち、通信プロトコルがTCP又はUDPで通信ポートが5060又は5061の通信(パケット)をキャプチャし、保存先ファイルcapture.capに保存するような環境設定を与えるものとなっている。
【0061】
図9(C)の設定ファイル19−3は、当該設定ファイル19−3で設定された時点から60分の間、LANインタフェースeth0又はeth1を介して行われる通信のうち、ARPとICMPを除いた全ての通信(通信機器11が対応する全ての通信プロトコル及び通信ポートの通信)をキャプチャし、保存先ファイルcapture.capに保存するような環境設定を与えるものとなっている。
【0062】
(B−2)第2の実施形態の動作
次に、第2の実施形態のパケットキャプチャシステム1Aの動作(パケットキャプチャ方法)を説明する。
【0063】
図10は、キャプチャプログラム起動プログラム21Aにおける各構成要素21a〜21dの起動時の処理の流れを示すシーケンス図であり、第1の実施形態に係る同一、対応ステップには同一符号を付して示している。
【0064】
パケットキャプチャを希望するオペレータは、キャプチャプログラム18−1〜18−3及びキャプチャプログラム用設定ファイル19−1〜19−3を格納したUSBストレージデバイス17Aを通信機器11AのUSBインタフェース13に装着する。
【0065】
このとき、キャプチャプログラム起動プログラム21AのUBSインタフェース監視部21aは、USBインタフェース13にUSBストレージデバイス17Aが装着されたことを検出し(ステップS1)、通信機器リソース監視部21cを起動する(ステップS2)。
【0066】
起動された通信機器リソース監視部21cが、当該通信機器11のRAM15の使用量及びCPU16の使用率を確認する処理の流れは、第1の実施形態と同様であり(ステップS3〜S7)、その説明は省略する。なお、RAM15の使用量に余裕があるか否かの判断に用いる閾値を、キャプチャプログラム18−1〜18−3のうち必要とする記憶容量が最も大きいものを考慮して定めるようにしておけば良い。
【0067】
この第2の実施形態の場合、通信機器リソース監視部21cは、RAM15の使用量やCPU16の使用率の確認により、いずれかのキャプチャプログラム(18−1〜18−3のいずれか)が起動可能と判断した場合には、プログラム選択部21dを起動する(ステップS10)。
【0068】
プログラム選択部21dは、起動されると、プログラム選択条件情報22に基づいて、複数のキャプチャプログラム18−1〜18−3の中から適用するものを決定(選択)する(ステップS11)。この決定では、適用するキャプチャプログラム用設定ファイルも併せて決定(選択)される。
【0069】
以下、プログラム選択部21dが、通信機器11Aに搭載されたOSに適切なアプリケーション(キャプチャプログラム及びキャプチャプログラム用設定ファイル)を決定(選択)する処理を具体的に説明する。図11は、プログラム選択部21dが実行する処理を示すフローチャートである。
【0070】
プログラム選択部21dは、通信機器リソース監視部21cによって起動されると、図11に示す処理を開始し、USBストレージデバイス17Aに格納されているプログラム選択条件情報22(図8参照)を読込み(ステップS100)。次に、プログラム選択部21dは、搭載されている通信機器11AのOS種類を調査する(ステップS101)。さらに、プログラム選択部21dは、読込んだプログラム選択条件情報22の対応ライブラリの列のライブラリがOSに含まれているか調査すると共に、読込んだプログラム選択条件情報22の対応プログラムの列のプログラムがOSに含まれているか調査する(ステップS102、S103)。さらに、プログラム選択部21dは、読込んだプログラム選択条件情報22の対応設定ファイルの列の設定ファイルが通信機器11AやUSBストレージデバイス17Aに含まれているか調査する(ステップS104)。そして、プログラム選択部21dは、上述した調査結果に応じて、通信機器11Aで起動するキャプチャプログラムを決定(選択)する(ステップS105)。なお、キャプチャプログラム用設定ファイルが通信機器11A側に予め搭載されていても良い(上述した第1の実施形態についても同様な変形実施形態は成立する)。
【0071】
例えば、プログラム選択部21dが、OS種類「OS#1」、対応ライブラリ「含まれていない」、対応プログラム「含まれていない」、対応設定ファイル「Config_file#1」という調査結果を得たときには、プログラム選択部21dは、図8に示すプログラム選択条件情報22(の1行目)に基づいて、キャプチャプログラム18−1(#1)を選択する。
【0072】
例えば、プログラム選択部21dが、OS種類「OS#1」、対応ライブラリ「Lib#1」、対応プログラム「含まれていない」、対応設定ファイル「Config_file#2」という調査結果を得たときには、プログラム選択部21dは、図8に示すプログラム選択条件情報22(の2行目)に基づいて、キャプチャプログラム18−2(#2)を選択する。
【0073】
例えば、プログラム選択部21dが、OS種類「OS#2」、対応ライブラリ「Lib#2」、対応プログラム「Prog#1、Prog#2」、対応設定ファイル「Config_file#1、Config_file#2、setup.conf、startup.conf、set.conf」の調査結果を得たときには、プログラム選択部21dは、図8に示すプログラム選択条件情報22(の3行目)に基づいて、キャプチャプログラム18−2(#3)を選択する。
【0074】
プログラム選択部21dは、決定(選択)したキャプチャプログラムのプログラム名と対応設定ファイルの調査結果(適用するキャプチャプログラム用設定ファイルのファイル名)とを通信機器リソース監視部21cに通知し(図11のステップS106、図10のS12)、図11の一連の処理を終了する。
【0075】
なお、適用するキャプチャプログラムを決定できない場合には、プログラム選択部21dは、上述した通知のタイミングでその旨を通信機器リソース監視部21cに通知し、図10では省略しているが、通信機器リソース監視部21cは、いずれのキャプチャプログラムをも起動させずに処理を終了する。
【0076】
通信機器リソース監視部21cは、プログラム選択部21dから決定(選択)したキャプチャプログラムのプログラム名と対応設定ファイルの調査結果が与えられると、通信機器リソース監視部21cは、そのプログラム名を与えてキャプチャプログラム実行部21bを起動し(ステップS8A)、USBストレージデバイス17Aに格納されている該当するプログラム名のキャプチャプログラム(18−1〜18−3のいずれか)をRAM15にロードされて、そのキャプチャプログラムを開始させるようにする(ステップS9A)。
【0077】
例えば、プログラム選択部21dによってキャプチャプログラム18−1が決定された場合には、プログラム選択部21dは、プログラム名「プログラム#1」を通信機器リソース監視部21cに通知し、通信機器リソース監視部21cは、プログラム名「プログラム#1」を与えてキャプチャプログラム実行部21bを起動し、USBストレージデバイス17Aに格納されているプログラム名「プログラム#1」のキャプチャプログラム18−1がRAM15にロードされて、そのキャプチャプログラム18−1を開始させようとする。
【0078】
この第2の実施形態においても、RAM15にロードされたキャプチャプログラム18における各構成要素18a〜18cのパケットキャプチャの実行時の処理の流れは、第1の実施形態の説明で用いた図5で示すことができる。但し、第2の実施形態の場合、ステップS50及びS52の処理内容が、第1の実施形態と異なっている。以下では、この相違を、プログラム選択部21dによって決定されたキャプチャプログラムが、プログラム名「プログラム#1」のキャプチャプログラム18−1である場合を例に説明する。以下の説明において、設定ファイル読み込み部18a、パケットキャプチャ部18b及びキャプチャデータ保存部18cは、キャプチャプログラム18−1を構成しているものである。
【0079】
プログラム名「プログラム#1」のキャプチャプログラム18−1が開始されると、まず、設定ファイル読み込み部18aが起動される。このとき、設定ファイル読み込み部18aは、プログラム選択部21dに設定ファイルを問い合わせし、プログラム選択部21dが、対応設定ファイルの調査結果「Config_file1」を返信する。設定ファイル読み込み部18aは、設定ファイルの調査結果「Config_file1」に対応するキャプチャプログラム用設定ファイル19−1がUSBストレージデバイス17A又は通信機器11Aに含まれているか確認し(ステップS50)、含まれている場合には、そのキャプチャプログラム用設定ファイル19−1ファイルを読込み(ステップS52)、ファイル19−2に記述されている設定データをプログラム内にデータとして保持し、パケットキャプチャ部18bとキャプチャデータ保存部18cとを起動する。
【0080】
ここで、設定ファイルの調査結果が「Config_file#1」、「Config_file#2」、「setup.conf」、「startup.conf」、「set.conf」のように複数の場合には、例えば、設定ファイル読み込み部18aは、「Config_file#1」、「Config_file#2」、「setup.conf」、「startup.conf」、「set.conf」のそれぞれの設定ファイルを順に読み込み、エラーなく読込める設定ファイルを適用する。
【0081】
(B−3)第2の実施形態の効果
第2の実施形態によれば、USBストレージデバイスに、キャプチャプログラムや設定ファイルをそれぞれ複数格納しておき、USBストレージデバイスが装着された通信機器のソフトウェア実行環境(OS等)に応じてキャプチャプログラムや設定ファイルを自動的に選択した上で、パケットキャプチャを実行する機能を、第1の実施形態の機能に追加するようにしたので、第1の実施形態と同様な効果に加え、通信機器によって適切なキャプチャプログラムや設定ファイルを選択してパケットキャプチャを実行でき、パケットキャプチャを適切に実行させることができる。
【0082】
ここで、いずれか1つのOSに対応したアプリケーション(キャプチャプログラムや設定ファイル)を格納しているUSBストレージデバイスをOSごとに設け、通信機器のOSに対応するUSBストレージデバイスを選んで通信機器に装着することも考えられるが、このようにした場合には、オペレータが、通信機器のOSに適したUSBストレージデバイスを、複数のUSBストレージデバイスの中から選択しなければならない。第2の実施形態によれば、オペレータは通信機器のOSの種類を意識することなく、USBストレージデバイスを装着することができる。
【0083】
(C)他の実施形態
上記各実施形態の説明においても、種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
【0084】
上記各実施形態においては、キャプチャプログラムとキャプチャプログラム用設定ファイルをUSBストレージデバイスに格納し、USBインタフェースを有する通信機器に装着する例を説明したが、USBストレージデバイス以外の着脱可能な可搬記憶装置や、そのような可搬記憶装置を接続できるインタフェースを有する通信機器にも本発明を適用可能である。このような他の可搬記憶装置としては、SDメモリカードを挙げることができる。
【0085】
上記各実施形態においては、パケットキャプチャで得たキャプチャデータを通信機器(のCPU)がUSBストレージデバイスに保存していくものを示したが、パケットキャプチャで得たキャプチャデータを通信機器内のRAMなどの記憶媒体に一時記憶し、パケットプログラムの終了時に、一時記憶したキャプチャデータをUSBストレージデバイスに転送させるようにしても良い。この変形実施形態の場合であれば、キャプチャプログラムを通信機器にロードする際に、キャプチャデータを格納できるUSBストレージデバイスにおける容量の情報も併せて通信機器に与えることを要する。
【0086】
上記各実施形態においては、キャプチャ時間が経過しなくても、USBストレージデバイスの空き容量がなくなればパケットキャプチャを終了させる場合を示したが、空き容量がなくなっても、キャプチャ時間が経過するまでパケットキャプチャを継続するようにしても良い。この場合、USBストレージデバイスの空き容量がなくなった以降は、取得データを格納するのではなく、空き容量がなくなった以降に到来した該当するパケット数や到来したパケットのデータ容量の累積値などを把握して、その統計量を格納させるようにすれば良い。
【0087】
上記各実施形態では、通信機器が有線を介して通信するイメージで説明したが、通信機器が無線によって通信するものであっても良い。
【0088】
上記各実施形態では、キャプチャプログラムをロードするか否かを決定する、通信機器の使用状態のパラメータが、RAM使用量とCPU使用率であるものを示したが、RAM使用量又はCPU使用率の一方だけを適用しても良く、さらに、他の観点の使用状態パラメータを単独又は組み合わせて用いるようにしても良い。例えば、通信機器が2次電池からの電源で動作するものである場合において、充電量を、キャプチャプログラムをロードするか否かを決定するパラメータとして用いるようにしても良い。
【符号の説明】
【0089】
1A…パケットキャプチャシステム、11、11A…通信機器、12…LANインタフェース、13…USBインタフェース、14、14A…フラッシュメモリ、15…RAM、16…CPU、17、17A…USBストレージデバイス、18、18−1〜18−3…キャプチャプログラム、18a…設定ファイル読み込み部、18b…パケットキャプチャ部、18c…キャプチャデータ保存部、19、19−1〜19−3…キャプチャプログラム用設定ファイル、20…通信機器制御アプリケーション、21a…USBインタフェース監視部、21b…キャプチャプログラム実行部、21c…通信機器リソース監視部、21d…プログラム選択部、22…プログラム選択条件情報。

【特許請求の範囲】
【請求項1】
パケットキャプチャ対象の通信機器と、上記通信機器に着脱自在な可搬記憶装置とを有するパケットキャプチャシステムであって、
上記可搬記憶装置には、
上記通信機器が授受するパケットをキャプチャすることを目的とした上記通信機器にて実行可能なキャプチャプログラムと、
上記キャプチャプログラムの各種動作条件の設定を記述し、かつ、上記キャプチャプログラムによって読み込み可能な形式で記述された設定ファイルとを格納しておき、
上記通信機器は、
上記可搬記憶装置が装着されたことを検出する装着監視手段と、
上記可搬記憶装置が装着されたことが検出されたとき、当該通信機器における所定リソースの使用量若しくは使用率に余裕があるか否かを判別し、上記キャプチャプログラムの実行有無を決定するリソース使用状態監視手段と、
上記キャプチャプログラムを実行することに決定されたとき、上記キャプチャプログラムを上記設定ファイルに記述された動作条件で実行するキャプチャプログラム実行手段と、
パケットキャプチャによって取得されたキャプチャデータを上記可搬記憶装置に保存するキャプチャデータ保存手段とを有する
ことを特徴とするパケットキャプチャシステム。
【請求項2】
上記可搬記憶装置には、複数のキャプチャプログラムと、複数の設定ファイルとを格納しておくと共に、複数のキャプチャプログラムから1つのキャプチャプログラムを選択するための条件と各キャプチャプログラムに対応する設定ファイルとの情報とを記述しているプログラム選択条件情報を格納しておき、
上記通信機器は、
上記キャプチャプログラムを実行することに決定されたとき、当該通信装置の動作環境を上記プログラム選択条件情報と照合して、複数のキャプチャプログラムからパケットキャプチャに適用するキャプチャプログラムを決定するプログラム選択手段を有し、
上記キャプチャプログラム実行手段は、上記プログラム選択手段で決定された上記キャプチャプログラムを当該キャプチャプログラムに対応する上記設定ファイルに記述された動作条件で実行する
ことを特徴とする請求項1に記載のパケットキャプチャシステム。
【請求項3】
上記キャプチャデータ保存手段は、キャプチャによって取得されたキャプチャデータが上記可搬記憶装置に保存可能かを随時確認し、保存可能な最大量に、取得されたキャプチャデータの量が達したときにパケットキャップを終了させることを特徴とする請求項1又は2に記載のパケットキャプチャシステム。
【請求項4】
上記可搬記憶装置がUSBストレージデバイスであることを特徴とする請求項1〜3のいずれかに記載のパケットキャプチャシステム。
【請求項5】
当該通信機器が授受するパケットをキャプチャすることを目的とした当該通信機器にて実行可能なキャプチャプログラムと、上記キャプチャプログラムの各種動作条件の設定を記述し、かつ、上記キャプチャプログラムによって読み込み可能な形式で記述された設定ファイルとを格納している可搬記憶装置が着脱自在である、パケットキャプチャ対象の通信機器であって、
上記可搬記憶装置が装着されたことを検出する装着監視手段と、
上記可搬記憶装置が装着されたことが検出されたとき、当該通信機器における所定リソースの使用量若しくは使用率に余裕があるか否かを判別し、上記キャプチャプログラムの実行有無を決定するリソース使用状態監視手段と、
上記キャプチャプログラムを実行することに決定されたとき、上記キャプチャプログラムを上記設定ファイルに記述された動作条件で実行するキャプチャプログラム実行手段と、
キャプチャによって取得されたキャプチャデータを上記可搬記憶装置に保存するキャプチャデータ保存手段と
を有することを特徴とする通信機器。
【請求項6】
パケットキャプチャ対象の通信機器に、上記通信機器に着脱自在な可搬記憶装置を装着してパケットキャプチャを実行するパケットキャプチャ方法であって、
上記可搬記憶装置には、
上記通信機器が授受するパケットをキャプチャすることを目的とした上記通信機器にて実行可能なキャプチャプログラムと、
上記キャプチャプログラムの各種動作条件の設定を記述し、かつ、上記キャプチャプログラムによって読み込み可能な形式で記述された設定ファイルとを格納しておき、
上記通信機器は、
上記可搬記憶装置が装着されたか否かを監視し、
上記可搬記憶装置が装着されたことが検出されたとき、当該通信機器における所定リソースの使用量若しくは使用率に余裕があるか否かを判別して、上記キャプチャプログラムの実行有無を決定し、
上記キャプチャプログラムを実行することに決定したとき、上記キャプチャプログラムを上記設定ファイルに記述された動作条件で実行し、
パケットキャプチャによって取得されたキャプチャデータを上記可搬記憶装置に保存する
ことを特徴とするパケットキャプチャ方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate