JP2018137687A - パケット解析プログラム、パケット解析装置及びパケット解析方法 - Google Patents
パケット解析プログラム、パケット解析装置及びパケット解析方法 Download PDFInfo
- Publication number
- JP2018137687A JP2018137687A JP2017032459A JP2017032459A JP2018137687A JP 2018137687 A JP2018137687 A JP 2018137687A JP 2017032459 A JP2017032459 A JP 2017032459A JP 2017032459 A JP2017032459 A JP 2017032459A JP 2018137687 A JP2018137687 A JP 2018137687A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- packet data
- address
- analysis
- payload
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
【課題】ネットワーク上のコネクションを分断する中継装置を経由して通信が行われるネットワーク上のパケットデータの通信経路を解析するパケット解析プログラムを提供すること。【解決手段】ネットワークを中継する中継装置を挟んで第1の装置から第2の装置へ通信が行われるパケットデータの通信経路の解析を行うパケット解析装置のコンピュータを、前記中継装置の上流側を通過する第1のパケットデータのペイロードと、前記中継装置の下流側を通過する第2のパケットデータのペイロードを比較する比較解析手段、前記各ペイロードの比較結果が一致した場合、前記第1のパケットデータの送信元IPアドレスと、前記第2のパケットデータの宛先IPアドレスを組み立てる組み立て手段、として機能させる。【選択図】図3
Description
本発明は、ネットワーク上のパケットデータの通信経路を解析するパケット解析プログラム、パケット解析装置及びパケット解析方法に関する。
クライアント−サーバ間(END−END)のネットワーク上を流れるパケットデータの動きを可視化してネットワークの解析する各種の技術が存在する。クライアント−サーバ間のパケットデータの可視化は、クライアント−サーバ間を流れるパケットデータのTCP/IPヘッダに含まれる送信元IPアドレス(SA:source address)と宛先IPアドレス(DA:destination address)を解析してグラフ化することにより行われる。
ネットワーク上のパケットデータを解析する技術として、機器が送信したパケットから第1の送信元IPアドレスを抽出し、機器が受信したパケットから第2の送信先アドレスを抽出し、第1の送信元IPアドレスと、第2の送信先アドレスが一致するか解析する技術が提案されている(例えば、特許文献1参照)。
ネットワーク構成上の都合等から、プロキシ(Proxy)、FW(ファイアーウォール)、LB(ロードバランサ)等の、ネットワーク上のコネクションを分断する中継装置経由で通信が行われる場合がある。
例えば、プロキシ経由でクライアント装置からサーバ装置へ通信が行われる場合、クライアント装置からプロキシへパケットデータが到着すると、プロキシは、到着したパケットデータの宛先IPアドレスをサーバ装置のIPアドレスへ書き換える。またプロキシは、プロキシへ到着したパケットデータの送信元IPアドレスをプロキシ自身のIPアドレスに書き換える。そして、プロキシはIPアドレスを書き換えたパケットデータをサーバへ転送する。
プロキシ経由のネットワーク上のパケットデータの動きを解析した場合、プロキシを通過する前と後のパケットは別の宛先IPアドレス(または、送信元IPアドレス)を有するパケットであると判定される。
そのため、従来の技術により、送信元IPアドレスと宛先IPアドレスにより、パケットデータの動きを解析した場合には、ネットワーク上のコネクションがプロキシの前後で見かけ上分断されることとなっていた。このため、従来のパケット解析装置ではクライアント−プロキシ間のネットワーク、プロキシ−サーバ間のネットワークを流れる夫々のパケットデータが一致するか否か判断できなかった。その結果、プロキシを経由したクライアント−サーバ間のパケットデータの通信経路を特定できず、パケットデータの動きを解析することができなかった。
本発明の1つの側面に係わる目的は、ネットワーク上のコネクションを分断する中継装置を経由して通信が行われるネットワーク上のパケットデータの通信経路を解析するパケット解析プログラムを提供することである。
本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、ネットワークを中継する中継装置を挟んで第1の装置から第2の装置へ通信が行われるパケットデータの通信経路の解析を行うパケット解析装置のコンピュータを、前記中継装置の上流側を通過する第1のパケットデータのペイロードと、前記中継装置の下流側を通過する第2のパケットデータのペイロードを比較する比較解析手段、前記各ペイロードの比較結果が一致した場合、前記第1のパケットデータの送信元IPアドレスと、前記第2のパケットデータの宛先IPアドレスを組み立てる組み立て手段、として機能させることを特徴とするパケット解析プログラム。
すなわち、本発明の一態様によれば、ネットワークを中継する中継装置を挟んで第1の装置から第2の装置へ通信が行われるパケットデータの通信経路の解析を行うパケット解析装置のコンピュータを、前記中継装置の上流側を通過する第1のパケットデータのペイロードと、前記中継装置の下流側を通過する第2のパケットデータのペイロードを比較する比較解析手段、前記各ペイロードの比較結果が一致した場合、前記第1のパケットデータの送信元IPアドレスと、前記第2のパケットデータの宛先IPアドレスを組み立てる組み立て手段、として機能させることを特徴とするパケット解析プログラム。
本発明によれば、ネットワーク上のコネクションを分断する中継装置を経由して通信が行われるネットワーク上のパケットデータの通信経路を解析することができる。
以下、図面に従って本発明の実施形態を説明する。
図1は、本発明の実施形態に係るパケット解析装置を含むパケット解析システムの一例を示す図である。図1に示すパケット解析システム1は、特に限定されるものではないがLAN(Local Area Network)システムである。パケット解析システム1は、PC(Personal Computer)装置10と、サーバ装置20と、プロキシ(Proxy)30と、スイッチ(SW)40a、40bと、パケット解析装置100を含む。
図1は、本発明の実施形態に係るパケット解析装置を含むパケット解析システムの一例を示す図である。図1に示すパケット解析システム1は、特に限定されるものではないがLAN(Local Area Network)システムである。パケット解析システム1は、PC(Personal Computer)装置10と、サーバ装置20と、プロキシ(Proxy)30と、スイッチ(SW)40a、40bと、パケット解析装置100を含む。
本実施形態においては、プロキシ30を挟んでPC装置10とサーバ装置20の間で通信が行われる例について説明する。PC装置10は本発明の第1の装置に、サーバ装置20は本発明の第2の装置に、プロキシ30は本発明の中継装置に相当する。
PC装置10は、既存のPCにより構成され、プロキシ30を介してサーバ装置20に対しデータのリクエストを行う。
プロキシ30は、PC装置10とサーバ装置20の間のネットワーク上に配置され、PC装置10からサーバ装置20へ送信されるパケットデータ及びサーバ装置20からPC装置10へ送信されるパケットデータをそれぞれ中継する。プロキシ30は、例えばPC装置10におけるWebブラウザの代理でサーバ装置20と通信を行う。
サーバ装置20は、既存のWebサーバ等により構成され、プロキシ30を介してPC装置10からリクエストされたデータのレスポンスを再びプロキシ30を介してPC装置10へ対して行う。
以下、プロキシ30を介してPC装置10からサーバ装置20側へパケットデータが送信される例について説明する。
PC装置10とプロキシ30の間(以下、プロキシ30の「上流側」と呼ぶ)のネットワーク上には、宛先IPアドレス(DA:destination address)がプロキシ30であるパケットデータ(以下、「パケットA」と呼ぶ)が流れる。プロキシ30とサーバ装置20の間(以下、プロキシ30の「下流側」と呼ぶ)のネットワーク上には、送信元IPアドレス(SA:source address)がプロキシ30であるパケットデータ(以下、「パケットB」と呼ぶ)が流れる。
スイッチ40aはプロキシ30の上流側に、スイッチ40bはプロキシ30の下流側に、それぞれ配置されている。スイッチ40aとスイッチ40bは、転送するパケットを複製し、複製したパケットを外部装置に出力するミラーポートを有する。例えば、スイッチ40aのミラーポートは、プロキシ30の上流側を通過するパケットAをコピーし、コピーしたパケットデータをパケット解析装置100に送信する。同様に、スイッチ40bのミラーポートは、プロキシ30の下流側を通過するパケットBをコピーし、コピーしたパケットデータをパケット解析装置100に送信する。
パケット解析装置100は、スイッチ40aのミラーポートを経由して、パケットAをコピーしたパケットデータ(キャプチャデータ)をキャプチャする。同様に、パケット解析装置100は、スイッチ40bのミラーポートを経由して、パケットBをコピーしたパケットデータ(キャプチャデータ)をキャプチャする。
上述の実施形態では、プロキシ30を介してPC装置10とサーバ装置20の間で通信している例について説明しているがこの限りではない。例えば、FW(ファイアーウォール)、LB(ロードバランサ)等の、IPアドレスが書き換えられることによりネットワーク上のコネクションが分断される中継装置に適用することができる。
本実施形態において、コネクションが分断されるとは、ネットワーク上に配置されたプロキシ30等の中継装置の上流側と下流側において、当該パケットに含まれる宛先IPアドレスや送信元IPアドレスが書き換えられることにより生じる状態を示す。中継装置において宛先IPアドレスや送信元IPアドレスが書き換えられると、プロキシ30等の中継装置の上流側と下流側において、宛先IPアドレスや送信元IPアドレスが一致しない状態が発生するため、IPアドレスのみから判断する機器からネットワークを解析した場合には、当該ネットワークのコネクションは見かけ上分断される状態となる。
また、本実施形態においては、説明の便宜上、プロキシ30によりコネクションが分断される前後のパケット受信は各1ポートとするが、この限りではない。例えば、複数のポートにおいて、コネクションが分断されていてもよい。
また、本実施形態においては、2つのスイッチ40a、40bのミラーポートからパケットデータをキャプチャしている例について説明しているがこの限りではない。例えば、プロキシ30等の中継装置を挟んで通過するネットワーク上に、スイッチを複数配置し、夫々のスイッチのミラーポートからパケットデータをキャプチャして解析することができる。
図2Aは、パケット解析装置100が備える計測サーバとWebサーバの一例を示す図である。図2Aに示すように、計測サーバ200は、2つのパケット解析部210a、210bと、L7比較解析部220と、L4組み立て部230と、L4統計部240と、DB(database)250を備える。
パケット解析部210aは、後述の通信I/Oを介して、プロキシ30の上流側を通過するパケットAをスイッチ40aのミラーポートを経由してキャプチャする。
同様に、パケット解析部210bは、後述の通信I/Oを介して、プロキシ30の下流側を通過するパケットBをスイッチ40bのミラーポートを経由してキャプチャする。
パケット解析部210aは、L4解析部211aとL7解析部212aを備える。同様に、パケット解析部210bは、L4解析部211bとL7解析部212bを備える。
L4解析部211a、L4解析部211bは、ISO(International Organization for Standardization)のOSI(Open Systems Interconnection)参照モデルにおける第3層および第4層に関する解析を行う。
L4解析部211aは、パケットAのTCP/IPヘッダに含まれる送信元IPアドレスと宛先IPアドレスを解析する。同様に、L4解析部211bは、パケットBのTCP/IPヘッダに含まれる送信元IPアドレスと宛先IPアドレスを解析する。
初めに、プロキシ30を挟んでPC装置10からサーバ装置20の方向へ向けて通信が行われる上りのパケットデータの例について説明する。この場合、PC装置10側がネットワークの上流、サーバ装置20側がネットワークの下流となる。
プロキシ30の上流側のパケットデータを解析する場合には、L4解析部211aは、パケットAの送信元IPアドレス(この場合は、送信元であるPC装置10を示すIPアドレス)を解析する。
これに対し、プロキシ30の下流側のパケットデータを解析する場合には、L4解析部211bは、パケットBの宛先IPアドレス(この場合は、宛先であるサーバ装置20を示すIPアドレス)を解析する。
次に、プロキシ30を挟んでサーバ装置20からPC装置10の方向へ向けて通信が行われる下りのパケットデータの例について説明する。この場合、サーバ装置20側がネットワークの上流、PC装置10側がネットワークの下流となる。
プロキシ30の上流側のパケットデータを解析する場合には、L4解析部211bは、パケットBの送信元IPアドレス(この場合は、送信元であるサーバ装置20を示すIPアドレス)を解析する。
これに対し、プロキシ30の下流側のパケットデータを解析する場合には、L4解析部211a、211bは、パケットAの宛先IPアドレス(この場合は、宛先であるPC装置10を示すIPアドレス)を解析する。
L4解析部211a、L4解析部211bは、解析した第3層および第4層の解析結果をL7比較解析部220及びL4組み立て部230に通知する。
L7解析部212a、L7解析部212bは、ISOのOSI参照モデルにおける第7層(以下、「L7」と呼ぶ)に関する解析を行う。
具体的には、L7解析部212aは、パケットAに含まれるペイロードを解析する。本実施形態において、ペイロードとは、パケットデータからTCP/IPヘッダや、当該ネットワークだけで採用している個人情報等の独自の情報などを除いたデータ本体をいう。例えば、PC装置10からサーバ装置20に対しURL(Uniform Resource Locator)に対応するデータがリクエストされた場合、PC装置10からプロキシ30に向けて送信される上りパケットAのペイロード部分には、当該URLの情報が格納されている。この場合、L7解析部212aは、当該URLの情報を解析する。
L7解析部212bは、L7解析部212aと同様に、パケットBに含まれるペイロードを解析する。L7解析部212a、212bは、解析したペイロードの情報をL7比較解析部220へ通知する。
L7比較解析部220は、プロキシ30の上流側を通過するパケットAのペイロードと、プロキシ30の下流側を通過するパケットBの各ペイロードを比較するL7データ解析処理を行う。
例えば、PC装置10からサーバ装置20に対しパケットAが送信された場合、L7解析部212aによってパケットAの内容が解析され、パケットAの送信時刻、パケットデータのペイロードに含まれる種別等が判別される。
例えば、PC装置10からサーバ装置20に対しURLが要求された場合、プロキシ30からサーバ装置20に向けて送信される上りパケットBのペイロード部分には、上述のパケットAと同様の当該URLの情報が格納されている。この場合、L7解析部212bは、当該URLの情報を解析する。L7解析部212a、L7解析部212bは、L7の解析結果をL7比較解析部220に通知する。ペイロードの解析の手法については、公知の特許第4610240号の技術を採用することができるため、詳細については省略する。
また、L7解析部212a、L7解析部212bは、パケットA、パケットBをスイッチ40a、スイッチ40bでそれぞれキャプチャした時刻であるタイムスタンプを取得し、タイムスタンプの情報をL4統計部240に通知する。パケットデータのタイムスタンプを取得する方法については、公知の特許第4648181号の技術を採用することができるため、詳細については省略する。
また、ペイロードに含まれるURL、SQL(Structured Query Language)等のオブジェクト数が膨大となる場合、L7比較解析部220が解析を行う処理負担が大きくなる。そこで、L7比較解析部220は、各パケットA、パケットBの各ペイロードを比較するにあたり、L7解析部212a、L7解析部212bが解析したパケットA、パケットBに含まれるペイロードの部分のうち可変部分を排除する処理(以下、「名寄せ」と呼ぶ)を行う。
名寄せの手法については、公知の特許第4720213号の技術内容を用いて行うことができるため、詳細については省略するが、例えば、L7比較解析部220は、予め名寄せに関する各種ルールをDB250に記憶しておく。L7比較解析部220は、パケットA、パケットBからそれぞれペイロードを切り出す。L7比較解析部220は、切り出したペイロードから名寄せする初期条件を自動生成してDB250に記憶する。そして、L7比較解析部220は、DB250に記憶されているルールに基づき、切り出されたペイロードの名寄せ処理を行う。なお、L7比較解析部220は、名寄せ処理の結果をパケット解析装置100に接続されているクライアント端末400のディスプレイ(図示せず)等を通じて利用者に表示する。そして、クライアント端末400を通じて利用者から指示されたリクエストに基づき、L7比較解析部220は、DB250に記憶されている名寄せルールを編集する。L7比較解析部220は、ペイロードの比較結果をL4組み立て部230に通知する。
名寄せのルールとしては、例えば、URLに含まれる情報のうち、IDや口座番号等の個人を特定するような情報、IDを入力することでログインできる特定のWebページにおいて個々のID特有のページの情報、URLの末尾に付けられた変数(パラメータ)の情報については、マスキング処理をかけて、L7比較解析部220による比較対象としないルール等を採用することができる。
なお、名寄せを行わない場合、ペイロードに含まれるURL、SQL等のオブジェクト数が膨大となる可能性があるが、正確性を優先させる場合には、ペイロードの完全一致が望ましい。このため、ネットワークの解析状況の正確性に合わせて、利用者の指示に基づき本実施形態の名寄せ処理の実行を省略することもできる。
L4組み立て部230は、L7比較解析部220により比較が行われたパケットAとパケットBの各ペイロードの比較結果が一致したか否か判定する。そして、各ペイロードの比較結果が一致した場合、L4組み立て部230は、パケットデータ結合処理を行う。パケットデータ結合処理では、L4組み立て部230は、プロキシ30の上流側を通過するパケットAの送信元IPアドレス(SA)と、プロキシ30の下流側を通過するパケットBの宛先IPアドレス(DA)を結合し、一つのパケットデータのTCP/IPヘッダを組み立てる。そして、L4組み立て部230は、組み立てたTCP/IPヘッダに、比較対象としたペイロードをつけて一つのパケットデータ(以下、「組み立てパケット」と呼ぶ)として組み立てる。このように、特定の機器から送信されたパケットが、何れの機器宛のパケットであるか明確になるため、パケットの解析が容易になる。
L4組み立て部230により組み立てパケットを組み立てる処理については、後述する。L4組み立て部230は、組み立てたパケットデータの情報をL4統計部240に通知する。
L4組み立て部230により組み立てパケットを組み立てる処理については、後述する。L4組み立て部230は、組み立てたパケットデータの情報をL4統計部240に通知する。
L4統計部240は、L4に関する統計処理を行う。具体的には、L4統計部240は、L4組み立て部230により組み立てられたEND−ノード間(PC装置10〜サーバ装置20)のパケットに基づいて、サブネット単位や時間集計(分/時/日/月)した送受信パケット数及びバイト数、パケットのロス数、RTT等のデータを統計処理し、その統計結果のデータをパケット情報テーブルとしてDB250に保存する。DB250には、L4統計部240により統計処理されたデータが格納される。L4統計部240により統計処理されたパケット情報テーブルのデータについては、後述する。
Webサーバ300は、Java(登録商標)アプレット(applet)310と、ソフトウェア群320を備える。
Javaアプレット310は、サーブレット(Servlet)等の小さなアプリケーション部品等により構成され、L4統計部240により統計処理されDB250に保存されたパケット情報のデータをクライアント端末400からのリクエストに応じて、HTML(HyperText Markup Language)としてレスポンスする。
ソフトウェア群320は、Webサーバソフトとサーブレットコンテナを備える。Webサーバソフトは、Webサーバ300を動作させるのに必要なソフトウェアである。サーブレットコンテナは、Javaアプレット310を構成するサーブレットを動作させるのに必要なソフトウェアである。
Webサーバ300は、Javaアプレット310を、パケット解析装置100のプロセッサ(図示せず)が実行することによって実現される。Webサーバ300は、クライアント端末400から指示されるグラフ種別、表示期間、END−ENDの指定などの要求に応じて各種サーバソフトから問合せに応答する。
クライアント端末400は、既存のPCにより構成される。クライアント端末400にはWebブラウザがインストールされている。
利用者がWebブラウザ410を通じて、パケット解析結果の表示を指示すると、クライアント端末400がパケット解析装置100のWebサーバ300にリクエストを送信する。そして、Webサーバ300からリクエストに対応するレスポンスが戻ってくると、クライアント端末400のWebブラウザ410は、レスポンス結果であるパケット解析結果のグラフを表示する。クライアント端末400のブラウザ410上で表示するパケット解析結果のグラフの具体例については後述する。
図2Bは、パケット解析装置100のハードウェアブロック図である。パケット解析装置100は、CPU(Central Processing Unit)512、RAM(Random Access Memory)514、記憶部516、通信I/O518、DB250及びバス520を有する。
CPU512は、記憶部516からプログラムを読込み、読込んだプログラムに従って、パケット解析装置100を統括的に制御する。プログラムには、後述するパケット解析プログラム,アプリケーション、モジュール等が含まれる。
RAM514は、記憶部516から読込まれたプログラムや各種データを展開するワーキングエリアである。記憶部516は、HDD(Hard Disk Drive)やフラッシュメモリである。記憶部516には、アプリケーション等の前述したパケット解析プログラムを含む各種プログラムが記憶される。DB250には、パケット情報が保存された後述のパケット情報テーブルが格納されている。
通信I/O518は、NIC(Network Interface Card)等により構成され、接続されるクライアント端末400とデータやコマンドの送受信を行うとともに、スイッチ40a、スイッチ40bからパケットデータを受信する。CPU512と、RAM514等の各部位がバス520で接続される。NICについては、既存のインターフェースの構成を採用できるため説明を省略する。
図3を参照して、L4組み立て部230によりパケットデータを組み立てる例について説明する。図3は、L4組み立て部230によりパケットデータを組み立てる例を示す図である。ここでは、説明の便宜上、プロキシ30を挟んでPC装置10からサーバ装置20の方向へ通信が行われる上りのパケットデータを組み立てる場合について説明する。
本実施形態においては、プロキシ30のプロキシ30の上流側を通過する上りのパケットAの送信元IPアドレス(SA)が、「a」であり、プロキシ30のプロキシ30の下流側を通過する上りのパケットBの宛先IPアドレス(DA)が、「c」であるとする。
この場合、L4組み立て部230は、プロキシ30の上流側のパケットAの送信元IPアドレス(SA)「a」を、ENDノード間(PC装置10〜サーバ装置20)を上り方向に通過するパケット(以下、「組み立てパケット」と呼ぶ)の送信元IPアドレス(SA)として結合する。
また、L4組み立て部230は、プロキシ30の下流側のパケットBの宛先IPアドレス(DA)「c」を、組み立てパケットの宛先IPアドレス(DA)として組み立てる。
この結果、プロキシ30を挟んでPC装置10からサーバ装置20の方向へ通信が行われる上りのパケットデータTCP/IPヘッダに含まれる送信元IPアドレス(SA)は「a」に、宛先IPアドレス(DA)は「c」に組み立てられる。尚、パケットAのペイロードに含まれるURLの情報「http://xxx.jp/」と、パケットBのペイロードに含まれるURLの情報「http://xxx.jp/」が一致する場合、L4組み立て部230は、この一致したペイロードの情報を組み立てパケットのペイロードとして一つのパケットデータを組み立てる。
次に、本実施形態に係るパケット解析装置100によるパケット解析処理について説明する。図4は、パケット解析プログラムによるパケット解析処理の例を示すフローチャートである。
初めに、L7比較解析部220は、L7データの名寄せ処理を行う(ステップS11)。この処理では、L7解析部212a、L7解析部212bが解析したパケットA、パケットBに含まれるペイロードの部分のうち可変部分を排除する処理を行う。
次に、L7比較解析部220は、L7データ解析処理を行う(ステップS12)。この処理では、L7比較解析部220は、スイッチ40aのミラーポートを経由してキャプチャしたプロキシ30の上流側を通過するパケットデータのペイロードと、スイッチ40bのミラーポートを経由してキャプチャしたプロキシ30の下流側を通過するパケットデータのペイロードとを比較する。
L4組み立て部230は、2箇所から受信したL7データが一致したか否かを比較し判定する(ステップS13)。この処理では、プロキシ30の上流側に配置されたスイッチ40aと、プロキシ30の下流側に配置されたスイッチ40bの2箇所から受信した各ペイロードが一致したか否かが判定される。2箇所から受信したL7データが一致した場合(ステップS13のYES)には、L4組み立て部230は、パケットデータ結合処理を行い、組み立てパケットを組み立てる(ステップS14)。ステップS14のパケットデータ結合処理は、上り方向に通信されるパケットデータと、下り方向に通信されるパケットデータの双方の方向別に行われる。
初めに、プロキシ30を挟んでPC装置10からサーバ装置20の方向へ通信が行われる上りのパケットデータを組み立てる場合におけるパケットデータ結合処理について説明する。この場合、L4組み立て部230は、プロキシ30の上流側を通過するパケットAの送信元IPアドレス(SA)と、プロキシ30の下流側を通過するパケットBの宛先IPアドレス(DA)を結合して一つのパケットデータのTCP/IPヘッダを組み立てる。そして、L4組み立て部230は、組み立てたTCP/IPヘッダに、ステップS13で比較対象としたペイロードをつけて一つの組み立てパケットを組み立てる。
次に、プロキシ30を挟んでサーバ装置20からPC装置10の方向へ通信が行われる下りのパケットデータを組み立てる場合におけるパケットデータ結合処理について説明する。この場合、L4組み立て部230は、プロキシ30の上流側を通過するパケットBの送信元IPアドレス(SA)と、プロキシ30の下流側を通過するパケットAの宛先IPアドレス(DA)を結合して一つのパケットデータのTCP/IPヘッダを組み立てる。そして、L4組み立て部230は、組み立てたTCP/IPヘッダに、ステップS13で比較対象としたペイロードをつけて一つの組み立てパケットを組み立てる。
L4組み立て部230は、ステップS14において行ったパケットデータ結合処理により組み立てた組み立てパケット(END−ENDノード)の情報をDB250に格納し(ステップS15)、処理はステップS16に進む。
ステップS13に戻り、2箇所から受信したL7データが一致しなかった場合(ステップS13のNO)、即ち、スイッチ40aまたはスイッチ40bの各ミラーポートのうち一方のミラーポートからしかペイロードが同一のパケットが受信されなかった場合、処理はステップS17に進む。
L7比較解析部220は、PC装置10〜プロキシ30間から受信したパケットがあるか否かを判定する(ステップS17)。PC装置10〜プロキシ30間から受信したパケットがある場合(ステップS17のYES)には、L7比較解析部220は、プロキシ30のキャッシュまたはアクセス制限により、サーバ装置20宛のパケットはないと判断する(ステップS18)。そして、L7比較解析部220は、END−ENDはPC装置10〜プロキシ30間と判定する(ステップS19)。
L4組み立て部230は、ステップS19において判定したPC装置10〜プロキシ30間のパケットデータの情報をDB250に格納し(ステップ15)、処理はステップS16に進む。
ステップS17に戻り、PC装置10〜プロキシ30間から受信したパケットがない場合(ステップS17のNO)、L7比較解析部220は、プロキシ30〜サーバ装置20間から受信したパケットがあるか否かを判定する(ステップS20)。
プロキシ30〜サーバ装置20間から受信したパケットがあるか否かを判定する(ステップS20)。プロキシ30〜サーバ装置20間から受信したパケットがない場合(ステップS20のNO)、L7比較解析部220は、受信パケットなしと判断する(ステップS21)。
このように、プロキシ30の機能によっては、プロキシ30―サーバ装置20間のパケットが存在しない場合もある。例えば、プロキシ30が、Webページなどの情報の一時的な保存をする場合、プロキシ30のキャッシュを使用する場合、プロキシ30−サーバ装置20間の通信がない場合、即ちプロキシ30が保存してあるデータをPC装置10へ送信する場合には、プロキシ30―サーバ装置20間のパケットデータが存在しない場合がありうる。
また、プロキシ30が、PC装置10がサーバ装置20へリクエストしたURLへのアクセスを禁止したり、不適切なコンテンツをフィルタリングしてアクセスを制御した場合、FW(ファイアーウォール)としての機能を有する場合も同様に、プロキシ30―サーバ装置20間のパケットデータが存在しない場合がありうる。このような場合は、L7比較解析部220は、プロキシ30のキャッシュまたはアクセス制限にてサーバ装置20宛のパケットはなかったと判断する。この処理が終了すると、パケット解析処理は終了となる。
これに対し、プロキシ30〜サーバ装置20間から受信したパケットがある場合(ステップS20のYES)、L7比較解析部220は、プロキシ30がサーバ装置20からPC装置10宛のレスポンスパケットを遮断したと判断する(ステップS22)。
そして、L7比較解析部220は、END−ENDはプロキシ30〜サーバ装置20間と判定する(ステップS23)。
L4組み立て部230は、ステップS23において判定したプロキシ30〜サーバ装置20間のパケットの情報をDB250に格納する(ステップ15)。
ステップS16において、L4統計部240は、DB250に保存されたパケット情報に基づきサブネットや時間集計等の集計処理を行う。この集計処理では、DB250に格納された組み立てパケット(END−ENDの情報)、PC装置10〜プロキシ30の間のパケット、プロキシ30〜サーバ装置20の間のパケットの情報に基づいて、L4統計部240が集計する統計処理を行う。L4統計部240は、集計結果をパケット情報としてDB250のパケット情報テーブル(後述の図5参照)に保存する処理を行う。この処理が終了すると、パケット解析処理は終了となる。
図5を参照して、L4統計部240によりDB250に保存されるパケット情報テーブルについて説明する。図5は、パケット情報テーブルの例を示す図である。図5に示すように、パケット情報テーブルには、単位時刻における各アドレスのパケット毎に、送信量、NW遅延、送信ロス、送信数を含む複数のパケットデータの情報が保存されている。
時刻は、ネットワーク上を通過する各パケットが、スイッチ40aまたはスイッチ40bのミラーポートを経由してキャプチャされた時刻であるタイムスタンプが取得された時刻である。この時刻は上記キャプチャされた時刻に限定されるものではなく、PC装置10またはサーバ装置20からパケットが送信された時刻、L4組み立て部230により組み立てパケットが組み立てられた時刻、等様々な時刻を採用することができる。
アドレスは、パケットデータのTCP/IPヘッダに含まれるIPアドレスの情報が格納されている。L4組み立て部230により組み立てられた組み立てパケットについては、プロキシ30の上流側を通過するパケットデータの送信元IPアドレスと、プロキシ30の下流側を通過するパケットデータの宛先IPアドレスとに基づいて、組み立てられたIPヘッダの情報がアドレスとして格納されている。
本実施形態においては、説明の便宜上、特定のアドレス毎にアドレスA、アドレスB、アドレスC、・・・と簡略化した符号(アルファベット)を各々対応付けて付しているがこの限りではなく、実際のIPヘッダの情報を格納することもできる。
送信量は、当該パケットを送信する際のデータサイズである。
NW遅延は、スイッチ40aで上りのパケットをキャプチャした時刻と、スイッチ40bで当該上りのパケットのリクエストに応じた下りのパケットをキャプチャした時刻の差分である。
NW遅延は、スイッチ40aで上りのパケットをキャプチャした時刻と、スイッチ40bで当該上りのパケットのリクエストに応じた下りのパケットをキャプチャした時刻の差分である。
本実施形態においては、上記のようにスイッチ40aで上りのパケットをキャプチャした時刻と、スイッチ40bで当該上りのパケットのリクエストに応じた下りのパケットをキャプチャした時刻の差分をNW遅延としているがこの限りではなく、例えば、サーバ装置20にパケットが送信された時刻と、PC装置10にパケットが送信された時刻の差分等、様々な遅延を採用することができる。
送信ロスは、ネットワーク上でパケットデータを送信している途中で、消失したパケットの数である。なお、送信ロスはキャッシュやアクセス制限によりパケットが存在しない場合を考慮して送信ロスの計算から除外する。
送信数は、PC装置10からサーバ装置20へパケットを送信した数、または、サーバ装置20からPC装置10へパケットを送信した数である。
次に、図6A,6B,6Cは、パケット情報テーブルに基づきパケット解析結果のグラフを表示する例について説明する。図6A,6B,6Cは、パケット解析結果のグラフを示す図である。
利用者の操作に基づき、クライアント端末400のディスプレイ(図示せず)に表示されるWebブラウザ410を通じて解析するネットワーク上の対象(ロケーション)、パケット解析結果のグラフ種別、期間、END−ENDの指定等の指示が行われると、クライアント端末400は、パケット解析装置100のWebサーバ300に当該指示に対応するリクエストを送信する。
パケット解析装置100のWebサーバ300は、クライアント端末400からリクエストを受信すると、DB250に保存されているパケット情報テーブルを参照してクライアント端末400からのリクエストに対応するレスポンスをクライアント端末400に送信する。クライアント端末400は、パケット解析装置100のWebサーバ300からのレスポンス結果として、例えば、図6A,6B,6Cに示すようなパケット解析結果のグラフを、Webブラウザ410を通じてディスプレイに表示する。
図6A、図6B、図6Cでは、図5のパケット情報テーブルに表示される情報のうち、特に、単位時刻「9:00−9:01」、「9:01―9:02」を含む単位時刻毎の点をプロットした、IPアドレスAのパケットに対する、送信量、NW遅延、ロス率の推移が表示されている。
図6Aでは、単位時刻毎に送信されるIPアドレスAにおけるパケットの送信量の推移が表示されている。利用者が図6Aのグラフを見ることで、プロキシ30を経由して通信が行われるPC装置10〜サーバ装置20間(END−END)のネットワーク上のパケットデータのトラフィックを容易に解析してネットワークを監視することができる。
図6Bでは、単位時刻毎に送信されるIPアドレスAにおけるネットワーク遅延の推移が表示されている。利用者が図6Bのグラフを見ることで、プロキシ30を経由して通信が行われるPC装置10〜サーバ装置20間(END−END)のネットワーク上のパケットデータのネットワーク遅延を容易に解析してネットワークを監視することができる。
図6Cでは、単位時刻毎に送信されるIPアドレスAにおけるパケットのロス率の推移が表示されている。利用者が図6Cのグラフを見ることで、プロキシ30を経由して通信が行われるPC装置10〜サーバ装置20間(END−END)のネットワーク上のパケットのロス率を容易に解析してネットワークを監視することができる。
尚、本実施形態においては、図6A〜図6Cのグラフにおいて、IPアドレスAのグラフの表示例のみ説明したが、これに限られるものではなく、複数のIPアドレス情報を重畳して表示したり、並べて表示したりすることができる。
本実施形態においては、既存のスイッチの設定を変えて、既存のネットワーク上に流れるパケットデータをコピーしたパケットをキャプチャするだけで、パケットデータの解析を行うことができる。したがって、本実施形態のパケット解析装置100は、既存のネットワーク構成を変更せずにネットワークを運用することができる。即ち、新たな機器をネットワーク上に繋ぐことにより現在安定稼働しているネットワーク上の構成を変更することで生じるリスクや現在安定稼働している機器に新たなソフトウェアを導入することで生じるリスクをなくし、かつ、新たな機器を導入することにより生じるコスト増を防いでネットワークを運用することができる。
尚、本発明は上述した実施形態そのままに限定されるものではなく、実施段階でのその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素を適宜組み合わせても良い。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。このような、発明の趣旨を逸脱しない範囲内において種々の変形や応用が可能であることはもちろんである。
1 パケット解析システム
10 PC装置
20 サーバ装置
30 プロキシ
40a スイッチ
40b スイッチ
100 パケット解析装置
200 計測サーバ
210a パケット解析部
210b パケット解析部
211a L4解析部
211b L4解析部
212a L7解析部
212b L7解析部
220 L7比較解析部
230 L4組み立て部
240 L4統計部
250 DB
300 Webサーバ
310 Javaアプレット
320 ソフトウェア群
400 クライアント端末
410 Webブラウザ
512 CPU
514 RAM
516 記憶部
518 通信I/0
520 バス
10 PC装置
20 サーバ装置
30 プロキシ
40a スイッチ
40b スイッチ
100 パケット解析装置
200 計測サーバ
210a パケット解析部
210b パケット解析部
211a L4解析部
211b L4解析部
212a L7解析部
212b L7解析部
220 L7比較解析部
230 L4組み立て部
240 L4統計部
250 DB
300 Webサーバ
310 Javaアプレット
320 ソフトウェア群
400 クライアント端末
410 Webブラウザ
512 CPU
514 RAM
516 記憶部
518 通信I/0
520 バス
Claims (8)
- ネットワークを中継する中継装置を挟んで第1の装置から第2の装置へ通信が行われるパケットデータの通信経路の解析を行うパケット解析装置のコンピュータを、
前記中継装置の上流側を通過する第1のパケットデータのペイロードと、前記中継装置の下流側を通過する第2のパケットデータのペイロードを比較する比較解析手段、
前記各ペイロードの比較結果が一致した場合、前記第1のパケットデータの送信元IPアドレスと、前記第2のパケットデータの宛先IPアドレスを組み立てる組み立て手段、
として機能させることを特徴とするパケット解析プログラム。 - 前記比較解析手段は、前記パケットデータに含まれるペイロードのうち、所定の条件により可変部分を排除して夫々名寄せデータを作成し、
前記各ペイロードの比較において、
前記第1のパケットデータの名寄せデータと、前記第2のパケットデータの名寄せデータを比較する
ことを特徴とする請求項1に記載のパケット解析プログラム。 - 前記組み立て手段は、
前記第1のパケットデータの送信元IPアドレスと、前記第2のパケットデータの宛先IPアドレスを一つのパケットデータのTCP/IPヘッダを組み立て、組み立てたTCP/IPヘッダに、前記比較解析手段の比較対象としたペイロードをつけて一つのパケットデータとして組み立てる
ことを特徴とする請求項1または2に記載のパケット解析プログラム。 - 前記パケット解析プログラムは、更に、
前記組み立てられたパケットを含むパケットの情報を統計処理したデータを作成する
ことを特徴とする請求項1乃至3のうち何れか1項に記載のパケット解析プログラム。 - 前記中継装置は、ネットワーク上のコネクションを分断するプロキシであること
を特徴とする請求項1乃至4のうち何れか1項に記載のパケット解析プログラム。 - ネットワークを中継する中継装置を挟んで第1の装置から第2の装置へ通信が行われるパケットデータの通信経路の解析を行うパケット解析装置であって、
前記中継装置の上流側を通過する第1のパケットデータのペイロードと、前記中継装置の下流側を通過する第2のパケットデータのペイロードを比較する比較解析部と、
前記各ペイロードの比較結果が一致した場合、前記第1のパケットデータの送信元IPアドレスと、前記第2のパケットデータの宛先IPアドレスを組み立てる組み立て部と、
を備えることを特徴とするパケット解析装置。 - 前記比較解析部は、
前記中継装置の上流側に配置された第1のスイッチのミラーポートを経由して前記第1のパケットデータをコピーしたキャプチャデータのペイロードと、前記中継装置の下流側に配置された第2のスイッチのミラーポートを経由して前記第2のパケットデータコピーしたキャプチャデータのペイロードを比較する
ことを特徴とする請求項6に記載のパケット解析装置。 - ネットワークを中継する中継装置を挟んで第1の装置から第2の装置へ通信が行われるパケットデータの通信経路の解析を行うパケット解析方法であって、
前記中継装置の上流側を通過する第1のパケットデータのペイロードと、前記中継装置の下流側を通過する第2のパケットデータのペイロードを比較し、
前記各ペイロードの比較結果が一致した場合、前記第1のパケットデータの送信元IPアドレスと、前記第2のパケットデータの宛先IPアドレスを組み立てる
ことを特徴とするパケット解析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017032459A JP2018137687A (ja) | 2017-02-23 | 2017-02-23 | パケット解析プログラム、パケット解析装置及びパケット解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017032459A JP2018137687A (ja) | 2017-02-23 | 2017-02-23 | パケット解析プログラム、パケット解析装置及びパケット解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018137687A true JP2018137687A (ja) | 2018-08-30 |
Family
ID=63365742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017032459A Pending JP2018137687A (ja) | 2017-02-23 | 2017-02-23 | パケット解析プログラム、パケット解析装置及びパケット解析方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018137687A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021125752A (ja) * | 2020-02-03 | 2021-08-30 | アラクサラネットワークス株式会社 | 通信監視装置、通信監視方法、及び通信監視プログラム |
JP2021166380A (ja) * | 2020-06-05 | 2021-10-14 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | ネットワークデータの処理方法、ネットワークデータ処理装置、電子機器、記憶媒体、及びプログラム |
-
2017
- 2017-02-23 JP JP2017032459A patent/JP2018137687A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021125752A (ja) * | 2020-02-03 | 2021-08-30 | アラクサラネットワークス株式会社 | 通信監視装置、通信監視方法、及び通信監視プログラム |
US11190607B2 (en) | 2020-02-03 | 2021-11-30 | Alaxala Networks Corporation | Communication monitoring apparatus, communication monitoring method, and computer-readable non-transitory storage medium |
JP7406386B2 (ja) | 2020-02-03 | 2023-12-27 | アラクサラネットワークス株式会社 | 通信監視装置、通信監視方法、及び通信監視プログラム |
JP2021166380A (ja) * | 2020-06-05 | 2021-10-14 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | ネットワークデータの処理方法、ネットワークデータ処理装置、電子機器、記憶媒体、及びプログラム |
JP7161563B2 (ja) | 2020-06-05 | 2022-10-26 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | ネットワークデータの処理方法、ネットワークデータ処理装置、電子機器、記憶媒体、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220263735A1 (en) | Method and system for deep packet inspection in software defined networks | |
US11218382B2 (en) | Quality of service monitoring method, device, and system | |
US8493871B2 (en) | End-to end analysis of transactions in networks with traffic-altering devices | |
US9001688B2 (en) | Dynamic balancing of a traffic mix for data center device testing | |
US20120017010A1 (en) | Inferring server state in a stateless communication protocol | |
US20020023145A1 (en) | System and method to accelerate client/server interactions using predictive requests | |
US7398314B2 (en) | System and a method for accelerating communication of TCP/IP based content through the use of fake host names | |
US9424268B2 (en) | System and method for aligning data frames in time | |
WO2002091112A2 (en) | Server-site response time computation for arbitrary applications | |
US20080288543A1 (en) | System and method for aligning data frames in time | |
CN113992738A (zh) | 基于微服务网关的反向代理方法、装置、设备及存储介质 | |
JP5593944B2 (ja) | 判定装置、判定方法及びコンピュータプログラム | |
US8572245B1 (en) | Using the TCP window size for identifying packets and debugging | |
JP2018137687A (ja) | パケット解析プログラム、パケット解析装置及びパケット解析方法 | |
US20030204586A1 (en) | Intelligent data replicator | |
CN112436951A (zh) | 一种预知流量路径的方法和装置 | |
CN113746851B (zh) | 一种支持实时解析grpc请求的代理系统和方法 | |
Gadallah et al. | A seven-dimensional state flow traffic modelling for multi-controller Software-Defined Networks considering multiple switches | |
CN116389319A (zh) | 基于节点大数据的网络在线分析及监控方法及系统 | |
CN113489684A (zh) | 一种通信装置、云端与内网之间调用服务的方法 | |
CN114679413B (zh) | 异构网络的拥塞控制方法、装置、设备及存储介质 | |
López et al. | Validation of HTTP response time from network traffic as an alternative to web browser instrumentation | |
CN115297030B (zh) | 一种端到端网络延时监测方法及系统 | |
Alowain | MejHAR: using internet measurement platforms to examine web application performance and availability | |
Paul et al. | Impact of HTTP object load time on web browsing qoe |