(57)【要約】      （修正有）【課題】パケットごとに適切なデータを少ない記憶容量で保存することができるパケットキャプチャ装置、パケットキャプチャシステム、パケットキャプチャプログラム及びパケットキャプチャ方法を提供する。【解決手段】パケットキャプチャ処理は、パケットを取得Ｓｔ１し、前記パケットに関する属性情報を取得Ｓｔ２し、前記パケットを前記属性情報に応じて複数のパケットに分割Ｓｔ５し、前記複数のデータを複数の記憶装置にそれぞれ保存Ｓｔ１０〜Ｓｔ１２する。パケット数が上限数Ｍに達している場合Ｓｔ６Ｙｅｓ、パケットデータベース２０〜２２に新しいグループをそれぞれ生成するＳｔ７。次に、保存期間テーブルを参照しＳｔ８、登録された保存期間Ｔａ〜Ｔｃから各パケットデータベース２０〜２２のグループの保存期限をそれぞれ算出して、各々のヘッダ情報に設定するＳｔ９。【選択図】図１０
2018196013.tif 000002
【特許請求の範囲】
【請求項１】
パケットを取得する第１取得部と、
前記パケットに関する属性情報を取得する第２取得部と、
前記パケットを前記属性情報に応じて複数のデータに分割する分割部と、
前記複数のデータを複数の記憶装置にそれぞれ保存する保存処理部と、
前記複数のデータを、前記複数のデータが保存されてから、データごとに異なる期間が経過したことに応じて前記複数の記憶装置からそれぞれ消去する消去処理部とを有することを特徴とするパケットキャプチャ装置。
【請求項２】
前記属性情報と前記複数のデータの各々のサイズとの対応関係、及び、前記属性情報と前記パケットの領域名との対応関係の少なくとも一方が登録されたテーブルを記憶する記憶部を有し、
前記分割部は、前記テーブルに基づき、前記パケットを、前記属性情報に応じた前記サイズまたは前記領域名の領域をそれぞれ有する前記複数のデータに分割することを特徴とする請求項１に記載のパケットキャプチャ装置。
【請求項３】
前記属性情報には、前記パケットの宛先、送信元、回線、及び種別の少なくとも１つの情報が含まれることを特徴とする請求項１または２に記載のパケットキャプチャ装置。
【請求項４】
前記保存処理部は、保存した前記複数のデータを、所定数の前記パケットが属するグループの識別子に基づいて管理し、
前記消去処理部は、消去対象の前記複数のデータの分割元の前記パケットが属するグループの前記識別子に基づいて、前記複数のデータをそれぞれ消去することを特徴とする請求項１乃至３の何れかに記載のパケットキャプチャ装置。
【請求項５】
前記複数のデータのうち、前記消去処理部により消去されていない１以上のデータから前記パケットを復元する復元部を有することを特徴とする請求項１乃至４の何れかに記載のパケットキャプチャ装置。
【請求項６】
パケットキャプチャ装置と複数の記憶装置とを有し、
前記パケットキャプチャ装置は、
パケットを取得する第１取得部と、
前記パケットに関する属性情報を取得する第２取得部と、
前記パケットを前記属性情報に応じて複数のデータに分割する分割部と、
前記複数のデータを前記複数の記憶装置にそれぞれ保存する保存処理部と、
前記複数のデータを、前記複数のデータが保存されてから、データごとに異なる期間が経過したことに応じて前記複数の記憶装置からそれぞれ消去する消去処理部とを有することを特徴とするパケットキャプチャシステム。
【請求項７】
パケットを取得し、
前記パケットに関する属性情報を取得し、
前記パケットを前記属性情報に応じて複数のデータに分割し、
前記複数のデータを複数の記憶装置にそれぞれ保存し、
前記複数のデータを、前記複数のデータが保存されてからデータごとに異なる期間が経過したことに応じて前記複数の記憶装置からそれぞれ消去する、処理をコンピュータに実行させることを特徴とするパケットキャプチャプログラム。
【請求項８】
パケットを取得する工程と、
前記パケットに関する属性情報を取得する工程と、
前記パケットを前記属性情報に応じて複数のデータに分割する工程と、
前記複数のデータを複数の記憶装置にそれぞれ保存する工程と、
前記複数のデータを、前記複数のデータが保存されてからデータごとに異なる期間が経過したことに応じて前記複数の記憶装置からそれぞれ消去する工程とを、コンピュータが実行することを特徴とするパケットキャプチャ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、パケットキャプチャ装置、パケットキャプチャシステム、パケットキャプチャプログラム、及びパケットキャプチャ方法に関する。
【背景技術】
【０００２】
ネットワークには、映像配信、画像配信、及び通常のデータ通信などの様々な種類のパケットが流れている。このため、ネットワークの通信は複雑化しており、例えば障害解析、セキュリティの強化、フォレンジック調査などを行うためには、通常の通信装置から得られる情報だけでは不十分となるケースがある。
【０００３】
これに対し、より詳細な通信の解析を可能とするため、ネットワークに流れるパケットをキャプチャするパケットキャプチャ装置が用いられる。キャプチャされたパケットは、例えばストレージなどのデータストア機能を備えた記憶装置に保存される。なお、例えば特許文献１及び２には、データの記録に関する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−４０１４０号公報
【特許文献２】特開２００１−５４０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
パケットキャプチャ装置が、キャプチャしたパケットごとにその全てのデータを記憶装置に保存すれば、通信の解析に必要なデータが十分に得られる。しかし、多くのパケットのデータを保存するためには記憶容量の大きい記憶装置が必要となるため、装置コストが増加するという問題がある。
【０００６】
これに対し、パケットキャプチャ装置が、スライシングによりパケットから一部のデータ（例えばヘッダ領域）だけを取得して保存すれば、記憶装置の記憶容量を低減することが可能である。
【０００７】
例えば、暗号化通信のパケットは、パケットキャプチャ装置による復号化が困難であるため、暗号化されていないヘッダ領域を除き、ペイロード領域の全てのデータが通信の解析に用いられることはない。また、映像配信のパケットについても、映像データは通信の解析に有効ではないため、解析に用いられることはほとんどない。したがって、この種のパケットの場合、一部のデータだけで十分に通信の解析を行うことが可能である。
【０００８】
しかし、スライシングのサイズによっては、パケットの一部のデータだけでは十分に通信を解析することができないことがある。例えばセキュリティの強化やフォレンジック調査の対象となるパケットの場合、例えばヘッダ領域だけでは十分に通信の解析を行うことができないおそれがある。このため、できるだけ多くのデータを記憶装置に保存することが望ましいが、保存するデータ量が多くなるほど、やはり大きな記憶容量が必要となる。
【０００９】
そこで本件は、パケットごとに適切なデータを少ない記憶容量で保存することができるパケットキャプチャ装置、パケットキャプチャシステム、パケットキャプチャプログラム、及びパケットキャプチャ方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
１つの態様では、パケットキャプチャ装置は、パケットを取得する第１取得部と、前記パケットに関する属性情報を取得する第２取得部と、前記パケットを前記属性情報に応じて複数のデータに分割する分割部と、前記複数のデータを複数の記憶装置にそれぞれ保存する保存処理部と、前記複数のデータを、前記複数のデータが保存されてから、データごとに異なる期間が経過したことに応じて前記複数の記憶装置からそれぞれ消去する消去処理部とを有する。
【００１１】
１つの態様では、パケットキャプチャシステムは、パケットキャプチャ装置と複数の記憶装置とを有し、前記パケットキャプチャ装置は、パケットを取得する第１取得部と、前記パケットに関する属性情報を取得する第２取得部と、前記パケットを前記属性情報に応じて複数のデータに分割する分割部と、前記複数のデータを前記複数の記憶装置にそれぞれ保存する保存処理部と、前記複数のデータを、前記複数のデータが保存されてから、データごとに異なる期間が経過したことに応じて前記複数の記憶装置からそれぞれ消去する消去処理部とを有する。
【００１２】
１つの態様では、パケットキャプチャプログラムは、パケットを取得し、前記パケットに関する属性情報を取得し、前記パケットを前記属性情報に応じて複数のデータに分割し、前記複数のデータを複数の記憶装置にそれぞれ保存し、前記複数のデータを、前記複数のデータが保存されてからデータごとに異なる期間が経過したことに応じて前記複数の記憶装置からそれぞれ消去する、処理をコンピュータに実行させるプログラムである。
【００１３】
１つの態様では、パケットキャプチャ方法は、パケットを取得する工程と、前記パケットに関する属性情報を取得する工程と、前記パケットを前記属性情報に応じて複数のデータに分割する工程と、前記複数のデータを複数の記憶装置にそれぞれ保存する工程と、前記複数のデータを、前記複数のデータが保存されてからデータごとに異なる期間が経過したことに応じて前記複数の記憶装置からそれぞれ消去する工程とを、コンピュータが実行する方法である。
【発明の効果】
【００１４】
１つの側面として、パケットごとに適切なデータを少ない記憶容量で保存することができる。
【図面の簡単な説明】
【００１５】
【図１】パケットキャプチャシステムの一例を示す構成図である。
【図２】パケットキャプチャ装置の一例を示す構成図である。
【図３】ポリシーテーブルの一例を示す図である。
【図４】パケットのキャプチャから保存までの流れの一例を示す図である。
【図５】パケットデータベースの一例を示す図である。
【図６】パケットデータベースの一例を示す図である。
【図７】データの保存及び消去の一例を示す図である。
【図８】データの保存及び消去の一例を示す図である。
【図９】データの保存及び消去の一例を示す図である。
【図１０】パケットのキャプチャ処理の一例を示すフローチャートである。
【図１１】データの消去処理の一例を示すフローチャートである。
【図１２】パケットの復元処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
図１は、パケットキャプチャシステム９の一例を示す構成図である。パケットキャプチャシステム９は、パケットキャプチャ装置１と、３台のストレージ２ａ〜２ｃとを含む。ストレージ２ａ〜２ｃには、パケットキャプチャ装置１が各ストレージ２ａ〜２ｃを識別するための識別番号＃１〜＃３が付与されている。なお、ストレージ２ａ〜２ｃは、記憶装置の一例であり、例えばハードディスクドライブや大容量メモリデバイスが挙げられるが、限定はない。また、ストレージ２ａ〜２ｃの台数に限定はない。
【００１７】
パケットキャプチャ装置１は、一例として２つのネットワークＮＷａ，ＮＷｂの間を流れるパケットをネットワークタップ（ＴＡＰ）３から取得する。すなわち、パケットキャプチャ装置１はパケットをキャプチャする。なお、パケットとしては、ＩＰ（Internet Protocol）パケットが挙げられるが、イーサネット（登録商標、以下同様）フレームであってもよい。
【００１８】
ＴＡＰ３は、一方のネットワークＮＷａと他方のネットワークＮＷｂの間を結ぶ伝送路の途中に挿入されている。伝送路としては、一例として光ファイバまたはＵＴＰ（Unshielded Twisted Pair）ケーブルが挙げられる。ＴＡＰ３は、点線で示されるように、ネットワークＮＷａ，ＮＷｂの間を流れるパケットを分岐させることによりパケットをパケットキャプチャ装置１に出力する。
【００１９】
パケットキャプチャ装置１は、パケットの属性情報を解析し、属性情報に応じてパケットを３つのデータＡ〜Ｂに分割する。このとき、データＡ〜Ｃのサイズ及び内容は、属性情報に応じて決定される。パケットキャプチャ装置１は、データＡをストレージ２ａに保存し、データＢをストレージ２ｂに保存し、データＣをストレージ２ｃに保存する。
【００２０】
ストレージ２ａ〜２ｃには、データＡ〜Ｃを保存するためのパケットデータベース（ＰＫＴ−ＤＢ）２０〜２２が格納されている。各パケットデータベース２０〜２２のデータＡ〜Ｃの保存期間Ｔａ〜Ｔｃは相違する。本実施例では、一例としてデータＡの保存期間Ｔａが最も長く、データＣの保存期間Ｔｃが最も短い。すなわち、ストレージ２ａ〜２ｃの間においてＴａ＞Ｔｂ＞Ｔｃの関係が成立する。
【００２１】
このため、パケットキャプチャ装置１は、データＡ〜Ｃを、データＡ〜Ｃが保存されてから、データＡ〜Ｃごとに異なる保存期間Ｔａ〜Ｔｃが経過したことに応じてそれぞれ消去する。なお、保存期間Ｔａ〜Ｔｃは期間の一例である。
【００２２】
このように、パケットキャプチャ装置１は、パケットを属性情報に応じてデータＡ〜Ｃに分割するため、パケットごとに、例えば通信の解析に最も適切な部分をデータＡとしてストレージ２ａに保存することができる。また、パケットキャプチャ装置１は、その次に適切な部分をデータＢとしてストレージ２ｂに保存し、残りの部分をデータＣとしてストレージ２ｃに保存することができる。
【００２３】
このため、ストレージ２ａ〜２ｃに保存されたパケットのサイズは、保存期間Ｔａ〜Ｔｃの経過ごとに順次にデータＡ〜Ｃが消去されることによって短くなる。しかし、データＡの保存期間Ｔａは最も長いため、例えば保存期間Ｔｂ，Ｔｃの経過後でも最も適切なデータＡを通信の解析に用いることができる。また、最も短い保存期間Ｔｃの経過前であれば、全てのデータＡ〜Ｃを通信の解析に用いることも可能である。
【００２４】
また、ストレージ２ｃの保存期間Ｔｃはストレージ２ａ，２ｂの保存期間Ｔａ，Ｔｂより短く、ストレージ２ｂの保存期間Ｔｂはストレージ２ａの保存期間Ｔａより短い。このため、ストレージ２ｃ，２ｂの記憶容量を低減することが可能である。
【００２５】
したがって、パケットキャプチャ装置１は、パケットごとに適切なデータＡ〜Ｃを少ない記憶容量で保存することができる。なお、上記の効果は、ストレージ２ａ〜２ｃの数、つまりパケットの分割数（データ数）によらずに得られる。
【００２６】
図２は、パケットキャプチャ装置１の一例を示す構成図である。パケットキャプチャ装置１は、ＣＰＵ（Central Processing Unit）１０、ＲＯＭ（Read Only Memory）１１、ＲＡＭ（Random Access Memory）１２、ＨＤＤ（Hard Disk Drive）１３、通信ポート１４、入力装置１５、出力装置１６、及び装置間インターフェース部（装置間ＩＦ）１７を有する。
【００２７】
ＣＰＵ１０は、互いに信号の入出力ができるように、ＲＯＭ１１、ＲＡＭ１２、ＨＤＤ１３、通信ポート１４、入力装置１５、出力装置１６、及び装置間ＩＦ１７と、バス１９を介して接続されている。なお、ＣＰＵ１０はコンピュータの一例であるが、ＣＰＵ１０に代えて、ＭＰＵ（Micro-Processing Unit）などの他のプロセッサが用いられてもよい。
【００２８】
ＲＯＭ１１は、ＣＰＵ１０を駆動するプログラムが保存されている。このプログラムには、ＯＳ（Operating System）に加えて、パケットキャプチャ方法を実行するパケットキャプチャプログラムが含まれる。
【００２９】
ＲＡＭ１２は、ＣＰＵ１０のワーキングメモリとして機能する。通信ポート１４は、例えばＮＩＣ（Network Interface Card）であり、ネットワークＮＷａ，ＮＷｂの間を流れるパケットをＴＡＰ３から受信する。通信ポート１４は、パケットをＣＰＵ１０に出力する。装置間ＩＦ１７は、例えばＦＰＧＡ（Field Programmable Gate Array）などから構成されたバスコントローラであり、ストレージ２ａ〜２ｃをバス１９に接続することによりＣＰＵ１０からストレージ２ａ〜２ｃへのアクセスを制御する。
【００３０】
入力装置１５は、パケットキャプチャ装置１に情報を入力する装置である。入力装置１５としては、例えばキーボード、マウス、及びタッチパネルなどが挙げられる。入力装置１５は、入力された情報を、バス１９を介しＣＰＵ１０に出力する。
【００３１】
出力装置１６は、パケットキャプチャ装置１の情報を出力する装置である。出力装置１６としては、例えばディスプレイ、タッチパネル、及びプリンタなどが挙げられる。出力装置１６は、ＣＰＵ１０からバス１９を介して情報を取得して出力する。
【００３２】
ＣＰＵ１０は、ＲＯＭ１１からプログラムを読み込むと、機能として、制御部１００、キャプチャ処理部１０１、属性解析部１０２、パケット（ＰＫＴ）分割部１０３、保存処理部１０４、消去処理部１０５、カレンダ機能部１０６、データ検索部１０７、及びパケット（ＰＫＴ）復元部１０８が形成される。また、ＨＤＤ１３には、ポリシーテーブル１３０及び保存期間テーブル１３２が保存されている。なお、ＨＤＤ１３は記憶部の一例であるが、ＨＤＤ１３に代えて、メモリなどの他の記憶デバイスが用いられてもよい。
【００３３】
制御部１００は、パケットキャプチャ装置１の動作を制御する。制御部１００は、例えば入力装置１５から入力された指示に応じてパケットのキャプチャを開始または停止する。制御部１００は、キャプチャの開始指示または停止指示をキャプチャ処理部１０１に出力する。
【００３４】
キャプチャ処理部１０１は、キャプチャの開始指示に応じて通信ポート１４からパケットを取得し、キャプチャの停止指示に応じてパケットの取得を停止する。すなわち、キャプチャ処理部１０１は、第１取得部の一例であり、パケットを取得する。キャプチャ処理部１０１は、パケットを属性解析部１０２に出力する。
【００３５】
属性解析部１０２は、第２取得部の一例であり、パケットを解析することによりパケットに関する属性情報を取得する。より具体的には、属性情報には、パケットの宛先、送信元、回線、及び種別の少なくとも１つの情報が含まれる。パケットの宛先の情報としては、宛先ＩＰアドレス、ＤＡ（Destination Address）、及びＴＣＰ（Transmission Control Protocol）／ＵＤＰ（User Datagram Protocol）の宛先ポート番号などが挙げられ、パケットの送信元の情報としては、送信元ＩＰアドレス、ＳＡ（Source Address）、及びＴＣＰ／ＵＤＰの送信元ポート番号などが挙げられる。
【００３６】
また、パケットの回線の情報としては、ＶＩＤ（Virtual LAN Identifier）などが挙げられ、パケットの種別の情報としては、ＨＴＴＰ（Hyper Text Transfer Protocol）リクエストやＨＴＴＰレスポンスなどの各種のプロトコルで用いられるメッセージ名が挙げられる。属性解析部１０２は、パケットとともに、パケットの解析で得た属性情報をパケット分割部１０３に出力する。
【００３７】
パケット分割部１０３は、分割部の一例であり、パケットを属性情報に応じて複数のデータＡ〜Ｃに分割する。より具体的には、パケット分割部１０３は、属性情報と各データＡ〜Ｃのサイズまたはパケットの領域名の対応関係が登録されたポリシーテーブル１３０に基づき、属性情報に応じたサイズまたは領域名の領域をそれぞれ有する複数のデータＡ〜Ｃに分割する。
【００３８】
図３は、ポリシーテーブル１３０の一例を示す図である。ポリシーテーブル１３０は、テーブルの一例であり、例えば入力装置１５から入力された情報に基づいて制御部１００により設定される。
【００３９】
ポリシーテーブル１３０には、パケットの属性情報とサイズまたは領域名が互いに対応付けられて登録されている。属性情報には、一例として、パケットの宛先ＩＰアドレス、送信元ＩＰアドレス、ＶＩＤ、及び種別が含まれている。
【００４０】
また、サイズ及び領域名は、データＡ〜Ｃごとに登録されている。データＡのサイズは、パケットの先頭を基準として指定され、データＢのサイズは、データＡの直後のデータを基準として指定される。また、データＣのサイズは、データＢの直後のデータを基準として指定される。図３の例に基づき、以下に属性情報に応じたパケットの分割の例を述べる。
【００４１】
例えば、送信元ＩＰアドレス「10.20.30.40」のパケットは、６４（Byte）のデータＡ、１２８（Byte）のデータＢ、及び３０（Byte）のデータＣに分割される。送信元ＩＰアドレス「50.40.30.20」のパケットは、６４（Byte）のデータＡ、１２８（Byte）のデータＢ、及び残り全てのデータＣに分割される。ここで、「full」はパケットの最後尾までの全てのデータを表す。
【００４２】
宛先ＩＰアドレス「60.70.80.90」のパケットは、２８（Byte）のデータＡ、２５６（Byte）のデータＢ、及び１２８（Byte）のデータＣに分割される。宛先ＩＰアドレス「20.202.40.*」（「*」はワイルドカード）のパケットは、２５６（Byte）のデータＡ、２５６（Byte）のデータＢ、及び６４（Byte）のデータＣに分割される。ＶＩＤ「１０」のパケットは、１２８（Byte）のデータＡ、１２８（Byte）のデータＢ、及び２５６（Byte）のデータＣに分割される。
【００４３】
送信元ＩＰアドレス「10.10.10.10」のＨＴＴＰリクエストのパケットは、その先頭からＴＣＰヘッダまでのデータＡ、その直後からＨＴＴＰヘッダのリクエストラインまでのデータＢ、及び残り全てのデータＣに分割される。このため、データＡには、可変長であるＴＣＰヘッダの長さによらず、ＴＣＰヘッダを含むことができる。
【００４４】
宛先ＩＰアドレス「192.168.10.10」のＨＴＴＰレスポンスのパケットは、その先頭からＴＣＰヘッダまでのデータＡ、その直後からＨＴＴＰヘッダまでのデータＢ、及びその直後から１６（Byte）分のデータＣに分割される。ここで、「HTTPヘッダ＋１６」は、ＨＴＴＰヘッダの直後から１６（Byte）分のデータを指す。
【００４５】
このように、パケット分割部１０３は、ポリシーテーブル１３０に基づき、属性情報に応じたサイズまたは領域名の領域をそれぞれ有する複数のデータＡ〜Ｃに分割する。このため、例えば通信の解析の目的に応じ、パケットから適切なデータＡ〜Ｃを分割することが可能となるので、利便性が向上する。なお、本例のポリシーテーブル１３０には、属性情報、サイズ、及び領域名の対応関係が登録されているが、属性情報とサイズの対応関係、及び属性情報と領域名の対応関係の少なくとも一方が登録されていれば、上記の効果は得られる。
【００４６】
また、属性情報には、パケットの宛先、送信元、回線、及び種別の少なくとも１つの情報が含まれる。このため、パケットごとの詳細なパラメータに応じて、パケットから適切なデータＡ〜Ｃを分割することが可能となるので、利便性が向上する。
【００４７】
再び図２を参照すると、パケット分割部１０３は、複数のデータＡ〜Ｃを保存処理部１０４に出力する。保存処理部１０４は、複数のストレージ２ａ〜２ｃに複数のデータＡ〜Ｃをそれぞれ保存する。
【００４８】
より具体的には、保存処理部１０４は、装置間ＩＦ１７を介してストレージ２ａのパケットデータベース２０にデータＡを保存し、装置間ＩＦ１７を介してストレージ２ｂのパケットデータベース２１にデータＢを保存する。また、保存処理部１０４は、装置間ＩＦ１７を介してストレージ２ｃのパケットデータベース２２にデータＣを保存する。なお、データＡ〜Ｃの保存の順序に限定はない。
【００４９】
また、保存処理部１０４は、保存期間テーブル１３２に基づいてパケットデータベース２０〜２２のヘッダ情報に保存期限を設定する。保存期間テーブル１３２には、ストレージＩＤ（＃１〜＃３）と保存期間Ｔａ〜Ｔｃの対応関係が登録されている。保存処理部１０４は、パケットのキャプチャの日時と保存期間Ｔａ〜Ｔｃから保存期限を設定する。
【００５０】
また、制御部１００は、例えば周期的に消去処理部１０５を起動する。消去処理部１０５は、複数のデータＡ〜Ｃを、複数のデータＡ〜Ｃが保存されてから、データＡ〜Ｃごとに異なる保存期間Ｔａ〜Ｔｃが経過したことに応じてストレージ２ａ〜２ｃからそれぞれ消去する。
【００５１】
より具体的には、消去処理部１０５は、カレンダ機能部１０６から現在の日時を取得する。カレンダ機能部１０６は、例えばＯＳに内蔵された機能であって、日時を管理する。
【００５２】
消去処理部１０５は、現在の日時を、ストレージ２ａ〜２ｃのパケットデータベース２０〜２２のヘッダ情報に設定された保存期限と比較することにより、データＡ〜Ｃの保存期間Ｔａ〜Ｔｃが経過したか否かを判定する。消去処理部１０５は、保存期間Ｔａ〜Ｔｃが経過したデータＡ〜Ｃをパケットデータベース２０〜２２から消去する。なお、消去処理は、所定数のパケットが属するグループ単位で実行される。
【００５３】
また、制御部１００は、例えば入力装置１５から入力されたパケットの検索指示に従い、データ検索部１０７を起動する。検索指示には、パケットのキャプチャの日時などの検索条件が指定されている。
【００５４】
データ検索部１０７は、パケットデータベース２０〜２２から検索条件に合致するパケットのデータＡ〜Ｃを検索する。このとき、データ検索部１０７は、装置間ＩＦ１７を介してストレージ２ａ〜２ｃにアクセスする。データ検索部１０７は、検索したデータＡ〜Ｃをパケット復元部１０８に出力する。なお、消去済みのデータＡ〜Ｃは、パケットデータベース２０〜２２に存在しないため、パケット復元部１０８に出力されない。
【００５５】
パケット復元部１０８は、複数のデータＡ〜Ｃのうち、消去処理部１０５により消去されていない１以上のデータからパケットを復元する。このため、保存期間Ｔａ〜Ｔｃの経過によりパケットの一部のデータＡ〜Ｃがパケットデータベース２０〜２２に残っていない場合でも、パケットが復元される。したがって、残っている一部のデータＡ〜Ｃを通信の解析に用いることが可能となる。
【００５６】
パケットの復元処理は、例えばデータＡ〜Ｃ同士の結合やデータＡ〜Ｃの配列の変換などにより実行される。パケット復元部１０８は、例えば復元済みのパケットを出力装置１６に出力する。これにより、パケットキャプチャ装置１の使用者は、キャプチャしたパケットを確認し、通信の解析に用いることができる。
【００５７】
図４は、パケットのキャプチャから保存までの流れの一例を示す図である。キャプチャ処理部１０１は、ＴＡＰ３からパケットをキャプチャする。属性解析部１０２は、パケットを解析することにより、宛先ＩＰアドレスなどの属性情報を取得する。
【００５８】
パケット分割部１０３は、ポリシーテーブル１３０を参照することにより、属性情報に基づきパケットをデータＡ〜Ｃに分割する。このとき、パケット分割部１０３は、ポリシーテーブル１３０に登録されたサイズまたは領域名に基づいて各データＡ〜ＣのサイズＳａ〜Ｓｃを決定する。なお、本例のように、各データＡ〜ＣのサイズＳａ〜Ｓｃがパケットのサイズ未満である場合、残りのデータは廃棄される（「廃棄」参照）。
【００５９】
保存処理部１０４は、データＡ〜Ｃをストレージ２ａ〜２ｃのパケットデータベース２０〜２２にそれぞれ保存する。これにより、パケットは、複数のストレージ２ａ〜２ｃに分かれて保存される。なお、本例では３台のストレージ２ａ〜２ｃを挙げたが、２台または４台以上のストレージが用いられた場合でも、パケットは上記と同様に処理される。
【００６０】
図５は、パケットデータベース２０の一例を示す図である。パケットデータベース２０には、ヘッダ情報とパケット情報が登録されている。
【００６１】
ヘッダ情報には、所定数Ｎ（正の整数）のパケットが属するグループのグループＩＤ（＃１〜＃Ｍ（正の整数））と、そのグループのパケットから分割されたデータＡの保存期限が含まれる。なお、グループＩＤは、所定数Ｎのパケットが属するグループ＃１〜＃Ｍの識別子の一例である。
【００６２】
保存処理部１０４は、グループＩＤに基づいてデータＡを管理する。保存処理部１０４は、グループ＃１〜＃Ｍの生成時、保存期間テーブル１３２からストレージ２ａの保存期間Ｔａを取得し、保存期間Ｔａに基づきグループ＃１〜＃Ｍ単位で保存期限を設定する。保存期限は、例えば、グループ＃１〜＃Ｍ内で最初にパケットがキャプチャされた日付から保存期間Ｔａ後の日付として得られる。一例として、グループ＃１の最初のキャプチャの日付を「２０１６／１２／３１」とし、保存期間Ｔａを３０日とすると、データＡの保存期限は「２０１７／１／３０」となる。
【００６３】
パケット情報には、各パケットを識別するパケットＩＤ（＃１〜＃Ｎ）、各パケットのキャプチャの日時、パケットサイズ、データサイズ、及びデータＡが含まれる。データ検索部１０７は、例えばパケットＩＤ、キャプチャの日時、パケットサイズ、及びデータサイズを検索条件と照合することによりデータＡを検索する。なお、データＡは１６進数により表記されている。
【００６４】
消去処理部１０５は、消去対象のデータＡの分割元のパケットが属するグループのグループＩＤに基づいて、データＡを消去する。より具体的には、消去処理部１０５は、複数のグループ＃１〜＃Ｍのうち、カレンダ機能部１０６の日付が保存期限を超えたグループのデータＡを消去する。このため、消去処理部１０５は、所定数Ｎのパケットから分割したデータＡをグループ＃１〜＃Ｍ単位で消去することができる。
【００６５】
図６は、パケットデータベース２１，２２の一例を示す図である。図６において、図５と共通する項目の説明は省略する。
【００６６】
パケットデータベース２１，２２には、ヘッダ情報とパケット情報が登録されている。ヘッダ情報には、グループＩＤと、そのグループ＃１〜＃Ｍのパケットから分割されたデータＢ，Ｃの保存期限が含まれる。
【００６７】
保存処理部１０４は、グループＩＤに基づいてデータＢ，Ｃを管理する。保存処理部１０４は、グループ＃１〜＃Ｍの生成時、保存期間テーブル１３２からストレージ２ｂ，２ｃの保存期間Ｔｂ，Ｔｃを取得し、保存期間Ｔｂ，Ｔｃに基づきグループ＃１〜＃Ｍ単位で保存期限を設定する。保存期限は、例えば、グループ＃１〜＃Ｍ内で最初にパケットがキャプチャされた日付から保存期間Ｔｂ，Ｔｃ後の日付として得られる。
【００６８】
一例として、グループ＃１の最初のキャプチャの日付を「２０１６／１２／３１」とした場合、データＢの保存期間Ｔｂを２０日とすると、データＢの保存期限は「２０１７／１／２０」となる。また、データＣの保存期間Ｔｃを１０日とすると、データＣの保存期限は「２０１７／１／１０」となる。
【００６９】
パケット情報には、各パケットを識別するパケットＩＤ、データサイズ、及びデータＢ，Ｃが含まれる。データ検索部１０７は、例えばパケットＩＤ及びデータサイズを検索条件と照合することによりデータＢ，Ｃを検索する。なお、データＢ，Ｃは１６進数により表記されている。
【００７０】
また、消去処理部１０５は、データＡと同様に、所定数Ｎのパケットから分割したデータＢ，Ｃをグループ＃１〜＃Ｍ単位で消去する。
【００７１】
このように、グループＩＤは、パケットデータベース２０〜２２の間で共通であるため、消去処理部１０５は、パケットデータベース２０〜２２のうち、消去対象のデータＡ〜Ｃのパケットデータベース２０以外にアクセスすることなく、グループＩＤに基づきグループ＃１〜＃Ｍ単位でデータＡ〜Ｃを消去できる。
【００７２】
すなわち、消去処理部１０５は、データＡ〜Ｃを消去するとき、グループＩＤ以外のパラメータを用いて消去対象以外のデータＡ〜Ｃのパケットデータベース２０〜２２にアクセスする必要がない。このため、ＣＰＵ１０及びストレージ２ａ〜２ｃの処理の負荷が低減される。
【００７３】
図７〜図９は、データの保存及び消去の一例を示す図である。より具体的には、図７〜図９には、パケット＃１〜＃９がグループ＃１〜＃３に分けて保存され、保存期間Ｔａ〜Ｔｃの経過したグループ＃１〜＃３から順次に消去される様子が時系列で示されている。なお、本例において、各グループ＃１〜＃３のパケットの上限数（Ｎ）は３であると仮定する。
【００７４】
図７は、パケット＃１〜＃３を分割してストレージ２ａ〜２ｃのパケットデータベース２０〜２２にそれぞれグループ＃１として保存する様子を示す。パケット＃１はデータ＃１−Ａ〜＃１−Ｃに分割され、パケット＃２はデータ＃２−Ａ〜＃２−Ｃに分割され、パケット＃３はデータ＃３−Ａ〜＃３−Ｃに分割される。
【００７５】
保存処理部１０４は、データ＃１−Ａ〜＃３−Ａ（データＡに該当）をパケットデータベース２０にグループ＃１として保存する。また、保存処理部１０４は、保存期間Ｔａに基づきデータ＃１−Ａ〜＃３−Ａの保存期限を算出し、グループＩＤ（＃１）とともにパケットデータベース２０のヘッダ情報に設定する。
【００７６】
また、保存処理部１０４は、データ＃１−Ｂ〜＃３−Ｂ（データＢに該当）をパケットデータベース２１にグループ＃１として保存する。また、保存処理部１０４は、保存期間Ｔｂに基づきデータ＃１−Ｂ〜＃３−Ｂの保存期限を算出し、グループＩＤ（＃１）とともにパケットデータベース２１のヘッダ情報に設定する。
【００７７】
また、保存処理部１０４は、データ＃１−Ｃ〜＃３−Ｃ（データＣに該当）をパケットデータベース２２のグループ＃１に保存する。また、保存処理部１０４は、保存期間Ｔｃに基づきデータ＃１−Ｃ〜＃３−Ｃの保存期限を算出し、グループＩＤ（＃１）とともにパケットデータベース２２のヘッダ情報に設定する。
【００７８】
図８は、パケット＃４〜＃６を分割してストレージ２ａ〜２ｃのパケットデータベース２０〜２２にそれぞれグループ＃２として保存する様子を示す。パケット＃４はデータ＃４−Ａ〜＃４−Ｃに分割され、パケット＃１〜＃３と同様に、データ＃４−Ａ〜＃４−Ｃは、パケットデータベース２０〜２２にグループ＃２としてそれぞれ保存される。
【００７９】
また、パケット＃５はデータ＃５−Ａ〜＃５−Ｃに分割され、データ＃５−Ａ〜＃５−Ｃは、パケットデータベース２０〜２２にグループ＃２としてそれぞれ保存される。パケット＃６はデータ＃６−Ａ〜＃６−Ｃに分割され、データ＃６−Ａ〜＃６−Ｃは、パケットデータベース２０〜２２にグループ＃２としてそれぞれ保存される。
【００８０】
また、保存処理部１０４は、グループ＃１と同様に、グループ＃２についても保存期間Ｔａ〜Ｔｃに基づきデータ＃４−Ａ〜＃６−Ａ，＃４−Ｂ〜＃６−Ｂ，＃４−Ｃ〜＃６−Ｃの保存期限をそれぞれ算出し、グループＩＤ（＃２）とともにパケットデータベース２０〜２２のヘッダ情報にそれぞれ設定する。
【００８１】
また、消去処理部１０５は、パケット＃４〜６の保存中または保存後、ストレージ２ｃのパケットデータベース２２においてグループ＃１の保存期限が過ぎたため、パケットデータベース２２からグループ＃１のデータ＃１−Ｃ〜＃３−Ｃを消去する。このため、パケットデータベース２２には、グループ＃２のデータ＃４−Ｃ〜＃６−Ｃだけが保存されている。
【００８２】
図９は、パケット＃７〜＃９を分割してストレージ２ａ〜２ｃのパケットデータベース２０〜２２にそれぞれグループ＃３として保存する様子を示す。パケット＃７はデータ＃７−Ａ〜＃７−Ｃに分割され、パケット＃１〜＃３と同様に、データ＃７−Ａ〜＃７−Ｃは、パケットデータベース２０〜２２にグループ＃３としてそれぞれ保存される。
【００８３】
また、パケット＃８はデータ＃８−Ａ〜＃８−Ｃに分割され、データ＃８−Ａ〜＃８−Ｃは、パケットデータベース２０〜２２にグループ＃３としてそれぞれ保存される。パケット＃９はデータ＃９−Ａ〜＃９−Ｃに分割され、データ＃９−Ａ〜＃９−Ｃは、パケットデータベース２０〜２２にグループ＃３としてそれぞれ保存される。
【００８４】
また、保存処理部１０４は、グループ＃１と同様に、グループ＃３についても保存期間Ｔａ〜Ｔｃに基づきデータ＃７−Ａ〜＃９−Ａ，＃７−Ｂ〜＃９−Ｂ，＃７−Ｃ〜＃９−Ｃの保存期限をそれぞれ算出し、グループＩＤ（＃３）とともにパケットデータベース２０〜２２のヘッダ情報にそれぞれ設定する。
【００８５】
また、消去処理部１０５は、パケット＃７〜＃９の保存中または保存後、ストレージ２ｂのパケットデータベース２１においてグループ＃１の保存期限が過ぎたため、パケットデータベース２１からグループ＃１のデータ＃１−Ｂ〜＃３−Ｂを消去する。このため、パケットデータベース２１には、グループ＃２のデータ＃４−Ｂ〜＃６−Ｂとグループ＃３のデータ＃７−Ｂ〜＃９−Ｂだけが保存されている。
【００８６】
さらに、消去処理部１０５は、パケット＃７〜＃９の保存中または保存後、ストレージ２ｃのパケットデータベース２２においてグループ＃２の保存期限が過ぎたため、パケットデータベース２２からグループ＃２のデータ＃４−Ｃ〜＃６−Ｃを消去する。このため、パケットデータベース２２には、グループ＃３のデータ＃７−Ｃ〜＃９−Ｃだけが保存されている。
【００８７】
このように、保存処理部１０４は、パケット＃１〜＃９ごとの属性情報に基づきパケット＃１〜＃９から分割されたデータ＃１−Ａ〜＃９−Ａ，＃１−Ｂ〜＃９−Ｂ，＃１−Ｃ〜＃９−Ｃを、保存期間Ｔａ〜Ｔｃの相違するストレージ２ａ〜２ｃにそれぞれ保存することができる。
【００８８】
このため、保存処理部１０４は、例えば通信の解析に最も適切なデータ＃１−Ａ〜＃９−Ａを、保存期間Ｔａが最も長いストレージ２ａに保存することができる。したがって、例えば保存期間Ｔｂ，Ｔｃの経過後でもデータ＃１−Ａ〜＃９−Ａを通信の解析に用いることが可能である。また、最も短い保存期間Ｔｃの経過前であれば、全てのデータ＃１−Ａ〜＃９−Ａ，＃１−Ｂ〜＃９−Ｂ，＃１−Ｃ〜＃９−Ｃを通信の解析に用いることも可能である。
【００８９】
また、ストレージ２ｃの保存期間Ｔｃはストレージ２ａ，２ｂの保存期間Ｔａ，Ｔｂより短く、ストレージ２ｂの保存期間Ｔｂはストレージ２ａの保存期間Ｔａより短い。このため、ストレージ２ｃ，２ｂの記憶容量を低減することが可能である。
【００９０】
例えば、ストレージ２ｃには、図８の状態においてグループ＃２のデータ＃４−Ｃ〜＃６−Ｃだけが保存され、図９の状態においてグループ＃３のデータ＃７−Ｃ〜＃９−Ｃだけが保存されている。また、ストレージ２ｂには、図９の状態において、グループ＃２のデータ＃４−Ｂ〜＃６−Ｂとグループ＃３のデータ＃７−Ｂ〜＃９−Ｂだけが保存されている。このため、ストレージ２ｂ，２ｃの記憶容量の低減が可能である。
【００９１】
したがって、パケットキャプチャ装置１は、パケット＃１〜＃９ごとに適切なデータ＃１−Ａ〜＃９−Ａ，＃１−Ｂ〜＃９−Ｂ，＃１−Ｃ〜＃９−Ｃを少ない記憶容量で保存することができる。なお、ストレージ２ａを例えば記憶容量の単価が低いニアラインディスクなどにより構成すれば、パケットキャプチャシステム９全体のコストの低減が可能である。
【００９２】
また、保存処理部１０４は、グループＩＤに基づいてデータ＃１−Ａ〜＃９−Ａ，＃１−Ｂ〜＃９−Ｂ，＃１−Ｃ〜＃９−Ｃを管理する。さらに、消去処理部１０５は、消去対象のデータ＃１−Ａ〜＃９−Ａ，＃１−Ｂ〜＃９−Ｂ，＃１−Ｃ〜＃９−Ｃの分割元のパケット＃１〜＃９が属するグループ＃１〜＃３のグループＩＤに基づいて、データ＃１−Ａ〜＃９−Ａ，＃１−Ｂ〜＃９−Ｂ，＃１−Ｃ〜＃９−Ｃを消去する。
【００９３】
消去処理部１０５は、データ＃１−Ａ〜＃９−Ａ，＃１−Ｂ〜＃９−Ｂ，＃１−Ｃ〜＃９−Ｃを消去するとき、グループＩＤ以外のパラメータを用いて消去対象以外のデータ＃１−Ａ〜＃９−Ａ，＃１−Ｂ〜＃９−Ｂ，＃１−Ｃ〜＃９−Ｃのパケットデータベース２０〜２２にアクセスする必要がない。このため、ＣＰＵ１０及びストレージ２ａ〜２ｃの処理の負荷が低減される。
【００９４】
次に、パケットキャプチャシステム９によるパケットキャプチャ方法及びパケットキャプチャプログラムの動作を説明する。
【００９５】
図１０は、パケットのキャプチャ処理の一例を示すフローチャートである。本処理は、例えばパケットキャプチャ装置１の起動時に実行される。
【００９６】
キャプチャ処理部１０１は、ＴＡＰ３から通信ポート１４を介してパケットをキャプチャする（ステップＳｔ１）。つまり、キャプチャ処理部１０１は、ネットワークＮＷａ，ＮＷｂの間を流れるパケットを取得する。
【００９７】
次に、属性解析部１０２は、パケットを解析することによりパケットに関する属性情報を取得する（ステップＳｔ２）。次に、パケット分割部１０３は、ポリシーテーブル１３０を参照する（ステップＳｔ３）。次に、パケット分割部１０３は、ポリシーテーブル１３０に基づき、属性情報に応じたサイズまたは領域を有するデータＡ〜Ｃをパケットから分割する（ステップＳｔ４）。
【００９８】
次に、保存処理部１０４は、パケットデータベース２０〜２２のパケット情報を参照する（ステップＳｔ５）。次に、保存処理部１０４は、パケット情報内のパケットＩＤから最新のグループ内のパケット数が上限数Ｍに達しているか否かを判定する（ステップＳｔ６）。保存処理部１０４は、パケット数が上限数Ｍに達していない場合（ステップＳｔ６のＮｏ）、後述するステップＳｔ１０以降の各処理を実行する。
【００９９】
また、保存処理部１０４は、パケット数が上限数Ｍに達している場合（ステップＳｔ６のＹｅｓ）、パケットデータベース２０〜２２に新しいグループをそれぞれ生成する（ステップＳｔ７）。次に、保存処理部１０４は、保存期間テーブル１３２を参照する（ステップＳｔ８）。次に、保存処理部１０４は、保存期間テーブル１３２に登録された保存期間Ｔａ〜Ｔｃから各パケットデータベース２０〜２２のグループの保存期限をそれぞれ算出して、各々のヘッダ情報に設定する（ステップＳｔ９）。
【０１００】
次に、保存処理部１０４は、ストレージ（＃１）２ａのパケットデータベース２０にデータＡを該当グループとして保存する（ステップＳｔ１０）。次に、保存処理部１０４は、ストレージ（＃２）２ｂのパケットデータベース２１にデータＢを該当グループとして保存する（ステップＳｔ１１）。次に、保存処理部１０４は、ストレージ（＃３）２ｃのパケットデータベース２２にデータＣを該当グループとして保存する（ステップＳｔ１２）。
【０１０１】
次に、キャプチャ処理部１０１は、処理を終了するか否かを判定する（ステップＳｔ１３）。キャプチャ処理部１０１は、例えば入力装置１５から入力された情報に基づき判定を行う。キャプチャ処理部１０１は、処理を終了すると判定した場合（ステップＳｔ１３のＹｅｓ）、処理を終了し、処理を継続すると判定した場合（ステップＳｔ１３のＮｏ）、再びステップＳｔ１の処理を実行する。このようにして、パケットのキャプチャ処理は実行される。
【０１０２】
図１１は、データＡ〜Ｃの消去処理の一例を示すフローチャートである。本処理は、例えば周期的に実行される。
【０１０３】
消去処理部１０５は、カレンダ機能部１０６から現在の日時を取得する（ステップＳｔ２１）。次に、消去処理部１０５は、変数ｉに１をセットする（ステップＳｔ２２）。変数ｉ（ｉ＝１，２，３）はストレージＩＤとして用いられる。
【０１０４】
次に、消去処理部１０５は、ストレージ２ａ〜２ｃのうち、ストレージＩＤが＃ｉであるストレージのヘッダ情報を読み込む（ステップＳｔ２３）。次に、消去処理部１０５は、ヘッダ情報のグループＩＤから１つのグループを選択する（ステップＳｔ２４）。
【０１０５】
次に、消去処理部１０５は、現在の日時に基づいて、選択中のグループの保存期限が経過したか否かを判定する（ステップＳｔ２５）。消去処理部１０５は、保存期限が経過している場合（ステップＳｔ２５のＹｅｓ）、該当グループの全データＡ〜Ｃを消去する（ステップＳｔ２６）。また、消去処理部１０５は、保存期限が経過していない場合（ステップＳｔ２５のＮｏ）、データＡ〜Ｃを消去しない。
【０１０６】
次に、消去処理部１０５は、ヘッダ情報から未選択のグループの有無を判定する（ステップＳｔ２７）。消去処理部１０５は、未選択のグループが存在する場合（ステップＳｔ２７のＹｅｓ）、他のグループを選択して（ステップＳｔ２４）、再びステップＳｔ２５以降の各処理を実行する。
【０１０７】
また、消去処理部１０５は、未選択のグループが存在しない場合（ステップＳｔ２７のＮｏ）、変数ｉに１を加算する（ステップＳｔ２８）。次に、消去処理部１０５は、変数ｉが３より大きいか否かを判定する（ステップＳｔ２９）。
【０１０８】
消去処理部１０５は、変数ｉが３以下である場合（ステップＳｔ２９のＮｏ）、再びステップＳｔ２３以降の各処理を実行する。また、消去処理部１０５は、変数ｉが３より大きい場合（ステップＳｔ２９のＹｅｓ）、処理を終了する。このようにして、データＡ〜Ｃの消去処理は実行される。
【０１０９】
図１２は、パケットの復元処理の一例を示すフローチャートである。本処理は、例えば周期的に実行される。
【０１１０】
制御部１００は、例えば入力装置１５からパケットの検索要求を受けたか否かを判定する（ステップＳｔ４１）。制御部１００が検索要求を受けていない場合（ステップＳｔ４１のＮｏ）、処理は終了する。
【０１１１】
制御部１００が検索要求を受けた場合（ステップＳｔ４１のＹｅｓ）、データ検索部１０７は、ストレージ（＃１）２ａのパケットデータベース２０から検索条件を満たすデータＡを検索する（ステップＳｔ４２）。次に、データ検索部１０７は、パケットデータベース２０から該当データＡを読み出す（ステップＳｔ４３）。
【０１１２】
なお、データ検索部１０７は、例えばパケット情報のキャプチャ日時の検索条件に基づきデータＡを検索してもよい。また、データ検索部１０７は、パケットデータベース２０とは別に、パケットに関する属性情報とグループの対応関係が登録されたデータベースを生成しておき、パケットのＩＰアドレスや種別の検索条件を満たすデータＡを検索してもよい。
【０１１３】
次に、データ検索部１０７は、ストレージ（＃２）２ｂのパケットデータベース２１に、検索済みのデータＡのグループが消去されずに残っているか否かを判定する（ステップＳｔ４４）。データ検索部１０７は、該当グループが消去済みである場合（ステップＳｔ４４のＮｏ）、後述するステップＳｔ４８以降の各処理を実行する。また、データ検索部１０７は、該当グループが残っている場合（ステップＳｔ４４のＹｅｓ）、パケットデータベース２１から該当グループのデータＢを読み出す（ステップＳｔ４５）。
【０１１４】
次に、データ検索部１０７は、ストレージ（＃３）２ｃのパケットデータベース２２に、検索済みのデータＡのグループが消去されずに残っているか否かを判定する（ステップＳｔ４６）。データ検索部１０７は、該当グループが消去済みである場合（ステップＳｔ４６のＮｏ）、後述するステップＳｔ４８以降の各処理を実行する。また、データ検索部１０７は、該当グループが残っている場合（ステップＳｔ４６のＹｅｓ）、パケットデータベース２２から該当グループのデータＣを読み出す（ステップＳｔ４７）。
【０１１５】
次に、パケット復元部１０８は、各パケットデータベース２０〜２２のデータＡ〜Ｃのうち、データ検索部１０７が読み出したデータからパケットを復元する（ステップＳｔ４８）。このため、保存期間Ｔａ〜Ｔｃの経過によりパケットの一部のデータＡ〜Ｃがパケットデータベース２０〜２２に残っていない場合でも、パケットが復元される。したがって、残っている一部のデータＡ〜Ｃを通信の解析に用いることが可能となる。
【０１１６】
次に、パケット復元部１０８は、パケットを例えば出力装置１６に出力する（ステップＳｔ４９）。このようにして、パケットの復元処理は実行される。
【０１１７】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録しておくことができる。
【０１１８】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に保存しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１１９】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に保存する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１２０】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【０１２１】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）  パケットを取得する第１取得部と、
前記パケットに関する属性情報を取得する第２取得部と、
前記パケットを前記属性情報に応じて複数のデータに分割する分割部と、
前記複数のデータを複数の記憶装置にそれぞれ保存する保存処理部と、
前記複数のデータを、前記複数のデータが保存されてから、データごとに異なる期間が経過したことに応じて前記複数の記憶装置からそれぞれ消去する消去処理部とを有することを特徴とするパケットキャプチャ装置。
（付記２）  前記属性情報と前記複数のデータの各々のサイズとの対応関係、及び、前記属性情報と前記パケットの領域名との対応関係の少なくとも一方が登録されたテーブルを記憶する記憶部を有し、
前記分割部は、前記テーブルに基づき、前記パケットを、前記属性情報に応じた前記サイズまたは前記領域名の領域をそれぞれ有する前記複数のデータに分割することを特徴とする付記１に記載のパケットキャプチャ装置。
（付記３）  前記属性情報には、前記パケットの宛先、送信元、回線、及び種別の少なくとも１つの情報が含まれることを特徴とする付記１または２に記載のパケットキャプチャ装置。
（付記４）  前記保存処理部は、保存した前記複数のデータを、所定数の前記パケットが属するグループの識別子に基づいて管理し、
前記消去処理部は、消去対象の前記複数のデータの分割元の前記パケットが属するグループの前記識別子に基づいて、前記複数のデータをそれぞれ消去することを特徴とする付記１乃至３の何れかに記載のパケットキャプチャ装置。
（付記５）  前記複数のデータのうち、前記消去処理部により消去されていない１以上のデータから前記パケットを復元する復元部を有することを特徴とする付記１乃至４の何れかに記載のパケットキャプチャ装置。
（付記６）  パケットキャプチャ装置と複数の記憶装置とを有し、
前記パケットキャプチャ装置は、
パケットを取得する第１取得部と、
前記パケットに関する属性情報を取得する第２取得部と、
前記パケットを前記属性情報に応じて複数のデータに分割する分割部と、
前記複数のデータを前記複数の記憶装置にそれぞれ保存する保存処理部と、
前記複数のデータを、前記複数のデータが保存されてから、データごとに異なる期間が経過したことに応じて前記複数の記憶装置からそれぞれ消去する消去処理部とを有することを特徴とするパケットキャプチャシステム。
（付記７）  前記パケットキャプチャ装置は、前記属性情報と前記複数のデータの各々のサイズとの対応関係、及び、前記属性情報と前記パケットの領域名との対応関係の少なくとも一方が登録されたテーブルを記憶する記憶部を有し、
前記分割部は、前記テーブルに基づき、前記パケットを、前記属性情報に応じた前記サイズまたは前記領域名の領域をそれぞれ有する前記複数のデータに分割することを特徴とする付記６に記載のパケットキャプチャシステム。
（付記８）  前記属性情報には、前記パケットの宛先、送信元、回線、及び種別の少なくとも１つの情報が含まれることを特徴とする付記６または７に記載のパケットキャプチャシステム。
（付記９）  前記保存処理部は、保存した前記複数のデータを、所定数の前記パケットが属するグループの識別子に基づいて管理し、
前記消去処理部は、消去対象の前記複数のデータの分割元の前記パケットが属するグループの前記識別子に基づいて、前記複数のデータをそれぞれ消去することを特徴とする付記６乃至８の何れかに記載のパケットキャプチャシステム。
（付記１０）  前記パケットキャプチャ装置は、前記複数のデータのうち、前記消去処理部により消去されていない１以上のデータから前記パケットを復元する復元部を有することを特徴とする付記６乃至９の何れかに記載のパケットキャプチャシステム。
（付記１１）  パケットを取得し、
前記パケットに関する属性情報を取得し、
前記パケットを前記属性情報に応じて複数のデータに分割し、
前記複数のデータを複数の記憶装置にそれぞれ保存し、
前記複数のデータを、前記複数のデータが保存されてからデータごとに異なる期間が経過したことに応じて前記複数の記憶装置からそれぞれ消去する、処理をコンピュータに実行させることを特徴とするパケットキャプチャプログラム。
（付記１２）  前記パケットを分割する処理において、前記属性情報と前記複数のデータの各々のサイズとの対応関係、及び、前記属性情報と前記パケットの領域名との対応関係の少なくとも一方が登録されたテーブルに基づき、前記パケットを、前記属性情報に応じた前記サイズまたは前記領域名の領域をそれぞれ有する前記複数のデータに分割することを特徴とする付記１１に記載のパケットキャプチャプログラム。
（付記１３）  前記属性情報には、前記パケットの宛先、送信元、回線、及び種別の少なくとも１つの情報が含まれることを特徴とする付記１１または１２に記載のパケットキャプチャプログラム。
（付記１４）  前記複数のデータを保存する処理において、保存した前記複数のデータを、所定数の前記パケットが属するグループの識別子に基づいて管理し、
前記複数のデータを消去する処理において、消去対象の前記複数のデータの分割元の前記パケットが属するグループの前記識別子に基づいて、前記複数のデータをそれぞれ消去することを特徴とする付記１１乃至１３の何れかに記載のパケットキャプチャプログラム。
（付記１５）  前記複数のデータのうち、前記複数のデータを消去する処理により消去されていない１以上のデータから前記パケットを復元する処理を、前記コンピュータに実行させることを特徴とする付記１１乃至１４の何れかに記載のパケットキャプチャプログラム。
（付記１６）  パケットを取得する工程と、
前記パケットに関する属性情報を取得する工程と、
前記パケットを前記属性情報に応じて複数のデータに分割する工程と、
前記複数のデータを複数の記憶装置にそれぞれ保存する工程と、
前記複数のデータを、前記複数のデータが保存されてからデータごとに異なる期間が経過したことに応じて前記複数の記憶装置からそれぞれ消去する工程とを、コンピュータが実行することを特徴とするパケットキャプチャ方法。
（付記１７）  前記パケットを分割する工程において、前記属性情報と前記複数のデータの各々のサイズとの対応関係、及び、前記属性情報と前記パケットの領域名との対応関係の少なくとも一方が登録されたテーブルに基づき、前記パケットを、前記属性情報に応じた前記サイズまたは前記領域名の領域をそれぞれ有する前記複数のデータに分割することを特徴とする付記１６に記載のパケットキャプチャ方法。
（付記１８）  前記属性情報には、前記パケットの宛先、送信元、回線、及び種別の少なくとも１つの情報が含まれることを特徴とする付記１６または１７に記載のパケットキャプチャ方法。
（付記１９）  前記複数のデータを保存する工程において、保存した前記複数のデータを、所定数の前記パケットが属するグループの識別子に基づいて管理し、
前記複数のデータを消去する工程において、消去対象の前記複数のデータの分割元の前記パケットが属するグループの前記識別子に基づいて、前記複数のデータをそれぞれ消去することを特徴とする付記１６乃至１８の何れかに記載のパケットキャプチャ方法。
（付記２０）  前記複数のデータのうち、前記複数のデータを消去する工程により消去されていない１以上のデータから前記パケットを復元する工程を、前記コンピュータが実行することを特徴とする付記１６乃至１９の何れかに記載のパケットキャプチャ方法。
【符号の説明】
【０１２２】
１      パケットキャプチャ装置
２ａ〜２ｃ     ストレージ
１０      ＣＰＵ
１０１     キャプチャ処理部
１０２     属性解析部
１０３     パケット分割部
１０４     保存処理部
１０５     消去処理部
１３０     ポリシーテーブル
【図１】
2018196013.tif 000003
【図２】
2018196013.tif 000004
【図３】
2018196013.tif 000005
【図４】
2018196013.tif 000006
【図５】
2018196013.tif 000007
【図６】
2018196013.tif 000008
【図７】
2018196013.tif 000009
【図８】
2018196013.tif 000010
【図９】
2018196013.tif 000011
【図１０】
2018196013.tif 000012
【図１１】
2018196013.tif 000013
【図１２】
2018196013.tif 000014