"ネットワークを流れるパケットを捕捉するパケット捕捉装置であって、グローバルアドレスが割り当てられないWANポートと、ローカルアドレスを割り当て可能なLANポートと、WAN側とLAN側との間でルータを越えて送受信される前記パケットである第1パケットを前記WANポートから捕捉する捕捉部と、前記ルータを越えない前記パケットである第2パケットを前記LANポートから送受信する通信制御部と、を備えていることを特徴とするパケット捕捉装置。捕捉された前記第1パケットを用いて次のa又はb若しくはこれらの双方の解析を行うパケット解析部を更に備えている請求項1に記載のパケット捕捉装置。a第1パケットの内容から通信エラーの発生を分析するミクロ解析b同種の複数の第1パケットの履歴からトラフィック状況又はシーケンスエラーを分析するフロー解析パケット通信を行う複数の通信端末が前記ルータのLAN側に含まれる場合に、前記第1パケットと前記通信端末との対応付けを行う端末特定部を、更に備えている請求項1又は2に記載のパケット捕捉装置。前記通信制御部は、前記第1パケットの中継時に前記ルータが行うアドレス変換に用いる変換テーブルを前記ルータから取得可能であり、前記端末特定部は、前記第1パケットに記されたアドレス情報及びポート情報と、取得された前記変換テーブルのアドレス情報及びポート情報とに基づいて、前記対応付けを行う請求項3に記載のパケット捕捉装置。前記端末特定部は、エントリごとの定義項目として、前記通信端末のローカル識別情報と、これに対応付けた前記第1パケットのアドレス情報及びポート情報とを含む端末対応テーブルを生成し、捕捉された前記第1パケットのアドレス情報及びポート情報と一致する前記エントリを前記端末対応テーブルの中からサーチすることにより、前記第1パケットに対応する前記通信端末を特定する請求項4に記載のパケット捕捉装置。前記捕捉部は、前記アドレス変換によって変換されない前記通信端末の固有識別情報を含む前記第1パケットを捕捉可能であり、前記端末特定部は、前記第1パケットに記された前記固有識別情報に基づいて、前記対応付けを行う請求項3に記載のパケット捕捉装置。前記端末特定部は、エントリごとの定義項目として、前記通信端末のローカル識別情報及び前記固有識別情報と、これに対応付けた前記第1パケットのアドレス情報及びポート情報とを含む端末対応テーブルを生成し、捕捉された前記第1パケットのアドレス情報及びポート情報と一致する前記エントリを前記端末対応テーブルの中からサーチすることにより、前記第1パケットに対応する前記通信端末を特定する請求項6に記載のパケット捕捉装置。前記端末特定部は、前記第1パケットに記されたポート情報に基づいて、当該第1パケットに対応付けた前記通信端末が使用する通信アプリケーションを特定する請求項6又は7に記載のパケット捕捉装置。前記通信制御部は、前記通信端末が送受信した所定時間ごとの前記第1パケットのトラフィック情報である端末統計データを当該通信端末からそれぞれ取得可能であり、前記端末特定部は、前記捕捉部で捕捉された前記第1パケットの所定時間ごとのトラフィック情報である捕捉統計データと、取得された前記端末統計データとに基づいて、前記対応付けを行う請求項3に記載のパケット捕捉装置。前記端末特定部は、特定の前記通信端末に属するすべての同定済みの前記捕捉統計データと未同定の前記捕捉統計データとの合計値が、特定の前記通信端末についての前記端末統計データよりも大きい場合に、当該特定の前記通信端末を未同定の前記捕捉統計データの端末候補から外す処理を、その端末候補が1つだけ残るまで継続するフロー同定処理を行う請求項9に記載のパケット捕捉装置。前記端末特定部は、エントリごとの定義項目として、前記通信端末のローカル識別情報と、これに対応付けた前記第1パケットのアドレス情報及びポート情報とを含む端末対応テーブルを生成し、捕捉された前記第1パケットのアドレス情報及びポート情報と一致する前記エントリを前記端末対応テーブルの中からサーチすることにより、前記第1パケットに対応する前記通信端末を特定する請求項9又は10に記載のパケット捕捉装置。前記第1パケットのアドレス情報及びポート情報が一致する複数の未同定の前記エントリが存在する場合には、前記端末特定部は、前記フロー同定処理を行って未同定の前記エントリがどの前記通信端末に属するかを判定する請求項11に記載のパケット捕捉装置。前記端末特定テーブルには、前記エントリごとの定義項目として、前記第1パケットの受信時刻が記されるタイムスタンプが更に含まれており、前記端末特定部は、現在時刻と前記タイムスタンプの値との差が所定値以上である前記エントリを前記端末対応テーブルから削除する請求項5,7又は11に記載のパケット捕捉装置。グローバルアドレスが割り当てられないWANポートと、ローカルアドレスを割り当て可能なLANポートとを備えたパケット通信が可能なコンピュータを、ネットワークを流れるパケットの捕捉装置として機能させるコンピュータプログラムであって、WAN側とLAN側との間でルータを越えて送受信される前記パケットである第1パケットを前記WANポートから捕捉するステップと、前記ルータを越えない前記パケットである第2パケットを前記LANポートから送受信するステップと、を含むことを特徴とするコンピュータプログラム。図10は、上記のようなパケットキャプチャ機能を有する通信端末以下、パケット捕捉装置という。のネットワークに対する接続位置のバリエーションを示す図である。なお、図10において、ONUOpticalNetworkUnitは宅側の光回線終端装置であり、OLTOpticalLineTerminalは通信事業者側の光回線終端装置であり、ルータは宅側に設置された例えばブロードバンドルータよりなる。図10aの接続例1は、パケット捕捉装置をルータのLAN側に接続した例であり、図10bの接続例2は、タップやリピータハブ等を介してパケット捕捉装置をルータのWAN側ONUとルータの間に接続した例である。また、図10cの接続例3は、パケット捕捉装置を通信事業者側のOLTに接続した例である。上記バリエーションのうち、接続例1の場合には、WAN側からLAN側又はその逆にルータを通過するパケット以下、ルータ越えパケットということがある。については、ルータでスイッチされるためにパケット捕捉装置には届かない。このため、接続例1のパケット捕捉装置では、パケット捕捉装置を宅側に設けているにも拘わらず、宅側のルータ配下の通信端末が送受信するルータ越えパケットを捕捉できないという欠点がある。これに対して、接続例2の場合には、パケット捕捉装置がルータのWAN側に接続されているため、宅側のルータ配下の通信端末が送受信するルータ越えパケットを捕捉することができる。しかし、例えば、宅側のルータ配下の通信端末の接続確認を行うために、所定の要求パケット例えば、pingコマンドのICMPパケットをパケット捕捉装置から送信する場合には、当該捕捉装置にもグローバルIPアドレスを割り当てる必要がある。このため、グローバルIPアドレスの取得に伴うコストが通信サービスの料金に還元され、一般ユーザーにとってより高価な通信サービスになるという欠点がある。また、グローバルIPアドレスは有限の資源であり、1つのサービスプロバイダが管理するグローバルIPアドレスの数にも限りがあるため、パケット捕捉装置を設置するごとにグローバルIPアドレスの付与が必要となるのでは、当該プロバイダによる通信サービスの提供範囲が縮小するという欠点もある。また、接続例3では、パケット捕捉装置が通信事業者のOLTに接続されているため、ルータ配下の通信端末からのパケットを受信できるが、パケット捕捉装置が送信したパケットはルータのファイアウォールにブロックされる。このため、接続例3のパケット捕捉装置では、所定の要求パケットをルータ配下の通信端末に送信できないので、その接続確認を行うことができない。本発明は、かかる従来の問題点に鑑み、ルータ越えのパケットの捕捉と、ルータの配下にある通信端末の接続確認とを行えるとともに、通信サービスの料金の高騰化やその提供範囲の縮小化を抑制できるパケット捕捉装置を提供することを目的とする。1本発明のパケット捕捉装置は、ネットワークを流れるパケットを捕捉するパケット捕捉装置であって、グローバルアドレスが割り当てられないWANポートと、ローカルアドレスを割り当て可能なLANポートと、WAN側とLAN側との間でルータを越えて送受信される前記パケットである第1パケットを前記WANポートから捕捉する捕捉部と、前記ルータを越えない前記パケットである第2パケットを前記LANポートから送受信する通信制御部と、を備えていることを特徴とする。本発明のパケット捕捉装置によれば、WAN側とLAN側との間でルータを越えて送受信されるパケットである第1パケットをWANポートから捕捉し、ルータを越えないパケットである第2パケットをLANポートから送受信するので、ルータ越えのパケットの捕捉と、ルータの配下の通信端末の接続確認とを1つのパケット捕捉装置にて行うことができる。また、本発明のパケット捕捉装置によれば、第1パケットの捕捉ポイントであるWANポートにグローバルアドレスが割り当てられないので、パケット捕捉装置の設置に伴うアドレス取得によって通信サービスの料金が高騰化したり、通信サービスの提供範囲が縮小化したりするのを抑制することができる。なお、ルータの配下の通信端末に対する接続確認は、セッション確立用のパケット例えば、pingコマンドのICMPパケットをLANポートから送信し、その返信があるか否かによって行うことができる。2本発明のパケット捕捉装置において、捕捉された前記第1パケットを用いて次のa又はb若しくはこれらの双方の解析を行うパケット解析部を更に設けることが好ましい。a第1パケットの内容から通信エラーの発生を分析するミクロ解析b同種の複数の第1パケットの履歴からトラフィック状況又はシーケンスエラーを分析するフロー解析かかるパケット解析部を設けるようにすれば、第1パケットについて生じるネットワーク障害の原因の分析を当該パケット捕捉装置にて行うことができる。3ところで、パケット通信に用いるルータでは、通常、NATNetworkAddressTranslation等のアドレス変換機能が実装されている。例えば、NATは、TCPやUDPのポート番号を動的に変換することで、1つのグローバルIPアドレスで複数の通信端末の同時に接続を可能にする技術である。従って、ルータを越える第1パケットは、通常、NAT等によってアドレスの変換が行われるため、WAN側から見た場合にどの通信端末と接続中であるかを認識できない。そこで、本発明のパケット捕捉装置において、パケット通信を行う複数の通信端末が前記ルータのLAN側に含まれる場合に、前記第1パケットと前記通信端末との対応付けを行う端末特定部を、更に備えていることが好ましい。4具体的には、前記通信制御部が、前記第1パケットの中継時に前記ルータが行うアドレス変換に用いる変換テーブルを前記ルータから取得可能である場合には、前記端末特定部は、前記第1パケットに記されたアドレス情報及びポート情報と、取得された前記変換テーブルのアドレス情報及びポート情報とに基づいて、前記対応付けを行うようにすればよい。この場合、変換テーブルをルータから取得するために、管理者権限でルータにログインする必要があるが、すべての種類のパケットに対応できる利点がある。5更に具体的には、前記端末特定部は、エントリごとの定義項目として、前記通信端末のローカル識別情報例えば、ローカルアドレスと、これに対応付けた前記第1パケットのアドレス情報及びポート情報とを含む端末対応テーブルを生成することが好ましい。この場合、捕捉された前記第1パケットのアドレス情報及びポート情報と一致する前記エントリを前記端末対応テーブルの中からサーチすることにより、前記第1パケットに対応する前記通信端末を特定することができる。6本発明のパケット捕捉装置において、前記捕捉部が、前記アドレス変換によって変換されない前記通信端末の固有識別情報を含む前記第1パケットを捕捉可能である場合には、前記端末特定部は、前記第1パケットに記された前記固有識別情報に基づいて、前記対応付けを行うことができる。この場合、固有識別情報を設定した通信端末しか対応付けを行えないが、変換テーブルをルータから取得する必要がないので、ルータにログインできない場合でも対応付けを行うことができる。なお、ルータでのアドレス変換によって変換されない通信端末の固有識別情報の設定方法としては、例えば、HTTPパケットのリクエストパケットに埋め込まれている、HTTPのヘッダ情報の一部を構成するユーザエージェントに、所定の通信端末固有の文字列を設定することが考えられる。7上記固有識別情報を利用した対応付けを行う場合には、前記端末特定部は、エントリごとの定義項目として、前記通信端末のローカル識別情報及び前記固有識別情報と、これに対応付けた前記第1パケットのアドレス情報及びポート情報とを含む端末対応テーブルを生成することが好ましい。この場合、捕捉された前記第1パケットのアドレス情報及びポート情報と一致する前記エントリを前記端末対応テーブルの中からサーチすることにより、前記第1パケットに対応する前記通信端末を特定することができる。8また、この場合、前記端末特定部は、前記第1パケットに記されたポート情報に基づいて、当該第1パケットに対応付けた前記通信端末が使用する通信アプリケーションを特定することにしてもよい。9本発明のパケット捕捉装置において、前記通信制御部が、前記通信端末が送受信した所定時間ごとの前記第1パケットのトラフィック情報である端末統計データを当該通信端末からそれぞれ取得可能である場合には、前記端末特定部は、前記捕捉部で捕捉された前記第1パケットの所定時間ごとのトラフィック情報である捕捉統計データと、取得された前記端末統計データとに基づいて、前記対応付けを行うこともできる。この場合、各通信端末からトラフィック情報の計測値端末統計データを取得する必要があるが、変換テーブルをルータから取得する必要がないので、ルータにログインできない場合でも対応付けを行うことができる。なお、上記トラフィック情報としては、例えば、パケット数や、ヘッダ情報から特定されるパケット長などがある。10ここで、所定時間内において、ルータの配下にあるいずれか1つの通信端末がルータを越えるパケットを送信した場合には、それ以外の通信端末の端末統計データは、同定済み及び未同定の捕捉統計データの合計値よりも小さくなる。従って、上記捕捉統計データ及び端末統計データを用いた対応付けは、より具体的には、次のフロー同定処理によって行うことができる。すなわち、前記端末特定部は、特定の前記通信端末に属するすべての同定済みの前記捕捉統計データと未同定の前記捕捉統計データとの合計値が、特定の前記通信端末についての前記端末統計データよりも大きい場合に、当該特定の前記通信端末を未同定の前記捕捉統計データの端末候補から外す処理を、その端末候補が1つだけ残るまで継続するフロー同定処理を行うことにより、未同定の捕捉統計データ第1パケットを1つの通信端末と対応付けることができる。11それらの統計データを用いた対応付けを行う場合にも、前記端末特定部は、エントリごとの定義項目として、前記通信端末のローカル識別情報例えば、ローカルアドレスと、これに対応付けた前記第1パケットのアドレス情報及びポート情報とを含む端末対応テーブルを生成することが好ましい。この場合、捕捉された前記第1パケットのアドレス情報及びポート情報と一致する前記エントリを前記端末対応テーブルの中からサーチすることにより、前記第1パケットに対応する前記通信端末を特定することができる。12また、前記端末対応テーブルにおいて、前記第1パケットのアドレス情報及びポート情報が一致する複数の未同定の前記エントリが存在する場合には、前記端末特定部は、前記フロー同定処理を行って未同定の前記エントリがどの前記通信端末に属するかを判定すればよい。13本発明のパケット捕捉装置において、前記端末対応テーブルに、前記エントリの定義項目として、前記第1パケットの受信時刻が記されるタイムスタンプが更に含まれている場合には、前記端末特定部は、現在時刻と前記タイムスタンプの値との差が所定値以上である前記エントリを前記端末対応テーブルから削除することが好ましい。その理由は、ルータが行うアドレス変換ではポート情報が動的に変更され、いったん特定した通信端末と第1パケットとの対応づけが何時までも通用するものではないので、所定時間が経過した古い対応付けのエントリを使用すべきではないからである。14本発明のコンピュータプログラムは、グローバルアドレスが割り当てられないWANポートと、ローカルアドレスを割り当て可能なLANポートとを備えたパケット通信が可能なコンピュータを、ネットワークを流れるパケットの捕捉装置として機能させるコンピュータプログラムであって、WAN側とLAN側との間でルータを越えて送受信される前記パケットである第1パケットを前記WANポートから捕捉するステップと、前記ルータを越えない前記パケットである第2パケットを前記LANポートから送受信するステップと、を含むことを特徴とする。上記の通り、本発明のコンピュータプログラムは、本発明のパケット捕捉装置と実質同一の発明であり、当該装置と同じ作用効果を奏する。なお、本発明のコンピュータプログラムにおいて、上述の2~13に記述した各処理を含めることにしてもよい。以上の通り、本発明によれば、ルータ越えのパケットの捕捉をグローバルアドレスが割り当てられないWANポートから行い、パケットの送受信をローカルアドレスの割り当てが可能なLANポートから行うので、ルータ越えのパケットの捕捉と、ルータの配下にある通信端末の接続確認とを行えるとともに、グローバルアドレスの取得によって通信サービスの料金が高騰化したり、通信サービスの提供範囲が縮小化したりするのを抑制することができる。以下、図面を参照しつつ、本発明の実施形態を説明する。システムの全体構成図1は、本発明のパケット捕捉装置5を適用した通信システムの全体構成図である。図1に示すように、この通信システムは、通信事業者側の光回線終端装置であるOLT1、宅側の光回線終端装置であるONU2、ブロードバンドルータ等の中継装置よりなるルータ3、例えばIPInternetProtocolに基づくパケット通信が可能な複数の通信端末4、及び、パケット捕捉装置5などを備えている。OLT1とONU2は光カプラを介して光ファイバによって接続されており、OLT1は広域ネットワーク6と接続されている。本実施形態の広域ネットワーク6はインターネットである。なお、図1のシステム構成例では、FTTHを想定してONU2よりなる回線終端装置を例示しているが、その他の回線終端装置として、ADSLモデムやCATVモデムを採用することもできる。ONU2とルータ3とは、イーサネットケーブル注記:イーサネットは登録商標である。7などの通信回線を介して互いに接続されている。また、このケーブル7の途中には、タップ又はリピータハブ等よりなるハブ8が設けられている。このハブ8は、ONU2とルータ3との間で送受信されるイーサネットケーブル7を流れるすべてのIPパケットを、パケット捕捉装置5が接続されたポートにそのまま流す機能を有する。ルータ3は、IPパケットのルーティング機能を有する中継装置であり、1つのWANポート3Aと1又は複数のLANポート3Bとを有する。なお、図例では、ルータ3にLANポート3Bが2つ設けられているが、その数は2つに限定されない。ルータ3のLANポート3Bには、イーサネットケーブル9などの通信回線を介して各種の通信端末4が接続されている。この通信端末4は、例えば、IP通信が可能なパーソナルコンピュータPC、サーバコンピュータ或いはテレビなどの家電製品よりなる。図1に示すLAN1は、ルータ3の一方のLANポート3Bに接続された構内ネットワークであり、LAN2は、ルータ3の他方のLANポート3Bに接続された構内ネットワークである。これらの構内ネットワークLAN1,LAN2は、1又は複数のスイッチングハブ10を用いて多段接続することによって構成されており、当該ネットワークの終端部分に通信端末4を有する。本実施形態のパケット捕捉装置以下、単に捕捉装置ということがある。5は、ONU2とルータ3の間を流れる、WAN側とLAN側との間で送受信されるルータ越えのパケット具体的には、IPパケットを捕捉するための装置であり、1つのWANポート5Aと1つのLANポート5Bとを有する。また、図1の例では、捕捉装置5のWANポート5Aは、ハブ8のキャプチャ用ポートに接続されており、捕捉装置5のLANポート5Bは、LAN2に含まれるスイッチングハブ10に接続されている。なお、以下において、ONU2とルータ3の間を流れる通信パケットP1を第1パケットといい、捕捉装置5のLANポート5Bから送受信される通信パケットP2を第2パケットという。また、パケットは、レイヤ3の通信で使われるPDUの呼び名として用いる場合もあるが、本明細書では、コンピュータ間の通信に使用するデータを送る単位の意味従って、PDUと同じ。でも使用している。更に、本明細書において、LAN側からWAN側に流れるパケットを上りパケットといい、WAN側からLAN側に流れるパケットを下りパケットという。ルータの基本的機能本実施形態のルータ3は、インターネット6との常時接続を可能とするため、IPパケットの中継機能の他に、IPパケットの動的フィルタリング機能、NAT機能、DHCP機能、PPPoE機能、ARP機能などを備えている。このうち、動的フィルタリングは、TCPやUDPのセッションをルータ3が管理し、ルータ3内部LAN側のクライアントがインターネットのWebサーバにアクセスしているときに、そのWebサーバからの応答パケットだけを通過させるように制御する機能である。また、WAN側からACK信号付きのIPパケットを受信すると、これに対応するデータがLAN側から送信されたかどうかセッションログから確認し、WAN側から送信されたIPパケットとセッションログが矛盾する場合にはパケットを遮断して、LAN内部の端末を不正アクセスから保護するステートフルインスペクションが行われる。NATは、1つのグローバルIPアドレスを複数の端末で共有するため、構内でのみ通用するローカルIPアドレスと、インターネット上のグローバルIPアドレスを透過的に相互変換するアドレス変換方式である。NATは、TCP又はUDPのポート番号も動的に変換することで、1つのグローバルIPアドレスで複数のマシンからの同時接続を可能とする。ポート番号の変換が行われるため、WAN側からLAN内部のマシンに接続を開始することはできない。もっとも、pingのICMPパケットの場合は、queryIDを変換することでNATを通過する。PPPoEは、イーサネットを通してPPP機能を利用するためのプロトコルである。通常のPPPと異なり、ネットワークカードNICの持つ固有のMACアドレスによって双方のコンピュータを識別し、その間に仮想回線を展開する。PPPoEを利用すると、LAN上からもユーザー認証やIPアドレスの割り当てなどが可能になるので、これを利用すれば、ADSLやCATV、光ファイバなどによる常時接続サービスにおいて、接続するプロバイダを簡単に切り替えられる。TCP/IPネットワークでイーサネットフレームを送信するには、宛先のMACアドレスを指定する必要がある。ARPは、MACアドレスを宛先のIPアドレスから求めるためのプロトコルである。宛先のMACアドレスが分からない場合、送信元はIPアドレスのMACアドレスを問い合わせるARPリクエストをブロードキャストで送信する。このリクエストに対して、指定されたIPアドレスを持っているマシンがMACアドレスを通知するARPリプライを返す。これにより、送信元は入手したMACアドレスを宛先として、イーサネットフレームを作成する。ルータの内部構成図2は、ルータ3の内部構成を示すブロック図である。図2に示すように、ルータ3は、WAN側からLAN側に向かって順に、第1インタフェース部31、第1通信制御部32、中継処理部33、第2通信制御部34、第2インタフェース部35及びNATテーブル変換テーブル36を備えている。第1インタフェース部31は、前記WANポート3Aを有するイーサネット仕様の接続インタフェースであり、第1通信制御部32は、第1インタフェース部31におけるパケットの送受信を制御する。第1通信制御32は、宛先IPアドレスがLAN側の端末であるパケットについては、それを中継処理部33に渡す。第2インタフェース部35は、前記LANポート3Bを有するイーサネット仕様の接続インタフェースであり、第2通信制御部35は、第2インタフェース部35におけるパケットの送受信を制御する。第2通信制御部34は、宛先IPアドレスがWAN側の端末であるパケットについては、それを中継処理部33に渡す。中継処理部33は、一方の通信制御部32又は34からパケットを受けると、そのパケットからアドレス情報とポート情報を抽出し、NATテーブル36を参照して、抽出したアドレス情報とポート情報の変換を行う。また、中継処理部33は、変換後のアドレス情報とポート情報を記したパケットを他方の通信制御部34又は32に渡す。図3は、NATテーブル変換テーブルの一例を示す図である。図3に示す各変数の意味は、次の通りである。PrivateIP:LAN側端末のIPアドレスPort1LAN側端末のポート番号PseudoPort:疑似ポート番号PeerIP:WAN側端末のIPアドレスPort2WAN側端末のポート番号srcIP:送信元のIPアドレスsrcPort送信元のポート番号destIP:宛先のIPアドレスdestPort:宛先のポート番号なお、図3において、値が0のポートは閉鎖していることを意味する。また、図3では省略しているが、NATテーブル36には、TCPやUDPなどのプロトコルの種別を示す項目も含まれる。ここで、例えば、図3の上から第2番目のエントリに着目し、このエントリに一致する上りパケットを中継処理部33が受けたとする。この場合、中継処理部33は、宛先のIPアドレスdestIPの値61228126144と宛先のポート番号destPortの値14702はそのままで、かつ、送信元のIPアドレスsrcIPの値をルータ3に設定された値とし、送信元のポート番号srcPortを擬似ポート番号の値50239に置き代えて、WAN側に送出するIPパケットを生成する。逆に、中継処理部33は、宛先と送信元とが入れ替わった下りパケットを受けると、下り方向では宛先に指定されている擬似ポート番号の値50239と一致する、ローカルIPアドレスと真のローカルポート番号を、NATテーブル36から割り出し、そのアドレスとポート番号を宛先として、LAN側に送出するIPパケットを生成する。パケット捕捉装置の内部構成図4は、パケット捕捉装置5の内部構成を示すブロック図である。図4に示すように、本実施形態の捕捉装置5は、第1インタフェース部51、捕捉部52、制御部53、通信制御部54、第2インタフェース部55、端末対応テーブル56、そのテーブル56の格納領域を有する記憶部57を備えている。第1インタフェース部51は、前記WANポート5Aを有する例えばイーサネット仕様の接続インタフェースであり、このWANポート5Aには、グローバルIPアドレスが割り当てられない。従って、捕捉部52は、第1インタフェース部51における通信パケットの受信のみを行い、WANポート5Aに流れ込む第1パケットP1を含むすべての通信パケットを取り込む。捕捉部52は、取り込んだ通信パケットを制御部53に渡す。第2インタフェース部55は、前記LANポート5Bを有する例えばイーサネット仕様の接続インタフェースであり、このLANポート5Bには、所定のローカルIPアドレスを動的又は固定的に割り当て可能である。従って、通信制御部54は、第2インタフェース部55における第2パケットP2を含む通信パケットの送受信を制御する。通信制御部54は、宛先MACアドレスが自装置である通信パケットについては、それを制御部53に渡す。端末対応テーブル図5は、端末対応テーブル56の一例を示す図である。端末対応テーブル56は、後述する端末特定処理に使用するものである。端末対応テーブル56は、エントリごとの定義項目として、LAN側の通信端末4のローカルな識別情報であるローカルIPアドレスを記す端末情報と、この端末情報と対応する第1パケット図5の例では上り方向のアドレス情報及びポート情報である、srcIP、srcPort、destIp及びdestPortとが含まれている。また、各エントリには、第1パケットP1の時刻情報であるTimestampも含まれている。このTimestampは捕捉装置5が第1パケットP1を受信した時刻のことである。制御部53は、記憶部57に格納されたコンピュータプログラムを読み出して実行することによって実現される処理として、端末特定処理、接続確認処理及びパケット解析処理を実行する。以下、これらの処理の内容を説明する。なお、捕捉装置5の制御部53による各処理を実現する所定のコンピュータプログラムは、上記の通り、捕捉装置5の記憶部57にインストールされているが、このコンピュータプログラムは、CD-ROM、DVD-ROMなどの記録媒体に格納して販売又は譲渡することができる。また、このコンピュータプログラムの販売又は譲渡は、サーバコンピュータからネットワーク経由でダウンロードすることによって行こともできる。端末特定処理制御部53による端末特定処理は、ルータ3のLAN側に複数の通信端末4が含まれる場合に、第1パケットP1と通信端末4との対応付けを行う処理である。本実施形態の制御部53は、この端末特定処理を、ルータ3が保持している前記NATテーブル36を参照することによって行う。すなわち、制御部53は、接続要求のための制御パケットをルータ3宛で送信するように通信制御部54に指令を与え、管理者権限でルータ3にログインすることにより、ルータ3が保持しているNATテーブル36を任意に参照可能となっている。従って、この処理の例では、ルータ3の管理者IDとパスワードの情報をパケット捕捉装置5に設定しておく必要がある。このように、ルータ3のNATテーブル36を捕捉装置5から参照可能である場合には、制御部53は、次のステップS1~ステップS4の処理を実行する。なお、以下の記述では、上りパケットの場合を想定しているが、下りパケットの場合には、src側をdest側に読み替え、かつ、dest側をsrc側に読み替えた処理となる。ステップS1まず、制御部53は、捕捉部52が捕捉した通信パケットから上りの第1パケットP1を抽出し、その第1パケットのsrcIP、srcPort、destIp、destPortの値を取り出す。ステップS2次に、制御部53は、記憶部57の端末対応テーブル56図5にアクセスし、srcIP、srcPort、destIp及びdestPortの値アドレス情報とポート情報の値が同じである、第1パケットP1のエントリが存在するか否かを判定する。ステップS3-1:エントリが存在しない場合上記判定の結果、端末対応テーブル56にエントリが存在しない場合は、制御部53は次の処理a~dを行う。aルータ3にアクセスしてNATテーブル36を参照する。bNATテーブル36を参照することで、第1パケットP1がどの通信端末4のものかを特定する。この特定は、例えば、srcPort、destIP及びdestPortの値をキーとしてNATテーブル36をサーチし、PseudoPort、PeerIP及びPort2の値がマッチするエントリのローカルIPアドレスを特定することによって行うことができる。c特定したローカルIPアドレスと、これに対応する第1パケットP1のsrcIP、srcPort、destIp、destPortを、端末対応テーブル56のエントリに登録する。d第1パケットP1の受信時刻でTimestampの値を更新する。ステップS3-2:エントリが存在する場合上記判定の結果、端末対応テーブル56にエントリが存在する場合には、制御部53は次の処理e~fを行う。eエントリに含まれるローカルIPアドレスを、当該第1パケットP1に対応する通信端末4として特定する。f第1パケットP1の受信時刻でTimestampの値を更新する。ステップS4:エントリの削除また、制御部53は、端末対応テーブル56のTimestampの値を定期的にスキャンし、現在時刻とTimestampの値を比較する。そして、制御部53は、一定時間以上経過しているエントリ、すなわち、現在時刻とTimestampの値の差が所定値以上であるか否かを判定し、この判定結果が肯定的となる古いエントリを端末対応テーブル56から削除する。接続確認処理制御部53による接続確認処理は、ルータ3の配下にある各通信端末4がLANに接続されているか否かを確認する処理である。この処理は、例えば、pingコマンドのICMPパケットをLANポート5Bから送信するように通信制御部54に指示することによって行われる。この場合、特定の通信端末4から返信があれば、その通信端末4が正常にLAN1又はLA2に接続されていると判定でき、返信がなければ接続されていないと判定できる。パケット解析処理制御部53によるパケット解析処理には、第1パケットP1の内容から通信エラーの発生を分析するミクロ解析と、同種の複数の第1パケットP1の履歴からトラフィック状況やシーケンスエラーなどを分析するフロー解析とがある。制御部53は、上記ミクロ解析を行う場合、第1パケットP1の制御情報の値等に基づいて、パケットに誤りがあるかどうかを解析する。例えば、TCPパケットのヘッダ情報には、当該パケットが格納しているデータが元のデータのどの部分に当たるかを示す、32ビットの数値で表されたシーケンス番号が含まれている。このシーケンス番号は、コネクションの開始時の初期シーケンス番号とデータの先頭からのバイト数とで決定されるもので、コネクションの初期のシーケンス番号が10000の場合、最初の1バイト目のデータを転送するTCPパケットのシーケンス番号は、10001になり、先頭から1000バイト目のデータを転送するTCPパケットのシーケンス番号は、11000になる。従って、かかるシーケンス番号の連続性をチェックすることにより、ある端末同士の通信が途切れた場合に、その原因がどちらにあるかを解析することができる。一方、制御部53は、上記フロー解析を行う場合、同種の複数の第1パケットP1を所定時間に渡って収集し、そのパケット間の時間間隔をチェックすることにより、ネットワーク機器の接続状態の健全性や、ネットワークの輻輳などを解析する。例えば、マルチキャストで送信されるRTPRealtimeTransportProtocolパケットの場合には、ある時点でパケット間の時間間隔が大幅に遅れたことを検出できれば、サーバからの通信が輻輳していると推定できる。また、例えば、ICMPパケットのエコー要求とそのエコー応答の場合には、ある時点でエコー応答が来なくなったことを検出できれば、その時点において何らかの理由でサーバの通信が切断したと推定できる。制御部53は、上記のようなミクロ解析やフロー解析を行った結果、所定の通信エラーを検出した場合には、そのエラーのログ情報を含む送信パケットを生成し、その送信パケットを、パケット捕捉装置5の制御端末である通信端末4に送信する。パケット捕捉装置の効果以上の通り、本実施形態のパケット捕捉装置5によれば、ルータ3を越えるパケットである第1パケットP1をWANポート5Aから捕捉し、ルータ3を越えないパケットである第2パケットP2をLANポート5Bから送受信するので、ルータ越えのパケットの捕捉と、ルータ3の配下の通信端末4の接続確認とを1つのパケット捕捉装置5を用いて行うことができる。また、本実施形態のパケット捕捉装置5によれば、第1パケットP1の捕捉ポイントであるWANポート5BにグローバルIPアドレスが割り当てられないので、パケット捕捉装置5の設置に伴うアドレス取得の必要がない。このため、通信サービスの料金が高騰化したり、通信サービスの提供範囲が縮小化したりするのを抑制できるという利点もある。更に、本実施形態のパケット捕捉装置5によれば、制御部53が、第1パケットP1と通信端末4との対応付けを行うことができるので、ルータ3のLAN側に複数の通信端末4が含まれていても、宛先又は送信元の通信端末4が明らかなパケットを捕捉することができる。第1の変形例第1の変形例は、制御部53が行う他の端末特定処理に関するものであり、この変形例では、NATによって変換されない通信端末4固有の固有識別情報を利用して端末特定処理を行う。かかる固有識別情報としては、例えば、HTTPヘッダ情報の一部を構成するユーザエージェントがある。このユーザエージェントの情報を通信端末4に設定しておけば、通信端末4は、その情報をHTTPリクエストパケットに埋め込んでインターネット6に送信する。このHTTPのヘッダ情報はNATで変換されないため、第1パケットP1の捕捉ポイントである捕捉装置5のWANポート5Bにおいて捕捉された第1パケットP1から抽出したユーザエージェントの情報とアドレス情報とから、通信端末4の特定が可能となる。図6は、第1の変形例で用いる端末対応テーブル56Aを示す図である。この変形例の端末対応テーブル56Aが上述の実施形態で使用した図5の端末対応テーブル56と異なる点は、ローカルIPアドレスの他に、上記固有識別情報が記されるUserAgentの項目が端末情報に加えられている点にある。以上を前提として、パケット捕捉装置5の制御部53は、次のステップT1~ステップT3の処理を実行する。なお、以下の記述でも、上りパケットの場合を想定しているが、下りパケットの場合には、src側をdest側に読み替え、かつ、dest側をsrc側に読み替えた処理となる。ステップT1まず、制御部53は、捕捉部52が捕捉した通信パケットから上りの第1パケットP1を抽出し、その第1パケットのsrcIP、srcPort、destIp、destPortの値を取り出す。ステップT2次に、制御部53は、端末対応テーブル56A図6にアクセスし、srcIP、srcPort、destIp、destPortの値が同じである、第1パケットP1のエントリが端末対応テーブル56Aに存在するか否かを判定する。ステップT2-1:エントリが存在しない場合上記判定の結果、端末対応テーブル56Aにエントリが存在しない場合は、制御部53は次の処理a~bを行う。a第1パケットP1がHTTPリクエストパケットの場合は、そのパケットからユーザエージェントの情報を取得し、端末対応テーブル56Aにエントリを追加する。b第1パケットP1がHTTPリクエストパケットでない場合は、そのパケットを不明Unknownなパケットに分類する。ステップT2-2:エントリが存在する場合上記判定の結果、端末対応テーブル56Aにエントリが存在する場合には、制御部53は次の処理c~dを行う。cエントリに含まれるローカルIPアドレスを、当該第1パケットに対応する通信端末4として特定する。d第1パケットP1の受信時刻でTimestampの値を更新する。なお、第1の変形例において、制御部53は、第1パケットP1のポート情報具体的には、srcPortやdestPortの値に基づいて、当該第1パケットP1に対応付けた通信端末4が使用する通信アプリケーションを特定することも可能である。このように、第1パケットP1のポート情報を利用すれば、端末特定処理にて特定された通信端末4が如何なるフローすなわち、通信アプリケーションを使用中かが判明するので、フローごとのネットワーク異常の検出に役立てることができる。ステップT3:エントリの削除第1の変形例の場合も、制御部53は、端末対応テーブル56AのTimestampの値を定期的にスキャンし、現在時刻とTimestampの値を比較する。そして、制御部53は、一定時間以上経過しているエントリ、すなわち、現在時刻とTimestampの値の差が所定値以上であるか否かを判定し、この判定結果が肯定的となる古いエントリを端末対応テーブル56Aから削除する。第2の変形例第2の変形例も、制御部53が行う他の端末特定処理に関するものであり、この変形例では、捕捉装置5がキャプチャした所定時間ごとの上り下り方向別のパケット数パケットフローである捕捉統計データと、各通信端末4がカウントした所定時間ごとの上り下り方向別のバケット数パケットフローである端末統計データを利用して端末特定処理を行う。LAN側の各通信端末4が、自身で送受信するパケット数を計測している場合には、この変形例による端末特定処理が可能である。図7は、第2の変形例で用いる複数のテーブルを示す図である。図7に示す3つのテーブル56,57,58のうち、図7aの端末対応テーブル56は、上述の実施形態の場合と同じものである。図7bのキャプチャフローテーブル57は、エントリFlowIDが端末対応テーブル56のエントリEntryIDと対応している。エントリFlowIDの定義項目である各々のPeriodには、所定時間例えば10秒ごとに捕捉装置5がキャプチャした、上り下り方向別のパケット数捕捉統計データが記される。図7cの端末フローテーブル58は、各通信端末4におけるパケット数の計測値をPeriodごとに収集した表になっている。すなわち、端末フローテーブル58の縦列はLAN側の端末を示し、Periodには、その端末が所定時間例えば10秒ごとに送信又は受信したパケット数端末統計データが記される。以上を前提として、パケット捕捉装置5の制御部53は、次のステップU1~ステップU7の処理を実行する。なお、以下の記述でも、上りパケットの場合を想定しているが、下りパケットの場合には、src側をdest側に読み替え、かつ、dest側をsrc側に読み替えた処理となる。ステップU1まず、制御部53は、捕捉部52が捕捉した通信パケットから上りの第1パケットP1を抽出し、その第1パケットP1のsrcIP、srcPort、destIp、destPortの値を取り出す。ステップU2次に、制御部53は、端末対応テーブル56図7aにアクセスし、srcIP、srcPort、destIp、destPortの値が同じである、第1パケットP1のエントリが端末対応テーブル56に存在するか否かを判定する。ステップU2-1:エントリが存在しかつ端末情報が1つの場合上記判定の結果、端末対応テーブル56にエントリが存在しかつ端末情報としてローカルIPアドレスが1つだけ登録されている場合には、制御部53は、キャプチャフローテーブル57における同一のエントリFlowIDのPeriodを1つインクリメントする。ステップU2-2:エントリが存在しかつ端末情報が複数の場合また、上記判定の結果、端末対応テーブル56にエントリが存在するが、その端末情報に2つ以上のローカルIPアドレスの端末が登録されている場合には、制御部53は、キャプチャフローテーブル57の同一のエントリFlowIDのPeriodを1つインクリメントした上で、処理をステップU3に移行する。ステップU2-3:エントリが存在しない場合上記判定の結果、端末対応テーブル56にエントリが存在しない場合には、制御部53は次の処理a~cを行う。a捕捉した第1パケットP1のアドレス情報及びポート情報srcIP、srcPort、destIp、destPortの値にて、端末対応テーブル56のエントリを追加する。bこの際、端末情報には、候補となるすべての通信端末4のローカルIPアドレス例えば、パケット捕捉装置5が、LAN側に定期的に送信する制御パケットARPやPINGなどにより検出される候補端末を入れる。c制御部53は、キャプチャフローテーブル57にもエントリFlowIDを追加した上で、処理をステップU3に移行する。ステップU3制御部53は、現在時刻が当該Periodの終了時刻を経過しているか否かを判定する。この判定の結果、終了している場合は処理をステップU4に移行し、終了していない場合は上記ステップU1~ステップU2-3の処理を繰り返す。ステップU4制御部53は、LAN側の通信端末4にデータ要求のための制御パケットを送信し、通信端末4が計測したパケットフローのデータ端末統計データを取得する。制御部53は、取得できた通信端末4について、図7cの端末フローテーブル58を作成する。ステップU5制御部53は、次のステップU5-1~ステップU5-3よりなるフロー同定処理を行う。ステップU5-1上記フロー同定処理では、制御部53は、端末対応テーブル56において、端末情報として登録されているすべてのローカルIPアドレスを候補とする。ステップU5-2また、フロー同定処理では、制御部53は、端末情報として複数のローカルIPアドレスの端末が登録されているエントリFlowIDのフローこれを、未同定フローとする。が、実際にはどの端末に属するか否かを判定する。この判定は、例えば次のようにして行う。すなわち、あるPeriodを基準として、端末に属するすべての同定済みフローのキャプチャフローテーブル57におけるパケット数と、未同定フローのパケット数との合計値を算出する。算出した合計値が、端末の端末フローテーブル58におけるパケット数よりも大きい場合には、未同定フローが端末に属さないと判定し、端末を未同定フローの端末候補から外す。ステップU5-3上記の判定を候補が1つだけ残るまで繰り返し、残った端末を未同定フローに対応づける。ステップU6同定が完了したフローの、srcとdestをスワップしたフローこの場合は、下りフローとなる。を同じ端末として同定し、端末対応テーブル56を更新する。ステップU7:エントリの削除第2の変形例の場合も、制御部53は、端末対応テーブル56のTimestampの値を定期的にスキャンし、現在時刻とTimestampの値を比較する。そして、制御部53は、一定時間以上経過しているエントリ、すなわち、現在時刻とTimestampの値の差が所定値以上であるか否かを判定し、この判定結果が肯定的となる古いエントリを端末対応テーブル56から削除する。図8及び図9は、上記フロー同定処理の具体例を示す説明図である。図8において、aは特定のピリオド例えば、Period1での実際のフロー状況の一例を示す図であり、bは当該状況における捕捉統計データと端末統計データの内容を示す表であり、cは当該状況におけるフロー同定処理の内容を示す図である。また、図9において、aは別のピリオド例えば、Period2での実際のフロー状況の一例を示す図であり、bは当該状況における捕捉統計データと端末統計データの内容を示す表であり、cは当該状況におけるフロー同定処理の内容を示す図である。ここで、図8aに示すフロー状況以下、第1状況とする。では、ルータ3の配下の2つの端末A,Bのうち、端末Aのみが、特定のピリオドにおいて上り方向のパケットを送信したものとし、図9aに示すフロー状況以下、第2状況とする。では、別のピリオドにおいて端末A,Bの双方が上り方向のパケットを送信したものとする。なお、図8及び図9では、FlowID=1のパケットをFlow1、FlowID=2のパケットをFlow2と記載している。図8aの第1状況では、特定のピリオドに、端末AのみがFlow1パケット数=10の送信を開始している。このため、図8bの捕捉統計データとして、端末情報がA,Bのいずれにも定まらない、パケット数が10である未同定のFlow1のエントリが存在している。また、この場合、図8bの端末統計データとしては、端末Aのパケット数が10でかつ端末Bのパケット数が0となる。そこで、図8cに示すように、制御部53は、端末A及び端末Bの同定済みの捕捉統計データの値をいずれも0とし、端末A及び端末Bの未同定の捕捉統計データの値をいずれも10として、端末A,Bのそれぞれについて、同定済みの捕捉統計データと未同定の捕捉統計データの合計値を、端末統計データの値と対比する。そして、制御部53は、その合計値が端末統計データの値よりも大きい端末を、未同定であるFlow1の候補から外す処理を行うことにより、端末A,BのいずれがFlow1に属するかを判定する。図8cの例では、端末Aの場合には、同定済みの捕捉統計データ=0でかつ未同定の捕捉統計データ=10であるから、その合計値=10となるが、端末Aの端末統計データ=10であるから、端末AはFlow1に対応する候補として残される。これに対して、端末Bの場合には、同定済みの捕捉統計データ=0でかつ未同定の捕捉統計データ=10であるから、その合計値=10となるが、端末Bの端末統計データ=0であるから、端末BはFlow1に対応する候補から外される。なお、図8の例では、ルータ3の配下に2つの端末A,Bがある単純な場合を想定したが、端末Aのみが上り送信するピリオドであれば、ルータ3の配下に3つ以上の通信端末がある場合にも、同様にFlow1を端末Aと対応付けることができる。すなわち、当該ピリオドにおいて、端末Aのみが上り送信していた場合には、それ以外の端末の端末統計データはすべて0になり、端末統計データの値が必ず同定済み及び未同定の捕捉統計データの合計値よりも小さくなるので、その他の端末はFlow1に対応する候補から外されることになる。従って、同定済みの捕捉統計データと未同定の捕捉統計データの合計値が、端末統計データよりも大きくなる端末を、Flow1に対応する候補から外す処理を、候補が1つだけ残るまで繰り返すことにより、Flow1を端末Aと対応付けることができる。一方、図9aの第2状況では、図8cのフロー同定処理によってFlow1が端末Aと対応することが判明しているものとする。また、この第2状況では、第1状況とは別のピリオドに、端末AがFlow1パケット数=20を送信しており、端末BがFlow2パケット数=10の送信を開始している。このため、図9bの捕捉統計データとして、端末情報がAに定まっている、パケット数が20である同定済みのFlow1のエントリと、端末情報がA,Bのいずれにも定まらない、パケット数が10である未同定のFlow2のエントリが存在している。また、この場合、図9bの端末統計データでは、端末Aのパケット数が20でかつ端末Bのパケット数が10となる。そこで、図9cに示すように、制御部53は、端末Aの同定済みの捕捉統計データの値を20とし、端末Aの未同定の捕捉統計データの値を10とし、端末Bの同定済みの捕捉統計データの値を0とし、端末Bの未同定の捕捉統計データの値を10として、端末A,Bのそれぞれについて、同定済みの捕捉統計データと未同定の捕捉統計データの合計値を、端末統計データの値と対比する。そして、制御部53は、その合計値が端末統計データよりも大きい端末を、未同定であるFlow2の候補から外す処理を行うことにより、端末A,BのいずれがFlow2に属するかを判定する。図9cの例では、端末Aの場合には、同定済みの捕捉統計データ=20でかつ未同定の捕捉統計データ=10であるから、その合計値=30となるが、端末Aの端末統計データ=20であるから、端末AはFlow2に対応する候補から外される。これに対して、端末Bの場合には、同定済みの捕捉統計データ=0でかつ未同定の捕捉統計データ=10であるから、その合計値=10となるが、端末Bの端末統計データ=10であるから、端末BはFlow2に対応する候補として残される。なお、図9の例においても、ルータ3の配下に2つの端末A,Bがある単純な場合を想定したが、端末Bのみが上り送信するピリオドであれば、ルータ3の配下に3つ以上の通信端末がある場合にも、同様にFlow2を端末Bと対応付けることができる。すなわち、当該ピリオドにおいて、端末Bのみが上り送信していた場合には、それ以外の端末の端末統計データは、必ず、同定済み及び未同定の捕捉統計データの合計値よりも小さくなるので、その他の端末はFlow2に対応する候補から外されることになる。このように、ある特定のピリオドにおいて、ルータ3の配下にあるいずれか1つの通信端末4がルータ3を越えるパケットを送信した場合には、それ以外の通信端末4の端末統計データは、同定済み及び未同定の捕捉統計データの合計値よりも小さくなる。従って、特定の通信端末4に属するすべての同定済みの捕捉統計データと未同定の捕捉統計データとの合計値が、特定の通信端末4についての端末統計データよりも大きい場合に、当該特定の通信端末4を未同定の捕捉統計データの端末候補から外す処理を、その端末候補が1つだけ残るまで継続するフロー同定処理を行うことにより、未同定のフロー捕捉統計データを1つの通信端末と対応付けることができる。なお、上記第2の変形例では、第1パケットP1のトラフィック情報を表す量として当該パケットのパケット数を採用しているが、このパケット数の代わりにパケット長を用いることにしてもよい。その他の変形例上述の実施形態では、パケット捕捉装置5の制御部53がパケット解析処理を行っているが、この処理を他の通信端末4で行うようにしてもよい。この場合には、捕捉装置5では第1パケットP1の捕捉だけを行い、捕捉したパケットを、パケット解析処理を実行する所定の通信端末4に向けてリダイレクトするようにすればよい。また、上述の実施形態では、図1に示すように、パケット捕捉装置5をイーサネットケーブルで構内ネットワークLAN2と有線接続しているが、パケット捕捉装置5のLAN側の第2インタフェース部55を無線LAN対応のインタフェースで構成し、パケット捕捉装置5と構内ネットワークとの通信を無線で行うようにしてもよい。今回開示した実施形態上述の各変形例を含む。はすべての点で例示であって制限的なものではない。本発明の権利範囲は、上述の実施形態ではなく、特許請求の範囲と均等の範囲内でのすべての変更が含まれる。"