(57)【要約】【課題】  ルータ越えのパケットの捕捉と、ルータの配下にある通信端末の接続確認とを行えるとともに、通信サービスの料金の高騰化やその提供範囲の縮小化を抑制できるパケット捕捉装置を提供する。【解決手段】  本発明は、ネットワークを流れるパケットを捕捉するパケット捕捉装置５に関する。この装置５は、グローバルアドレスが割り当てられないＷＡＮポート５Ａと、ローカルアドレスを割り当て可能なＬＡＮポート５Ｂと、ＷＡＮ側とＬＡＮ側との間でルータ３を越えて送受信されるパケットである第１パケットＰ１をＷＡＮポート５Ａから捕捉する捕捉部５２と、ルータ３を越えないパケットである第２パケットＰ２をＬＡＮポート５Ｂから送受信する通信制御部５４とを備える。【選択図】      図１
2012249138.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを流れるパケットを捕捉するパケット捕捉装置であって、
グローバルアドレスが割り当てられないＷＡＮポートと、
ローカルアドレスを割り当て可能なＬＡＮポートと、
ＷＡＮ側とＬＡＮ側との間でルータを越えて送受信される前記パケットである第１パケットを前記ＷＡＮポートから捕捉する捕捉部と、
前記ルータを越えない前記パケットである第２パケットを前記ＬＡＮポートから送受信する通信制御部と、
を備えていることを特徴とするパケット捕捉装置。
【請求項２】
捕捉された前記第１パケットを用いて次の（ａ）又は（ｂ）若しくはこれらの双方の解析を行うパケット解析部を更に備えている請求項１に記載のパケット捕捉装置。
（ａ）  第１パケットの内容から通信エラーの発生を分析するミクロ解析
（ｂ）  同種の複数の第１パケットの履歴からトラフィック状況又はシーケンスエラーを分析するフロー解析
【請求項３】
パケット通信を行う複数の通信端末が前記ルータのＬＡＮ側に含まれる場合に、前記第１パケットと前記通信端末との対応付けを行う端末特定部を、更に備えている請求項１又は２に記載のパケット捕捉装置。
【請求項４】
前記通信制御部は、前記第１パケットの中継時に前記ルータが行うアドレス変換に用いる変換テーブルを前記ルータから取得可能であり、
前記端末特定部は、前記第１パケットに記されたアドレス情報及びポート情報と、取得された前記変換テーブルのアドレス情報及びポート情報とに基づいて、前記対応付けを行う請求項３に記載のパケット捕捉装置。
【請求項５】
前記端末特定部は、エントリごとの定義項目として、前記通信端末のローカル識別情報と、これに対応付けた前記第１パケットのアドレス情報及びポート情報とを含む端末対応テーブルを生成し、
捕捉された前記第１パケットのアドレス情報及びポート情報と一致する前記エントリを前記端末対応テーブルの中からサーチすることにより、前記第１パケットに対応する前記通信端末を特定する請求項４に記載のパケット捕捉装置。
【請求項６】
前記捕捉部は、前記アドレス変換によって変換されない前記通信端末の固有識別情報を含む前記第１パケットを捕捉可能であり、
前記端末特定部は、前記第１パケットに記された前記固有識別情報に基づいて、前記対応付けを行う請求項３に記載のパケット捕捉装置。
【請求項７】
前記端末特定部は、エントリごとの定義項目として、前記通信端末のローカル識別情報及び前記固有識別情報と、これに対応付けた前記第１パケットのアドレス情報及びポート情報とを含む端末対応テーブルを生成し、
捕捉された前記第１パケットのアドレス情報及びポート情報と一致する前記エントリを前記端末対応テーブルの中からサーチすることにより、前記第１パケットに対応する前記通信端末を特定する請求項６に記載のパケット捕捉装置。
【請求項８】
前記端末特定部は、前記第１パケットに記されたポート情報に基づいて、当該第１パケットに対応付けた前記通信端末が使用する通信アプリケーションを特定する請求項６又は７に記載のパケット捕捉装置。
【請求項９】
前記通信制御部は、前記通信端末が送受信した所定時間ごとの前記第１パケットのトラフィック情報である端末統計データを当該通信端末からそれぞれ取得可能であり、
前記端末特定部は、前記捕捉部で捕捉された前記第１パケットの所定時間ごとのトラフィック情報である捕捉統計データと、取得された前記端末統計データとに基づいて、前記対応付けを行う請求項３に記載のパケット捕捉装置。
【請求項１０】
前記端末特定部は、特定の前記通信端末に属するすべての同定済みの前記捕捉統計データと未同定の前記捕捉統計データとの合計値が、特定の前記通信端末についての前記端末統計データよりも大きい場合に、当該特定の前記通信端末を未同定の前記捕捉統計データの端末候補から外す処理を、その端末候補が１つだけ残るまで継続するフロー同定処理を行う請求項９に記載のパケット捕捉装置。
【請求項１１】
前記端末特定部は、エントリごとの定義項目として、前記通信端末のローカル識別情報と、これに対応付けた前記第１パケットのアドレス情報及びポート情報とを含む端末対応テーブルを生成し、
捕捉された前記第１パケットのアドレス情報及びポート情報と一致する前記エントリを前記端末対応テーブルの中からサーチすることにより、前記第１パケットに対応する前記通信端末を特定する請求項９又は１０に記載のパケット捕捉装置。
【請求項１２】
前記第１パケットのアドレス情報及びポート情報が一致する複数の未同定の前記エントリが存在する場合には、前記端末特定部は、前記フロー同定処理を行って未同定の前記エントリがどの前記通信端末に属するかを判定する請求項１１に記載のパケット捕捉装置。
【請求項１３】
前記端末特定テーブルには、前記エントリごとの定義項目として、前記第１パケットの受信時刻が記されるタイムスタンプが更に含まれており、前記端末特定部は、現在時刻と前記タイムスタンプの値との差が所定値以上である前記エントリを前記端末対応テーブルから削除する請求項５，７又は１１に記載のパケット捕捉装置。
【請求項１４】
グローバルアドレスが割り当てられないＷＡＮポートと、ローカルアドレスを割り当て可能なＬＡＮポートとを備えたパケット通信が可能なコンピュータを、ネットワークを流れるパケットの捕捉装置として機能させるコンピュータプログラムであって、
ＷＡＮ側とＬＡＮ側との間でルータを越えて送受信される前記パケットである第１パケットを前記ＷＡＮポートから捕捉するステップと、
前記ルータを越えない前記パケットである第２パケットを前記ＬＡＮポートから送受信するステップと、
を含むことを特徴とするコンピュータプログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを流れるパケットを捕捉するパケット捕捉装置と、その捕捉をコンピュータに実行させるためのコンピュータプログラムに関する。
【背景技術】
【０００２】
インターネットを利用した通信では様々な障害が発生する。例えば、ネット配信による動画の乱れや静止、所定のウェブページを閲覧した時に生じるエラーメッセージやレスポンスの遅延、所定の相手方への電子メールの不達、ファイル転送プロトコル（ＦＴＰ）でのログイン不可などの障害である。
かかるネットワーク障害は、特定のサーバに対するトラフィックの集中や、パケット通信が可能なパーソナルコンピュータ等の端末装置（以下、「通信端末」という。）又はパケット中継を行うルータに対するネットワーク設定の誤りが原因であることが多い。
【０００３】
そこで、パケットキャプチャソフト（ＬＡＮアナライザともいう。）を通信端末にインストールし、そのソフトを用いてネットワーク障害の原因を分析することが行われている（非特許文献１参照）。
かかるパケットキャプチャソフトは、ネットワークから所望のパケットを捕捉（キャプチャ）し、捕捉したパケットの内容をヒューマンリーダブルに画面表示するツールであり、ワイヤーシャーク（Wireshark ：登録商標）が最も一般的に知られている。
【０００４】
このパケットキャプチャソフトを使用すれば、例えば、ネットワークに流れるパケットのヘッダ情報をリスト表示したり、所定のプロトコルに従って送受信されるパケットのシーケンスをラダー表示したり、プロトコルのコマンドやデータ内容等に問題がある異常なパケットをフィルタリングすることができる。
従って、これらの機能により、ネットワーク中の異常なトラフィックの発生や、パケットの送信間隔の揺らぎから通信が輻輳しているか否かなどを分析することができる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】「パケットキャプチャ実践技術  Wiresharkによるパケット解析  応用編」  竹下恵著  株式会社リックテレコム発行  １０〜１２頁
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図１０は、上記のようなパケットキャプチャ機能を有する通信端末（以下、「パケット捕捉装置」という。）のネットワークに対する接続位置のバリエーションを示す図である。
なお、図１０において、「ＯＮＵ（Optical Network Unit）」は宅側の光回線終端装置であり、「ＯＬＴ（Optical Line Terminal）」は通信事業者側の光回線終端装置であり、「ルータ」は宅側に設置された例えばブロードバンドルータよりなる。
【０００７】
図１０（ａ）の接続例１は、パケット捕捉装置をルータのＬＡＮ側に接続した例であり、図１０（ｂ）の接続例２は、タップやリピータハブ等を介してパケット捕捉装置をルータのＷＡＮ側（ＯＮＵとルータの間）に接続した例である。また、図１０（ｃ）の接続例３は、パケット捕捉装置を通信事業者側のＯＬＴに接続した例である。
【０００８】
上記バリエーションのうち、接続例１の場合には、ＷＡＮ側からＬＡＮ側又はその逆にルータを通過するパケット（以下、「ルータ越えパケット」ということがある。）については、ルータでスイッチされるためにパケット捕捉装置には届かない。
このため、接続例１のパケット捕捉装置では、パケット捕捉装置を宅側に設けているにも拘わらず、宅側のルータ配下の通信端末が送受信するルータ越えパケットを捕捉できないという欠点がある。
【０００９】
これに対して、接続例２の場合には、パケット捕捉装置がルータのＷＡＮ側に接続されているため、宅側のルータ配下の通信端末が送受信するルータ越えパケットを捕捉することができる。
しかし、例えば、宅側のルータ配下の通信端末の接続確認を行うために、所定の要求パケット（例えば、pingコマンドのＩＣＭＰパケット）をパケット捕捉装置から送信する場合には、当該捕捉装置にもグローバルＩＰアドレスを割り当てる必要がある。
【００１０】
このため、グローバルＩＰアドレスの取得に伴うコストが通信サービスの料金に還元され、一般ユーザーにとってより高価な通信サービスになるという欠点がある。
また、グローバルＩＰアドレスは有限の資源であり、１つのサービスプロバイダが管理するグローバルＩＰアドレスの数にも限りがあるため、パケット捕捉装置を設置するごとにグローバルＩＰアドレスの付与が必要となるのでは、当該プロバイダによる通信サービスの提供範囲が縮小するという欠点もある。
【００１１】
また、接続例３では、パケット捕捉装置が通信事業者のＯＬＴに接続されているため、ルータ配下の通信端末からのパケットを受信できるが、パケット捕捉装置が送信したパケットはルータのファイアウォールにブロックされる。
このため、接続例３のパケット捕捉装置では、所定の要求パケットをルータ配下の通信端末に送信できないので、その接続確認を行うことができない。
【００１２】
本発明は、かかる従来の問題点に鑑み、ルータ越えのパケットの捕捉と、ルータの配下にある通信端末の接続確認とを行えるとともに、通信サービスの料金の高騰化やその提供範囲の縮小化を抑制できるパケット捕捉装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
（１）  本発明のパケット捕捉装置は、ネットワークを流れるパケットを捕捉するパケット捕捉装置であって、グローバルアドレスが割り当てられないＷＡＮポートと、ローカルアドレスを割り当て可能なＬＡＮポートと、ＷＡＮ側とＬＡＮ側との間でルータを越えて送受信される前記パケットである第１パケットを前記ＷＡＮポートから捕捉する捕捉部と、前記ルータを越えない前記パケットである第２パケットを前記ＬＡＮポートから送受信する通信制御部と、を備えていることを特徴とする。
【００１４】
本発明のパケット捕捉装置によれば、ＷＡＮ側とＬＡＮ側との間でルータを越えて送受信されるパケットである第１パケットをＷＡＮポートから捕捉し、ルータを越えないパケットである第２パケットをＬＡＮポートから送受信するので、ルータ越えのパケットの捕捉と、ルータの配下の通信端末の接続確認とを１つのパケット捕捉装置にて行うことができる。
また、本発明のパケット捕捉装置によれば、第１パケットの捕捉ポイントであるＷＡＮポートにグローバルアドレスが割り当てられないので、パケット捕捉装置の設置に伴うアドレス取得によって通信サービスの料金が高騰化したり、通信サービスの提供範囲が縮小化したりするのを抑制することができる。
【００１５】
なお、ルータの配下の通信端末に対する接続確認は、セッション確立用のパケット（例えば、pingコマンドのＩＣＭＰパケット）をＬＡＮポートから送信し、その返信があるか否かによって行うことができる。
【００１６】
（２）  本発明のパケット捕捉装置において、捕捉された前記第１パケットを用いて次の（ａ）又は（ｂ）若しくはこれらの双方の解析を行うパケット解析部を更に設けることが好ましい。
（ａ）  第１パケットの内容から通信エラーの発生を分析するミクロ解析
（ｂ）  同種の複数の第１パケットの履歴からトラフィック状況又はシーケンスエラーを分析するフロー解析
かかるパケット解析部を設けるようにすれば、第１パケットについて生じるネットワーク障害の原因の分析を当該パケット捕捉装置にて行うことができる。
【００１７】
（３）  ところで、パケット通信に用いるルータでは、通常、ＮＡＴ（Network Address Translation）等のアドレス変換機能が実装されている。
例えば、ＮＡＴは、ＴＣＰやＵＤＰのポート番号を動的に変換することで、１つのグローバルＩＰアドレスで複数の通信端末の同時に接続を可能にする技術である。従って、ルータを越える第１パケットは、通常、ＮＡＴ等によってアドレスの変換が行われるため、ＷＡＮ側から見た場合にどの通信端末と接続中であるかを認識できない。
【００１８】
そこで、本発明のパケット捕捉装置において、パケット通信を行う複数の通信端末が前記ルータのＬＡＮ側に含まれる場合に、前記第１パケットと前記通信端末との対応付けを行う端末特定部を、更に備えていることが好ましい。
【００１９】
（４）  具体的には、前記通信制御部が、前記第１パケットの中継時に前記ルータが行うアドレス変換に用いる変換テーブルを前記ルータから取得可能である場合には、前記端末特定部は、前記第１パケットに記されたアドレス情報及びポート情報と、取得された前記変換テーブルのアドレス情報及びポート情報とに基づいて、前記対応付けを行うようにすればよい。
この場合、変換テーブルをルータから取得するために、管理者権限でルータにログインする必要があるが、すべての種類のパケットに対応できる利点がある。
【００２０】
（５）  更に具体的には、前記端末特定部は、エントリごとの定義項目として、前記通信端末のローカル識別情報（例えば、ローカルアドレス）と、これに対応付けた前記第１パケットのアドレス情報及びポート情報とを含む端末対応テーブルを生成することが好ましい。
この場合、捕捉された前記第１パケットのアドレス情報及びポート情報と一致する前記エントリを前記端末対応テーブルの中からサーチすることにより、前記第１パケットに対応する前記通信端末を特定することができる。
【００２１】
（６）  本発明のパケット捕捉装置において、前記捕捉部が、前記アドレス変換によって変換されない前記通信端末の固有識別情報を含む前記第１パケットを捕捉可能である場合には、前記端末特定部は、前記第１パケットに記された前記固有識別情報に基づいて、前記対応付けを行うことができる。
この場合、固有識別情報を設定した通信端末しか対応付けを行えないが、変換テーブルをルータから取得する必要がないので、ルータにログインできない場合でも対応付けを行うことができる。
【００２２】
なお、ルータでのアドレス変換によって変換されない通信端末の固有識別情報の設定方法としては、例えば、ＨＴＴＰパケットのリクエストパケットに埋め込まれている、ＨＴＴＰのヘッダ情報の一部を構成する「ユーザエージェント」に、所定の通信端末固有の文字列を設定することが考えられる。
【００２３】
（７）  上記固有識別情報を利用した対応付けを行う場合には、前記端末特定部は、エントリごとの定義項目として、前記通信端末のローカル識別情報及び前記固有識別情報と、これに対応付けた前記第１パケットのアドレス情報及びポート情報とを含む端末対応テーブルを生成することが好ましい。
この場合、捕捉された前記第１パケットのアドレス情報及びポート情報と一致する前記エントリを前記端末対応テーブルの中からサーチすることにより、前記第１パケットに対応する前記通信端末を特定することができる。
【００２４】
（８）  また、この場合、前記端末特定部は、前記第１パケットに記されたポート情報に基づいて、当該第１パケットに対応付けた前記通信端末が使用する通信アプリケーションを特定することにしてもよい。
【００２５】
（９）  本発明のパケット捕捉装置において、前記通信制御部が、前記通信端末が送受信した所定時間ごとの前記第１パケットのトラフィック情報である端末統計データを当該通信端末からそれぞれ取得可能である場合には、前記端末特定部は、前記捕捉部で捕捉された前記第１パケットの所定時間ごとのトラフィック情報である捕捉統計データと、取得された前記端末統計データとに基づいて、前記対応付けを行うこともできる。
【００２６】
この場合、各通信端末からトラフィック情報の計測値（端末統計データ）を取得する必要があるが、変換テーブルをルータから取得する必要がないので、ルータにログインできない場合でも対応付けを行うことができる。
なお、上記「トラフィック情報」としては、例えば、パケット数や、ヘッダ情報から特定されるパケット長などがある。
【００２７】
（１０）  ここで、所定時間内において、ルータの配下にあるいずれか１つの通信端末がルータを越えるパケットを送信した場合には、それ以外の通信端末の端末統計データは、同定済み及び未同定の捕捉統計データの合計値よりも小さくなる。従って、上記捕捉統計データ及び端末統計データを用いた対応付けは、より具体的には、次の「フロー同定処理」によって行うことができる。
すなわち、前記端末特定部は、特定の前記通信端末に属するすべての同定済みの前記捕捉統計データと未同定の前記捕捉統計データとの合計値が、特定の前記通信端末についての前記端末統計データよりも大きい場合に、当該特定の前記通信端末を未同定の前記捕捉統計データの端末候補から外す処理を、その端末候補が１つだけ残るまで継続するフロー同定処理を行うことにより、未同定の捕捉統計データ（第１パケット）を１つの通信端末と対応付けることができる。
【００２８】
（１１）  それらの統計データを用いた対応付けを行う場合にも、前記端末特定部は、エントリごとの定義項目として、前記通信端末のローカル識別情報（例えば、ローカルアドレス）と、これに対応付けた前記第１パケットのアドレス情報及びポート情報とを含む端末対応テーブルを生成することが好ましい。
この場合、捕捉された前記第１パケットのアドレス情報及びポート情報と一致する前記エントリを前記端末対応テーブルの中からサーチすることにより、前記第１パケットに対応する前記通信端末を特定することができる。
【００２９】
（１２）  また、前記端末対応テーブルにおいて、前記第１パケットのアドレス情報及びポート情報が一致する複数の未同定の前記エントリが存在する場合には、前記端末特定部は、前記フロー同定処理を行って未同定の前記エントリがどの前記通信端末に属するかを判定すればよい。
【００３０】
（１３）  本発明のパケット捕捉装置において、前記端末対応テーブルに、前記エントリの定義項目として、前記第１パケットの受信時刻が記されるタイムスタンプが更に含まれている場合には、前記端末特定部は、現在時刻と前記タイムスタンプの値との差が所定値以上である前記エントリを前記端末対応テーブルから削除することが好ましい。
その理由は、ルータが行うアドレス変換ではポート情報が動的に変更され、いったん特定した通信端末と第１パケットとの対応づけが何時までも通用するものではないので、所定時間が経過した古い対応付けのエントリを使用すべきではないからである。
【００３１】
（１４）  本発明のコンピュータプログラムは、グローバルアドレスが割り当てられないＷＡＮポートと、ローカルアドレスを割り当て可能なＬＡＮポートとを備えたパケット通信が可能なコンピュータを、ネットワークを流れるパケットの捕捉装置として機能させるコンピュータプログラムであって、ＷＡＮ側とＬＡＮ側との間でルータを越えて送受信される前記パケットである第１パケットを前記ＷＡＮポートから捕捉するステップと、前記ルータを越えない前記パケットである第２パケットを前記ＬＡＮポートから送受信するステップと、を含むことを特徴とする。
【００３２】
上記の通り、本発明のコンピュータプログラムは、本発明のパケット捕捉装置と実質同一の発明であり、当該装置と同じ作用効果を奏する。
なお、本発明のコンピュータプログラムにおいて、上述の（２）〜（１３）に記述した各処理を含めることにしてもよい。
【発明の効果】
【００３３】
以上の通り、本発明によれば、ルータ越えのパケットの捕捉をグローバルアドレスが割り当てられないＷＡＮポートから行い、パケットの送受信をローカルアドレスの割り当てが可能なＬＡＮポートから行うので、ルータ越えのパケットの捕捉と、ルータの配下にある通信端末の接続確認とを行えるとともに、グローバルアドレスの取得によって通信サービスの料金が高騰化したり、通信サービスの提供範囲が縮小化したりするのを抑制することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明のパケット捕捉装置を適用した通信システムの全体構成図である。
【図２】ルータの内部構成を示すブロック図である。
【図３】ＮＡＴテーブル（変換テーブル）の一例を示す図である。
【図４】パケット捕捉装置の内部構成を示すブロック図である。
【図５】端末対応テーブルの一例を示す図である。
【図６】第１の変形例で用いる端末対応テーブルを示す図である。
【図７】第２の変形例で用いる複数のテーブルを示す図である。
【図８】フロー同定処理の具体例を示す説明図である。
【図９】フロー同定処理の具体例を示す説明図である。
【図１０】パケット捕捉装置のネットワークに対する接続位置のバリエーションを示す図である。
【発明を実施するための形態】
【００３５】
以下、図面を参照しつつ、本発明の実施形態を説明する。
〔システムの全体構成〕
図１は、本発明のパケット捕捉装置５を適用した通信システムの全体構成図である。
図１に示すように、この通信システムは、通信事業者側の光回線終端装置であるＯＬＴ１、宅側の光回線終端装置であるＯＮＵ２、ブロードバンドルータ等の中継装置よりなるルータ３、例えばＩＰ（Internet Protocol）に基づくパケット通信が可能な複数の通信端末４、及び、パケット捕捉装置５などを備えている。
【００３６】
ＯＬＴ１とＯＮＵ２は光カプラを介して光ファイバによって接続されており、ＯＬＴ１は広域ネットワーク６と接続されている。本実施形態の広域ネットワーク６はインターネットである。
なお、図１のシステム構成例では、ＦＴＴＨを想定してＯＮＵ２よりなる回線終端装置を例示しているが、その他の回線終端装置として、ＡＤＳＬモデムやＣＡＴＶモデムを採用することもできる。
【００３７】
ＯＮＵ２とルータ３とは、イーサネットケーブル（注記：「イーサネット」は登録商標である。）７などの通信回線を介して互いに接続されている。また、このケーブル７の途中には、タップ又はリピータハブ等よりなるハブ８が設けられている。
このハブ８は、ＯＮＵ２とルータ３との間で送受信されるイーサネットケーブル７を流れるすべてのＩＰパケットを、パケット捕捉装置５が接続されたポートにそのまま流す機能を有する。
【００３８】
ルータ３は、ＩＰパケットのルーティング機能を有する中継装置であり、１つのＷＡＮポート３Ａと１又は複数のＬＡＮポート３Ｂとを有する。なお、図例では、ルータ３にＬＡＮポート３Ｂが２つ設けられているが、その数は２つに限定されない。
ルータ３のＬＡＮポート３Ｂには、イーサネットケーブル９などの通信回線を介して各種の通信端末４が接続されている。この通信端末４は、例えば、ＩＰ通信が可能なパーソナルコンピュータ（ＰＣ）、サーバコンピュータ或いはテレビなどの家電製品よりなる。
【００３９】
図１に示す「ＬＡＮ１」は、ルータ３の一方のＬＡＮポート３Ｂに接続された構内ネットワークであり、「ＬＡＮ２」は、ルータ３の他方のＬＡＮポート３Ｂに接続された構内ネットワークである。
これらの構内ネットワークＬＡＮ１，ＬＡＮ２は、１又は複数のスイッチングハブ１０を用いて多段接続することによって構成されており、当該ネットワークの終端部分に通信端末４を有する。
【００４０】
本実施形態のパケット捕捉装置（以下、単に「捕捉装置」ということがある。）５は、ＯＮＵ２とルータ３の間を流れる、ＷＡＮ側とＬＡＮ側との間で送受信されるルータ越えのパケット（具体的には、ＩＰパケット）を捕捉するための装置であり、１つのＷＡＮポート５Ａと１つのＬＡＮポート５Ｂとを有する。
また、図１の例では、捕捉装置５のＷＡＮポート５Ａは、ハブ８のキャプチャ用ポートに接続されており、捕捉装置５のＬＡＮポート５Ｂは、ＬＡＮ２に含まれるスイッチングハブ１０に接続されている。
【００４１】
なお、以下において、ＯＮＵ２とルータ３の間を流れる通信パケットＰ１を「第１パケット」といい、捕捉装置５のＬＡＮポート５Ｂから送受信される通信パケットＰ２を「第２パケット」という。
また、「パケット」は、レイヤ３の通信で使われるＰＤＵの呼び名として用いる場合もあるが、本明細書では、コンピュータ間の通信に使用するデータを送る単位の意味（従って、ＰＤＵと同じ。）でも使用している。更に、本明細書において、ＬＡＮ側からＷＡＮ側に流れるパケットを「上りパケット」といい、ＷＡＮ側からＬＡＮ側に流れるパケットを「下りパケット」という。
【００４２】
〔ルータの基本的機能〕
本実施形態のルータ３は、インターネット６との常時接続を可能とするため、ＩＰパケットの中継機能の他に、ＩＰパケットの動的フィルタリング機能、ＮＡＴ機能、ＤＨＣＰ機能、ＰＰＰｏＥ機能、ＡＲＰ機能などを備えている。
【００４３】
このうち、動的フィルタリングは、ＴＣＰやＵＤＰのセッションをルータ３が管理し、ルータ３内部（ＬＡＮ側）のクライアントがインターネットのＷｅｂサーバにアクセスしているときに、そのＷｅｂサーバからの応答パケットだけを通過させるように制御する機能である。
また、ＷＡＮ側からＡＣＫ信号付きのＩＰパケットを受信すると、これに対応するデータがＬＡＮ側から送信されたかどうかセッションログから確認し、ＷＡＮ側から送信されたＩＰパケットとセッションログが矛盾する場合にはパケットを遮断して、ＬＡＮ内部の端末を不正アクセスから保護する「ステートフルインスペクション」が行われる。
【００４４】
ＮＡＴは、１つのグローバルＩＰアドレスを複数の端末で共有するため、構内でのみ通用するローカルＩＰアドレスと、インターネット上のグローバルＩＰアドレスを透過的に相互変換するアドレス変換方式である。
ＮＡＴは、ＴＣＰ又はＵＤＰのポート番号も動的に変換することで、１つのグローバルＩＰアドレスで複数のマシンからの同時接続を可能とする。ポート番号の変換が行われるため、ＷＡＮ側からＬＡＮ内部のマシンに接続を開始することはできない。もっとも、pingのＩＣＭＰパケットの場合は、「query ID」を変換することでＮＡＴを通過する。
【００４５】
ＰＰＰｏＥは、イーサネットを通してＰＰＰ機能を利用するためのプロトコルである。通常のＰＰＰと異なり、ネットワークカード（ＮＩＣ）の持つ固有のＭＡＣアドレスによって双方のコンピュータを識別し、その間に仮想回線を展開する。
ＰＰＰｏＥを利用すると、ＬＡＮ上からもユーザー認証やＩＰアドレスの割り当てなどが可能になるので、これを利用すれば、ＡＤＳＬやＣＡＴＶ、光ファイバなどによる常時接続サービスにおいて、接続するプロバイダを簡単に切り替えられる。
【００４６】
ＴＣＰ／ＩＰネットワークでイーサネットフレームを送信するには、宛先のＭＡＣアドレスを指定する必要がある。ＡＲＰは、ＭＡＣアドレスを宛先のＩＰアドレスから求めるためのプロトコルである。
宛先のＭＡＣアドレスが分からない場合、送信元はＩＰアドレスのＭＡＣアドレスを問い合わせるＡＲＰリクエストをブロードキャストで送信する。このリクエストに対して、指定されたＩＰアドレスを持っているマシンがＭＡＣアドレスを通知するＡＲＰリプライを返す。これにより、送信元は入手したＭＡＣアドレスを宛先として、イーサネットフレームを作成する。
【００４７】
〔ルータの内部構成〕
図２は、ルータ３の内部構成を示すブロック図である。
図２に示すように、ルータ３は、ＷＡＮ側からＬＡＮ側に向かって順に、第１インタフェース部３１、第１通信制御部３２、中継処理部３３、第２通信制御部３４、第２インタフェース部３５及びＮＡＴテーブル（変換テーブル）３６を備えている。
【００４８】
第１インタフェース部３１は、前記ＷＡＮポート３Ａを有するイーサネット仕様の接続インタフェースであり、第１通信制御部３２は、第１インタフェース部３１におけるパケットの送受信を制御する。
第１通信制御３２は、宛先ＩＰアドレスがＬＡＮ側の端末であるパケットについては、それを中継処理部３３に渡す。
【００４９】
第２インタフェース部３５は、前記ＬＡＮポート３Ｂを有するイーサネット仕様の接続インタフェースであり、第２通信制御部３５は、第２インタフェース部３５におけるパケットの送受信を制御する。
第２通信制御部３４は、宛先ＩＰアドレスがＷＡＮ側の端末であるパケットについては、それを中継処理部３３に渡す。
【００５０】
中継処理部３３は、一方の通信制御部３２（又は３４）からパケットを受けると、そのパケットからアドレス情報とポート情報を抽出し、ＮＡＴテーブル３６を参照して、抽出したアドレス情報とポート情報の変換を行う。
また、中継処理部３３は、変換後のアドレス情報とポート情報を記したパケットを他方の通信制御部３４（又は３２）に渡す。
【００５１】
図３は、ＮＡＴテーブル（変換テーブル）の一例を示す図である。
図３に示す各変数の意味は、次の通りである。
「Private IP」 ：ＬＡＮ側端末のＩＰアドレス
「Port1」      : ＬＡＮ側端末のポート番号
「Pseudo Port」：疑似ポート番号
「Peer IP」    ：ＷＡＮ側端末のＩＰアドレス
「Port2」      : ＷＡＮ側端末のポート番号
【００５２】
「srcIP」     ：送信元のＩＰアドレス
「srcPort」    :送信元のポート番号
「destIP」    ：宛先のＩＰアドレス
「destPort」  ：宛先のポート番号
なお、図３において、値が「０」のポートは閉鎖していることを意味する。また、図３では省略しているが、ＮＡＴテーブル３６には、「ＴＣＰ」や「ＵＤＰ」などのプロトコルの種別を示す項目も含まれる。
【００５３】
ここで、例えば、図３の上から第２番目のエントリに着目し、このエントリに一致する上りパケットを中継処理部３３が受けたとする。
この場合、中継処理部３３は、宛先のＩＰアドレスdestIPの値（61.228.126.144）と宛先のポート番号destPort の値（14702）はそのままで、かつ、送信元のＩＰアドレスsrcIP の値をルータ３に設定された値とし、送信元のポート番号srcPortを擬似ポート番号の値（50239）に置き代えて、ＷＡＮ側に送出するＩＰパケットを生成する。
【００５４】
逆に、中継処理部３３は、宛先と送信元とが入れ替わった下りパケットを受けると、下り方向では宛先に指定されている擬似ポート番号の値（50239）と一致する、ローカルＩＰアドレスと真のローカルポート番号を、ＮＡＴテーブル３６から割り出し、そのアドレスとポート番号を宛先として、ＬＡＮ側に送出するＩＰパケットを生成する。
【００５５】
〔パケット捕捉装置の内部構成〕
図４は、パケット捕捉装置５の内部構成を示すブロック図である。
図４に示すように、本実施形態の捕捉装置５は、第１インタフェース部５１、捕捉部５２、制御部５３、通信制御部５４、第２インタフェース部５５、端末対応テーブル５６、そのテーブル５６の格納領域を有する記憶部５７を備えている。
【００５６】
第１インタフェース部５１は、前記ＷＡＮポート５Ａを有する例えばイーサネット仕様の接続インタフェースであり、このＷＡＮポート５Ａには、グローバルＩＰアドレスが割り当てられない。
従って、捕捉部５２は、第１インタフェース部５１における通信パケットの受信のみを行い、ＷＡＮポート５Ａに流れ込む第１パケットＰ１を含むすべての通信パケットを取り込む。捕捉部５２は、取り込んだ通信パケットを制御部５３に渡す。
【００５７】
第２インタフェース部５５は、前記ＬＡＮポート５Ｂを有する例えばイーサネット仕様の接続インタフェースであり、このＬＡＮポート５Ｂには、所定のローカルＩＰアドレスを動的又は固定的に割り当て可能である。
従って、通信制御部５４は、第２インタフェース部５５における第２パケットＰ２を含む通信パケットの送受信を制御する。通信制御部５４は、宛先ＭＡＣアドレスが自装置である通信パケットについては、それを制御部５３に渡す。
【００５８】
〔端末対応テーブル〕
図５は、端末対応テーブル５６の一例を示す図である。
端末対応テーブル５６は、後述する「端末特定処理」に使用するものである。端末対応テーブル５６は、エントリごとの定義項目として、ＬＡＮ側の通信端末４のローカルな識別情報であるローカルＩＰアドレスを記す「端末情報」と、この端末情報と対応する第１パケット（図５の例では上り方向）の「アドレス情報」及び「ポート情報」である、「srcIP」、「srcPort」、「destIp」及び「destPort」とが含まれている。
【００５９】
また、各エントリには、第１パケットＰ１の時刻情報である「Timestamp」も含まれている。この「Timestamp」は捕捉装置５が第１パケットＰ１を受信した時刻のことである。
制御部５３は、記憶部５７に格納されたコンピュータプログラムを読み出して実行することによって実現される処理として、「端末特定処理」、「接続確認処理」及び「パケット解析処理」を実行する。以下、これらの処理の内容を説明する。
【００６０】
なお、捕捉装置５の制御部５３による各処理を実現する所定のコンピュータプログラムは、上記の通り、捕捉装置５の記憶部５７にインストールされているが、このコンピュータプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの記録媒体に格納して販売又は譲渡することができる。
また、このコンピュータプログラムの販売又は譲渡は、サーバコンピュータからネットワーク経由でダウンロードすることによって行こともできる。
【００６１】
〔端末特定処理〕
制御部５３による「端末特定処理」は、ルータ３のＬＡＮ側に複数の通信端末４が含まれる場合に、第１パケットＰ１と通信端末４との対応付けを行う処理である。
本実施形態の制御部５３は、この端末特定処理を、ルータ３が保持している前記ＮＡＴテーブル３６を参照することによって行う。
【００６２】
すなわち、制御部５３は、接続要求のための制御パケットをルータ３宛で送信するように通信制御部５４に指令を与え、管理者権限でルータ３にログインすることにより、ルータ３が保持しているＮＡＴテーブル３６を任意に参照可能となっている。
従って、この処理の例では、ルータ３の管理者ＩＤとパスワードの情報をパケット捕捉装置５に設定しておく必要がある。
【００６３】
このように、ルータ３のＮＡＴテーブル３６を捕捉装置５から参照可能である場合には、制御部５３は、次のステップＳ１〜ステップＳ４の処理を実行する。
なお、以下の記述では、上りパケットの場合を想定しているが、下りパケットの場合には、src側をdest側に読み替え、かつ、dest側をsrc側に読み替えた処理となる。
【００６４】
（ステップＳ１）
まず、制御部５３は、捕捉部５２が捕捉した通信パケットから上りの第１パケットＰ１を抽出し、その第１パケットの「srcIP」、「srcPort」、「destIp」、「destPort」の値を取り出す。
（ステップＳ２）
次に、制御部５３は、記憶部５７の端末対応テーブル５６（図５）にアクセスし、「srcIP」、「srcPort」、「destIp」及び「destPort」の値（アドレス情報とポート情報の値）が同じである、第１パケットＰ１のエントリが存在するか否かを判定する。
【００６５】
（ステップＳ３−１）： エントリが存在しない場合
上記判定の結果、端末対応テーブル５６にエントリが存在しない場合は、制御部５３は次の処理ａ）〜ｄ）を行う。
ａ）  ルータ３にアクセスしてＮＡＴテーブル３６を参照する。
ｂ）  ＮＡＴテーブル３６を参照することで、第１パケットＰ１がどの通信端末４のものかを特定する。
【００６６】
この特定は、例えば、「srcPort」、「destIP」及び「destPort」の値をキーとしてＮＡＴテーブル３６をサーチし、「PseudoPort」、「PeerIP」及び「Port2」の値がマッチするエントリのローカルＩＰアドレスを特定することによって行うことができる。
ｃ）  特定したローカルＩＰアドレスと、これに対応する第１パケットＰ１の「srcIP」、「srcPort」、「destIp」、「destPort」を、端末対応テーブル５６のエントリに登録する。
ｄ）  第１パケットＰ１の受信時刻で「Timestamp」の値を更新する。
【００６７】
（ステップＳ３−２）：エントリが存在する場合
上記判定の結果、端末対応テーブル５６にエントリが存在する場合には、制御部５３は次の処理ｅ）〜ｆ）を行う。
ｅ）  エントリに含まれるローカルＩＰアドレスを、当該第１パケットＰ１に対応する通信端末４として特定する。
ｆ）  第１パケットＰ１の受信時刻で「Timestamp」の値を更新する。
【００６８】
（ステップＳ４）：エントリの削除
また、制御部５３は、端末対応テーブル５６の「Timestamp」の値を定期的にスキャンし、現在時刻と「Timestamp」の値を比較する。
そして、制御部５３は、一定時間以上経過しているエントリ、すなわち、現在時刻と「Timestamp」の値の差が所定値以上であるか否かを判定し、この判定結果が肯定的となる古いエントリを端末対応テーブル５６から削除する。
【００６９】
〔接続確認処理〕
制御部５３による「接続確認処理」は、ルータ３の配下にある各通信端末４がＬＡＮに接続されているか否かを確認する処理である。
この処理は、例えば、pingコマンドのＩＣＭＰパケットをＬＡＮポート５Ｂから送信するように通信制御部５４に指示することによって行われる。
この場合、特定の通信端末４から返信があれば、その通信端末４が正常にＬＡＮ１又はＬＡ２に接続されていると判定でき、返信がなければ接続されていないと判定できる。
【００７０】
〔パケット解析処理〕
制御部５３による「パケット解析処理」には、第１パケットＰ１の内容から通信エラーの発生を分析する「ミクロ解析」と、同種の複数の第１パケットＰ１の履歴からトラフィック状況やシーケンスエラーなどを分析する「フロー解析」とがある。
【００７１】
制御部５３は、上記「ミクロ解析」を行う場合、第１パケットＰ１の制御情報の値等に基づいて、パケットに誤りがあるかどうかを解析する。
例えば、ＴＣＰパケットのヘッダ情報には、当該パケットが格納しているデータが元のデータのどの部分に当たるかを示す、３２ビットの数値で表された「シーケンス番号」が含まれている。
【００７２】
このシーケンス番号は、コネクションの開始時の「初期シーケンス番号」とデータの先頭からのバイト数とで決定されるもので、コネクションの初期のシーケンス番号が「１００００」の場合、最初の１バイト目のデータを転送するＴＣＰパケットのシーケンス番号は、「１０００１」になり、先頭から１０００バイト目のデータを転送するＴＣＰパケットのシーケンス番号は、「１１０００」になる。
従って、かかるシーケンス番号の連続性をチェックすることにより、ある端末同士の通信が途切れた場合に、その原因がどちらにあるかを解析することができる。
【００７３】
一方、制御部５３は、上記「フロー解析」を行う場合、同種の複数の第１パケットＰ１を所定時間に渡って収集し、そのパケット間の時間間隔をチェックすることにより、ネットワーク機器の接続状態の健全性や、ネットワークの輻輳などを解析する。
例えば、マルチキャストで送信されるＲＴＰ（Real-time Transport Protocol）パケットの場合には、ある時点でパケット間の時間間隔が大幅に遅れたことを検出できれば、サーバからの通信が輻輳していると推定できる。
【００７４】
また、例えば、ＩＣＭＰパケットのエコー要求とそのエコー応答の場合には、ある時点でエコー応答が来なくなったことを検出できれば、その時点において何らかの理由でサーバの通信が切断したと推定できる。
制御部５３は、上記のような「ミクロ解析」や「フロー解析」を行った結果、所定の通信エラーを検出した場合には、そのエラーのログ情報を含む送信パケットを生成し、その送信パケットを、パケット捕捉装置５の制御端末である通信端末４に送信する。
【００７５】
〔パケット捕捉装置の効果〕
以上の通り、本実施形態のパケット捕捉装置５によれば、ルータ３を越えるパケットである第１パケットＰ１をＷＡＮポート５Ａから捕捉し、ルータ３を越えないパケットである第２パケットＰ２をＬＡＮポート５Ｂから送受信するので、ルータ越えのパケットの捕捉と、ルータ３の配下の通信端末４の接続確認とを１つのパケット捕捉装置５を用いて行うことができる。
【００７６】
また、本実施形態のパケット捕捉装置５によれば、第１パケットＰ１の捕捉ポイントであるＷＡＮポート５ＢにグローバルＩＰアドレスが割り当てられないので、パケット捕捉装置５の設置に伴うアドレス取得の必要がない。このため、通信サービスの料金が高騰化したり、通信サービスの提供範囲が縮小化したりするのを抑制できるという利点もある。
更に、本実施形態のパケット捕捉装置５によれば、制御部５３が、第１パケットＰ１と通信端末４との対応付けを行うことができるので、ルータ３のＬＡＮ側に複数の通信端末４が含まれていても、宛先又は送信元の通信端末４が明らかなパケットを捕捉することができる。
【００７７】
〔第１の変形例〕
第１の変形例は、制御部５３が行う他の「端末特定処理」に関するものであり、この変形例では、ＮＡＴによって変換されない通信端末４固有の「固有識別情報」を利用して端末特定処理を行う。かかる固有識別情報としては、例えば、ＨＴＴＰヘッダ情報の一部を構成する「ユーザエージェント」がある。
【００７８】
このユーザエージェントの情報を通信端末４に設定しておけば、通信端末４は、その情報をＨＴＴＰリクエストパケットに埋め込んでインターネット６に送信する。
このＨＴＴＰのヘッダ情報はＮＡＴで変換されないため、第１パケットＰ１の捕捉ポイントである捕捉装置５のＷＡＮポート５Ｂにおいて捕捉された第１パケットＰ１から抽出したユーザエージェントの情報とアドレス情報とから、通信端末４の特定が可能となる。
【００７９】
図６は、第１の変形例で用いる端末対応テーブル５６Ａを示す図である。
この変形例の端末対応テーブル５６Ａが上述の実施形態で使用した図５の端末対応テーブル５６と異なる点は、ローカルＩＰアドレスの他に、上記固有識別情報が記される「UserAgent」の項目が端末情報に加えられている点にある。
【００８０】
以上を前提として、パケット捕捉装置５の制御部５３は、次のステップＴ１〜ステップＴ３の処理を実行する。
なお、以下の記述でも、上りパケットの場合を想定しているが、下りパケットの場合には、src側をdest側に読み替え、かつ、dest側をsrc側に読み替えた処理となる。
【００８１】
（ステップＴ１）
まず、制御部５３は、捕捉部５２が捕捉した通信パケットから上りの第１パケットＰ１を抽出し、その第１パケットの「srcIP」、「srcPort」、「destIp」、「destPort」の値を取り出す。
（ステップＴ２）
次に、制御部５３は、端末対応テーブル５６Ａ（図６）にアクセスし、「srcIP」、「srcPort」、「destIp」、「destPort」の値が同じである、第１パケットＰ１のエントリが端末対応テーブル５６Ａに存在するか否かを判定する。
【００８２】
（ステップＴ２−１）： エントリが存在しない場合
上記判定の結果、端末対応テーブル５６Ａにエントリが存在しない場合は、制御部５３は次の処理ａ）〜ｂ）を行う。
ａ）  第１パケットＰ１がＨＴＴＰリクエストパケットの場合は、そのパケットからユーザエージェントの情報を取得し、端末対応テーブル５６Ａにエントリを追加する。
ｂ）  第１パケットＰ１がＨＴＴＰリクエストパケットでない場合は、そのパケットを不明（Unknown）なパケットに分類する。
【００８３】
（ステップＴ２−２）： エントリが存在する場合
上記判定の結果、端末対応テーブル５６Ａにエントリが存在する場合には、制御部５３は次の処理ｃ）〜ｄ）を行う。
ｃ）  エントリに含まれるローカルＩＰアドレスを、当該第１パケットに対応する通信端末４として特定する。
ｄ）  第１パケットＰ１の受信時刻で「Timestamp」の値を更新する。
【００８４】
なお、第１の変形例において、制御部５３は、第１パケットＰ１のポート情報（具体的には、「srcPort」や「destPort」の値）に基づいて、当該第１パケットＰ１に対応付けた通信端末４が使用する通信アプリケーションを特定することも可能である。
このように、第１パケットＰ１のポート情報を利用すれば、端末特定処理にて特定された通信端末４が如何なるフロー（すなわち、通信アプリケーション）を使用中かが判明するので、フローごとのネットワーク異常の検出に役立てることができる。
【００８５】
（ステップＴ３）：エントリの削除
第１の変形例の場合も、制御部５３は、端末対応テーブル５６Ａの「Timestamp」の値を定期的にスキャンし、現在時刻と「Timestamp」の値を比較する。
そして、制御部５３は、一定時間以上経過しているエントリ、すなわち、現在時刻と「Timestamp」の値の差が所定値以上であるか否かを判定し、この判定結果が肯定的となる古いエントリを端末対応テーブル５６Ａから削除する。
【００８６】
〔第２の変形例〕
第２の変形例も、制御部５３が行う他の「端末特定処理」に関するものであり、この変形例では、捕捉装置５がキャプチャした所定時間ごとの上り下り方向別のパケット数（パケットフロー）である「捕捉統計データ」と、各通信端末４がカウントした所定時間ごとの上り下り方向別のバケット数（パケットフロー）である「端末統計データ」を利用して端末特定処理を行う。
ＬＡＮ側の各通信端末４が、自身で送受信するパケット数を計測している場合には、この変形例による端末特定処理が可能である。
【００８７】
図７は、第２の変形例で用いる複数のテーブルを示す図である。
図７に示す３つのテーブル５６，５７，５８のうち、図７（ａ）の端末対応テーブル５６は、上述の実施形態の場合と同じものである。
図７（ｂ）のキャプチャフローテーブル５７は、エントリ（Flow ID）が端末対応テーブル５６のエントリ（Entry ID）と対応している。エントリ（Flow ID）の定義項目である各々の「Period」には、所定時間（例えば１０秒）ごとに捕捉装置５がキャプチャした、上り下り方向別のパケット数（捕捉統計データ）が記される。
【００８８】
図７（ｃ）の端末フローテーブル５８は、各通信端末４におけるパケット数の計測値を「Period」ごとに収集した表になっている。すなわち、端末フローテーブル５８の縦列はＬＡＮ側の端末(j)を示し、「Period」には、その端末(j)が所定時間（例えば１０秒）ごとに送信又は受信したパケット数（端末統計データ）が記される。
【００８９】
以上を前提として、パケット捕捉装置５の制御部５３は、次のステップＵ１〜ステップＵ７の処理を実行する。
なお、以下の記述でも、上りパケットの場合を想定しているが、下りパケットの場合には、src側をdest側に読み替え、かつ、dest側をsrc側に読み替えた処理となる。
【００９０】
（ステップＵ１）
まず、制御部５３は、捕捉部５２が捕捉した通信パケットから上りの第１パケットＰ１を抽出し、その第１パケットＰ１の「srcIP」、「srcPort」、「destIp」、「destPort」の値を取り出す。
（ステップＵ２）
次に、制御部５３は、端末対応テーブル５６（図７（ａ））にアクセスし、「srcIP」、「srcPort」、「destIp」、「destPort」の値が同じである、第１パケットＰ１のエントリが端末対応テーブル５６に存在するか否かを判定する。
【００９１】
（ステップＵ２−１）：エントリが存在しかつ端末情報が１つの場合
上記判定の結果、端末対応テーブル５６にエントリが存在しかつ端末情報としてローカルＩＰアドレスが１つだけ登録されている場合には、制御部５３は、キャプチャフローテーブル５７における同一のエントリ（Flow ID） のPeriodを１つインクリメントする。
（ステップＵ２−２）：エントリが存在しかつ端末情報が複数の場合
また、上記判定の結果、端末対応テーブル５６にエントリが存在するが、その端末情報に２つ以上のローカルＩＰアドレスの端末が登録されている場合には、制御部５３は、キャプチャフローテーブル５７の同一のエントリ（Flow ID）のPeriodを１つインクリメントした上で、処理をステップＵ３に移行する。
【００９２】
（ステップＵ２−３）：エントリが存在しない場合
上記判定の結果、端末対応テーブル５６にエントリが存在しない場合には、制御部５３は次の処理ａ）〜ｃ）を行う。
ａ）  捕捉した第１パケットＰ１のアドレス情報及びポート情報（「srcIP」、「srcPort」、「destIp」、「destPort」の値）にて、端末対応テーブル５６のエントリを追加する。
【００９３】
ｂ）  この際、端末情報には、候補となるすべての通信端末４のローカルＩＰアドレス（例えば、パケット捕捉装置５が、ＬＡＮ側に定期的に送信する制御パケット（ＡＲＰやＰＩＮＧなど）により検出される候補端末）を入れる。
ｃ）  制御部５３は、キャプチャフローテーブル５７にもエントリ（Flow ID）を追加した上で、処理をステップＵ３に移行する。
【００９４】
（ステップＵ３）
制御部５３は、現在時刻が当該「Period」の終了時刻を経過しているか否かを判定する。
この判定の結果、終了している場合は処理をステップＵ４に移行し、終了していない場合は上記ステップＵ１〜ステップＵ２−３の処理を繰り返す。
【００９５】
（ステップＵ４）
制御部５３は、ＬＡＮ側の通信端末４にデータ要求のための制御パケットを送信し、通信端末４が計測したパケットフローのデータ（端末統計データ）を取得する。
制御部５３は、取得できた通信端末４について、図７（ｃ）の端末フローテーブル５８を作成する。
【００９６】
（ステップＵ５）
制御部５３は、次のステップＵ５−１〜ステップＵ５−３よりなる「フロー同定処理」を行う。
（ステップＵ５−１）
上記フロー同定処理では、制御部５３は、端末対応テーブル５６において、端末情報として登録されているすべてのローカルＩＰアドレスを候補とする。
【００９７】
（ステップＵ５−２）
また、フロー同定処理では、制御部５３は、端末情報として複数のローカルＩＰアドレスの端末が登録されているエントリ（Flow ID）のフロー（これを、「未同定フロー(i)」とする。）が、実際にはどの端末(j)に属するか否かを判定する。
この判定は、例えば次のようにして行う。すなわち、ある「Period」を基準として、端末(j)に属するすべての同定済みフローのキャプチャフローテーブル５７におけるパケット数と、未同定フロー(i)のパケット数との合計値を算出する。
【００９８】
算出した合計値が、端末(j)の端末フローテーブル５８におけるパケット数よりも大きい場合には、未同定フロー(i)が端末(j)に属さないと判定し、端末(j)を未同定フロー(i)の端末候補から外す。
【００９９】
（ステップＵ５−３）
上記の判定を候補が１つだけ残るまで繰り返し、残った端末(j)を未同定フロー(i)に対応づける。
（ステップＵ６）
同定が完了したフローの、src とdestをスワップしたフロー（この場合は、下りフローとなる。）を同じ端末として同定し、端末対応テーブル５６を更新する。
【０１００】
（ステップＵ７）：エントリの削除
第２の変形例の場合も、制御部５３は、端末対応テーブル５６の「Timestamp」の値を定期的にスキャンし、現在時刻と「Timestamp」の値を比較する。
そして、制御部５３は、一定時間以上経過しているエントリ、すなわち、現在時刻と「Timestamp」の値の差が所定値以上であるか否かを判定し、この判定結果が肯定的となる古いエントリを端末対応テーブル５６から削除する。
【０１０１】
図８及び図９は、上記フロー同定処理の具体例を示す説明図である。
図８において、（ａ）は特定のピリオド（例えば、Period 1）での実際のフロー状況の一例を示す図であり、（ｂ）は当該状況における捕捉統計データと端末統計データの内容を示す表であり、（ｃ）は当該状況におけるフロー同定処理の内容を示す図である。
また、図９において、（ａ）は別のピリオド（例えば、Period 2）での実際のフロー状況の一例を示す図であり、（ｂ）は当該状況における捕捉統計データと端末統計データの内容を示す表であり、（ｃ）は当該状況におけるフロー同定処理の内容を示す図である。
【０１０２】
ここで、図８（ａ）に示すフロー状況（以下、「第１状況」とする。）では、ルータ３の配下の２つの端末Ａ，Ｂのうち、端末Ａのみが、特定のピリオドにおいて上り方向のパケットを送信したものとし、図９（ａ）に示すフロー状況（以下、「第２状況」とする。）では、別のピリオドにおいて端末Ａ，Ｂの双方が上り方向のパケットを送信したものとする。
なお、図８及び図９では、Flow ID＝１のパケットを「Flow 1」、Flow ID＝2のパケットを「Flow 2」と記載している。
【０１０３】
図８（ａ）の第１状況では、特定のピリオドに、端末ＡのみがFlow 1（パケット数＝１０）の送信を開始している。このため、図８（ｂ）の捕捉統計データとして、端末情報がＡ，Ｂのいずれにも定まらない、パケット数が「１０」である未同定のFlow 1のエントリが存在している。
また、この場合、図８（ｂ）の端末統計データとしては、端末Ａのパケット数が「１０」でかつ端末Ｂのパケット数が「０」となる。
【０１０４】
そこで、図８（ｃ）に示すように、制御部５３は、端末Ａ及び端末Ｂの同定済みの捕捉統計データの値をいずれも「０」とし、端末Ａ及び端末Ｂの未同定の捕捉統計データの値をいずれも「１０」として、端末Ａ，Ｂのそれぞれについて、同定済みの捕捉統計データと未同定の捕捉統計データの合計値を、端末統計データの値と対比する。
そして、制御部５３は、その合計値が端末統計データの値よりも大きい端末を、未同定であるFlow 1の候補から外す処理を行うことにより、端末Ａ，ＢのいずれがFlow 1に属するかを判定する。
【０１０５】
図８（ｃ）の例では、端末Ａの場合には、同定済みの捕捉統計データ＝０でかつ未同定の捕捉統計データ＝１０であるから、その合計値＝１０となるが、端末Ａの端末統計データ＝１０であるから、端末ＡはFlow 1に対応する候補として残される。
これに対して、端末Ｂの場合には、同定済みの捕捉統計データ＝０でかつ未同定の捕捉統計データ＝１０であるから、その合計値＝１０となるが、端末Ｂの端末統計データ＝０であるから、端末ＢはFlow 1に対応する候補から外される。
【０１０６】
なお、図８の例では、ルータ３の配下に２つの端末Ａ，Ｂがある単純な場合を想定したが、端末Ａのみが上り送信するピリオドであれば、ルータ３の配下に３つ以上の通信端末がある場合にも、同様にFlow 1を端末Ａと対応付けることができる。
すなわち、当該ピリオドにおいて、端末Ａのみが上り送信していた場合には、それ以外の端末の端末統計データはすべて「０」になり、端末統計データの値が必ず同定済み及び未同定の捕捉統計データの合計値よりも小さくなるので、その他の端末はFlow 1に対応する候補から外されることになる。
【０１０７】
従って、同定済みの捕捉統計データと未同定の捕捉統計データの合計値が、端末統計データよりも大きくなる端末を、Flow 1に対応する候補から外す処理を、候補が１つだけ残るまで繰り返すことにより、Flow 1を端末Ａと対応付けることができる。
【０１０８】
一方、図９（ａ）の第２状況では、図８（ｃ）のフロー同定処理によってFlow 1が端末Ａと対応することが判明しているものとする。
また、この第２状況では、第１状況とは別のピリオドに、端末ＡがFlow 1（パケット数＝２０）を送信しており、端末ＢがFlow 2（パケット数＝１０）の送信を開始している。このため、図９（ｂ）の捕捉統計データとして、端末情報がＡに定まっている、パケット数が「２０」である同定済みのFlow 1のエントリと、端末情報がＡ，Ｂのいずれにも定まらない、パケット数が「１０」である未同定のFlow 2のエントリが存在している。
また、この場合、図９（ｂ）の端末統計データでは、端末Ａのパケット数が「２０」でかつ端末Ｂのパケット数が「１０」となる。
【０１０９】
そこで、図９（ｃ）に示すように、制御部５３は、端末Ａの同定済みの捕捉統計データの値を「２０」とし、端末Ａの未同定の捕捉統計データの値を「１０」とし、端末Ｂの同定済みの捕捉統計データの値を「０」とし、端末Ｂの未同定の捕捉統計データの値を「１０」として、端末Ａ，Ｂのそれぞれについて、同定済みの捕捉統計データと未同定の捕捉統計データの合計値を、端末統計データの値と対比する。
そして、制御部５３は、その合計値が端末統計データよりも大きい端末を、未同定であるFlow 2の候補から外す処理を行うことにより、端末Ａ，ＢのいずれがFlow 2に属するかを判定する。
【０１１０】
図９（ｃ）の例では、端末Ａの場合には、同定済みの捕捉統計データ＝２０でかつ未同定の捕捉統計データ＝１０であるから、その合計値＝３０となるが、端末Ａの端末統計データ＝２０であるから、端末ＡはFlow 2に対応する候補から外される。
これに対して、端末Ｂの場合には、同定済みの捕捉統計データ＝０でかつ未同定の捕捉統計データ＝１０であるから、その合計値＝１０となるが、端末Ｂの端末統計データ＝１０であるから、端末ＢはFlow 2に対応する候補として残される。
【０１１１】
なお、図９の例においても、ルータ３の配下に２つの端末Ａ，Ｂがある単純な場合を想定したが、端末Ｂのみが上り送信するピリオドであれば、ルータ３の配下に３つ以上の通信端末がある場合にも、同様にFlow 2を端末Ｂと対応付けることができる。
すなわち、当該ピリオドにおいて、端末Ｂのみが上り送信していた場合には、それ以外の端末の端末統計データは、必ず、同定済み及び未同定の捕捉統計データの合計値よりも小さくなるので、その他の端末はFlow 2に対応する候補から外されることになる。
【０１１２】
このように、ある特定のピリオドにおいて、ルータ３の配下にあるいずれか１つの通信端末４がルータ３を越えるパケットを送信した場合には、それ以外の通信端末４の端末統計データは、同定済み及び未同定の捕捉統計データの合計値よりも小さくなる。
従って、特定の通信端末４に属するすべての同定済みの捕捉統計データと未同定の捕捉統計データとの合計値が、特定の通信端末４についての端末統計データよりも大きい場合に、当該特定の通信端末４を未同定の捕捉統計データの端末候補から外す処理を、その端末候補が１つだけ残るまで継続する「フロー同定処理」を行うことにより、未同定のフロー（捕捉統計データ）を１つの通信端末と対応付けることができる。
【０１１３】
なお、上記第２の変形例では、第１パケットＰ１の「トラフィック情報」を表す量として当該パケットの「パケット数」を採用しているが、このパケット数の代わりにパケット長を用いることにしてもよい。
【０１１４】
〔その他の変形例〕
上述の実施形態では、パケット捕捉装置５の制御部５３が「パケット解析処理」を行っているが、この処理を他の通信端末４で行うようにしてもよい。
この場合には、捕捉装置５では第１パケットＰ１の捕捉だけを行い、捕捉したパケットを、パケット解析処理を実行する所定の通信端末４に向けてリダイレクトするようにすればよい。
【０１１５】
また、上述の実施形態では、図１に示すように、パケット捕捉装置５をイーサネットケーブルで構内ネットワークＬＡＮ２と有線接続しているが、パケット捕捉装置５のＬＡＮ側の第２インタフェース部５５を無線ＬＡＮ対応のインタフェースで構成し、パケット捕捉装置５と構内ネットワークとの通信を無線で行うようにしてもよい。
【０１１６】
今回開示した実施形態（上述の各変形例を含む。）はすべての点で例示であって制限的なものではない。本発明の権利範囲は、上述の実施形態ではなく、特許請求の範囲と均等の範囲内でのすべての変更が含まれる。
【符号の説明】
【０１１７】
３      ルータ
４      通信端末
５      パケット捕捉装置
５Ａ    ＷＡＮポート
５Ｂ    ＬＡＮポート
５１      第１インタフェース部
５２      捕捉部
５３      制御部（端末特定部、パケット解析部）
５４      通信制御部
５５      第２インタフェース部
５６      端末対応テーブル
５７      記憶部
【図１】
2012249138.tif 000003
【図２】
2012249138.tif 000004
【図３】
2012249138.tif 000005
【図４】
2012249138.tif 000006
【図５】
2012249138.tif 000007
【図６】
2012249138.tif 000008
【図７】
2012249138.tif 000009
【図８】
2012249138.tif 000010
【図９】
2012249138.tif 000011
【図１０】
2012249138.tif 000012