(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
インターネットやLAN等の通信ネットワークは、個々の通信機器が共通の通信プロトコルに従ってパケットを送受信することにより成立しており、通信機器間の仕様の違いや誤設定、ソフトウェアの不具合等に因り何らかの異常が生じることがある。こうした異常が発生した際は、通信ネットワークの異常を迅速に検出し、障害要因や障害発生箇所を特定して必要な対策を早急に講じる必要があるが、そのための方法として、通信ネットワークを流れるパケットを取得(以下、パケットキャプチャとも称する。)して蓄積し、これを解析することが行われている。特許文献1におけるトラフィック測定により得られる情報のように、通信ネットワークに何らかの問題が発生したタイミングで取得される情報には、問題の原因となる証跡が含まれていないことがあるが、パケットキャプチャにより取得したパケットを蓄積して保存しておくことで事後的な解析も可能になる。
【0005】
通信ネットワークの異常の有無は、例えば、通信監視装置が、パケットキャプチャにより取得したパケットに基づき通信ネットワークの状況を監視し、通信ネットワークの状況が通常の利用状況から逸脱しているか否かを調べることにより検出することができる。従って、通信ネットワークの異常を効率よく検出しかつ検出精度を高めるには、通信ネットワークの通常の利用状況を適切に把握することが重要である。
【0006】
しかし個々の通信ネットワークの設置環境、利用目的、規模、構成、通信ネットワークを利用して行われる業務や企業活動の性質、人間の慣習や生活パターンは様々であり、また個々の通信ネットワークの利用状況は、日時、時間帯、曜日、季節(シーズン)等によって変化する。さらに通信ネットワークがグローバルに展開される場合には、商慣習や生活習慣等の違いによっても通信の利用態様が相違する。このため、個々の通信ネットワークについて、いかなる状況を通常の利用状況とするかを適切に把握することは必ずしも容易ではない。
【0007】
本発明は、こうした背景に鑑みてなされたもので、通信ネットワークの通常の利用状況を適切に把握し、通信ネットワークの異常の有無を効率よくかつ精度よく検出することが可能な、通信監視装置、及び通信監視方法を提供することを目的としている。
【課題を解決するための手段】
【0008】
上記目的を達成するための本発明のうちの一つは、通信監視装置であって、プロセッサ、記憶装置、及び通信装置と、通信ネットワークを流れる一つ以上のパケットを予め設定されたデータサイズ分取得する度に、取得した前記データサイズ分の前記パケットを含んだデータであるキャプチャデータを生成して記憶する、キャプチャ処理部と、複数の前記キャプチャデータの夫々について、夫々を分析することにより夫々の特徴を示す情報である分析情報を生成する、分析情報生成部と、複数の前記キャプチャデータの夫々について、夫々を分析することにより、夫々の特徴を示す情報である判定情報を生成する、判定情報生成部と、前記キャプチャデータの一つである判定対象キャプチャデータについて、記憶している他の前記キャプチャデータの中から、当該判定対象キャプチャデータと前記分析情報が同一又は類似のものを検索する、キャプチャデータ検索部と、検索した前記キャプチャデータの夫々について、前記判定情報に基づき、前記通信ネットワークが正常であるときに前記判定情報が取り得る範囲である正常範囲を求める、正常範囲算出部と、前記判定対象キャプチャデータを分析することにより前記判定対象キャプチャデータについて前記判定情報を生成し、生成した前記判定情報が当該判定情報の前記正常範囲を逸脱しているか否かを判定し、前記判定の結果に基づき、前記通信ネットワークの異常の有無を判定する、異常有無判定部と、を備える。
【0009】
このように本発明の通信監視装置は、キャプチャデータを分析して分析情報を生成し、またキャプチャデータを分析して判定情報を生成し、判定対象キャプチャデータについて、記憶している他のキャプチャデータの中から、判定対象キャプチャデータと分析情報が同一又は類似のものを検索し、検索したキャプチャデータの夫々の判定情報に基づき、通信ネットワークが通常であるときに判定情報が取り得る範囲である正常範囲を求めるので、通信ネットワークの通常の利用状況を適切に把握することができる。そしてこのようにして求めた正常範囲に基づき通信ネットワークの異常の有無を検出することで、通信ネットワークの異常の有無を効率よくかつ精度よく検出することができる。
【0010】
本発明の他の一つは、上記通信監視装置であって、前記分析情報生成部は、前記キャプチャデータに含まれる前記データサイズ分の前記パケットの取得に要した時間であるキャプチャ所要時間を前記分析情報として生成し、前記キャプチャデータ検索部は、前記判定対象キャプチャデータについて、記憶している他の前記キャプチャデータの中から、当該判定対象キャプチャデータと前記キャプチャ所要時間が同一又は類似のものを検索する。
【0011】
上記キャプチャ所要時間には通信ネットワークの特徴が現れていることが多く、正常範囲を求める際に用いるキャプチャデータの選択に際し、通信監視装置がキャプチャ所要時間を分析情報として用いることで、通信ネットワークの通常の利用状況を適切に把握して正常範囲を精度よく設定することができる。
【0012】
本発明の他の一つは、上記通信監視装置であって、前記分析情報生成部は、前記キャプチャデータが生成された時期を示す情報を前記分析情報として生成し、前記キャプチャデータ検索部は、記憶している他の前記キャプチャデータの中から、前記判定対象キャプチャデータと生成された時期が同一又は類似のものを検索する。
【0013】
正常範囲を求める際に用いるキャプチャデータの選択に際し、キャプチャデータが生成された時期を分析情報として用いることで、通信監視装置は、通信ネットワークの利用態様を考慮しつつ通信ネットワークの通常の利用状況を適切に把握して正常範囲を精度よく設定することができる。
【0014】
本発明の他の一つは、上記通信監視装置であって、カレンダ情報を記憶し、前記キャプチャデータ検索部は、記憶している前記他のキャプチャデータの中から、前記判定対象キャプチャデータと生成された曜日が一致するものを検索する。
【0015】
本発明の他の一つは、上記通信監視装置であって、前記通信ネットワークを利用するユーザの営業日を示す情報である営業日情報を記憶し、前記キャプチャデータ検索部は、前記判定対象キャプチャデータが生成された日が営業日である場合、記憶している前記他のキャプチャデータの中から、生成された日が営業日であるものを検索する。
【0016】
本発明の他の一つは、上記通信監視装置であって、暦とシーズンの対応を示す情報であるシーズン情報を記憶し、前記キャプチャデータ検索部は、記憶している前記他のキャプチャデータの中から、前記判定対象キャプチャデータと生成されたシーズンが一致するものを検索する。
【0017】
本発明の他の一つは、上記通信監視装置であって、前記通信ネットワークを利用するユーザの営業日を示す情報である営業日情報、及びカレンダ情報を記憶し、前記キャプチャデータ検索部は、前記判定対象キャプチャデータが月末又は月初の所定期間内に生成されたものである場合、記憶している前記他のキャプチャデータの中から、生成された日が営業日であるものを検索し、前記判定対象キャプチャデータが月末又は月初の前記所定期間内に生成されたものでない場合、記憶している前記他のキャプチャデータの中から、生成された曜日が一致するものを検索する。
【0018】
本発明の他の一つは、上記通信監視装置であって、前記正常範囲算出部は、複数の前記判定情報の夫々について前記正常範囲を求め、前記異常有無判定部は、前記複数の判定情報の夫々について、夫々について求めた前記正常範囲を逸脱しているか否かを判定し、前記正常範囲を逸脱している前記判定情報の数が予め設定された閾値を超えているか否かを判定し、前記判定の結果に基づき、前記通信ネットワークの異常の有無を検出する。
【0019】
本発明の他の一つは、上記通信監視装置であって、前記正常範囲算出部は、検索した前記キャプチャデータに基づき前記判定情報の標準偏差を求め、求めた標準偏差に基づき前記正常範囲を求める。
【0020】
本発明の他の一つは、上記通信監視装置であって、前記正常範囲算出部が前記正常範囲を求める際に用いるパラメータを設定するためのユーザインタフェースを提供する設定処理部、をさらに備える。
【0021】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
【発明の効果】
【0022】
本発明によれば、通信ネットワークの通常の利用状況を適切に把握し、通信ネットワークの異常の有無を効率よくかつ精度よく検出することができる。
【発明を実施するための形態】
【0024】
以下、発明を実施するための形態について図面を参照しつつ説明する。
【0025】
図1に一実施形態として示す通信監視システム1の概略的な構成を示している。同図に示すように、通信監視システム1は、各種の通信装置30が接続し、当該通信監視システム1の監視対象となる通信ネットワーク5、通信ネットワーク5を流れるパケットを取得(以下、キャプチャもしくはパケットキャプチャとも称する。)する機能を備えたネットワーク機器20、ネットワーク機器20が提供する情報に基づき通信ネットワーク5を監視する通信監視装置10を含む。
【0026】
通信ネットワーク5は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)等の有線又は無線の通信方式の通信ネットワークである。通信装置30同士は、例えば、IPプロトコル(Internet Protocol)に従ったパケット(IPパケット)を送受信することにより通信ネットワーク5を介して通信する。通信ネットワーク5は、例えば、スイッチングハブ(switching hub)やルータ(Router)等の機器を用いて構成される。通信ネットワーク5は、インターネット等の広域の通信ネットワークに接続するものであってもよい。
【0027】
通信装置30は、通信ネットワーク5を介して通信する情報処理装置であり、例えば、パーソナルコンピュータ、携帯情報端末(例えば、スマートフォン、タブレット、携帯電話機、PDA(Personal Digital Assistant))等である。
【0028】
ネットワーク機器20は、例えば、リピータハブ(repeater hub)やポートミラーリング(port mirroring)機能を備えたスイッチングハブ等であり、監視対象である通信ネットワーク5を流れるパケットを取得(キャプチャ)して通信監視装置10に送信(転送)する。ネットワーク機器20は、通信ネットワーク5の構成要素であってもよい。
【0029】
通信監視装置10は、ネットワーク機器20と通信可能となるように接続し、ネットワーク機器20から送られてくるパケットを受信する。通信監視装置10は、受信したパケットに基づき通信ネットワーク5の状態を監視する。
【0030】
尚、ネットワーク機器20に、通信監視装置10の全部又は一部の機能を実装してもよい(例えば、ファームウェア(firmware)として実装する)。その場合、ネットワーク機器20が、例えば、Webページ等をベースとした管理機能を通信ネットワーク5等を介して提供することにより、遠隔した場所からネットワーク機器20や通信監視装置10の状態監視やそれらについて各種設定等を行えるようにしてもよい。
【0031】
<通信監視装置>
図2に通信監視装置10が備える主なハードウェアを示している。通信監視装置10は、情報処理装置(コンピュータ)として機能するものであり、プロセッサ11、記憶装置12、計時装置13、入力装置14、出力装置15、及び通信インタフェース16を備える。
【0032】
プロセッサ11は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)を用いて構成されている。記憶装置12は、RAM(Random Access Memory)、ROM(Read Only Memory)、NVRAM(Non Volatile RAM)、ハードディスクドライブ、SSD(Solid State Drive)等であり、プログラムやデータを記憶する。計時装置13は、日時情報を生成する装置であり、例えば、RTC(Real Time Clock)やタイマIC(Integrated Circuit)を用いて構成される。
【0033】
入力装置14は、情報の入力を行うユーザインタフェース(キーボード、マウス、タッチパネル等)である。出力装置15は、各種の情報をユーザに提供するユーザインタフェースであり、例えば、LCD(Liquid Crystal Display)、印字装置等である。通信インタフェース16は、NIC(Network Interface Card)等を用いて構成され、ネットワーク機器20と有線又は無線により通信する。
【0034】
図3に通信監視装置10が備える主な機能及び通信監視装置10が記憶する主な情報を示している。通信監視装置10は、オペレーティングシステム111、データベース管理システム(以下、DBMS112(Data-Base Management System)と称する。)、VPN処理部113、設定処理部114、キャプチャ処理部121、分析情報生成部122、判定情報生成部123、キャプチャデータ検索部124、正常範囲算出部125、及び異常有無判定部126を備える。これらの機能は、プロセッサ11が、記憶装置12に格納されているプログラムを実行することにより、もしくは通信監視装置10が備えるハードウェアにより実現される。
【0035】
同図に示すように、通信監視装置10は、キャプチャデータ151、分析情報152、判定情報153、カレンダ情報154、シーズン情報155、営業日情報156、及び設定情報157を記憶する。通信監視装置10は、これらの情報を、例えば、DBMS112のデータベースに管理する。
【0036】
上記機能のうち、オペレーティングシステム111は、カーネル、ミドルウェア、ファイルシステム等の機能を含み、通信監視装置10が備えるハードウェアを抽象化したインタフェース(入力インタフェース、出力インタフェース、通信インタフェース等)をアプリケーションやユーザに提供する。
【0037】
DBMS112は、記憶装置12の記憶領域を利用してデータベースを提供する。DBMS112は、データベースにレコードやテーブル等の管理領域を構成する。DBMS112は、データベースへのデータの書き込み、データベースからのデータの読み出し、データベースに書き込まれているデータの削除を行う。またDBMS112は、データベースに管理されているデータの検索を行い、検索した結果を出力する。
【0038】
VPN処理部113は、インターネット等の通信ネットワークを介して、通信監視装置10から遠隔した場所に存在する他の装置が通信監視装置10に安全にアクセスするためのインタフェースを提供する。VPN処理部113は、例えば、SSH(Secure SHell)、TLS(Transport Layer Security)、SSL(Secure Sockets Layer)、IPsec(Security Architecture for Internet Protocol)等のプロトコルに従った通信を行う。
【0039】
設定処理部114は、通信監視装置10が備える各種の機能や通信監視装置10の動作を定める各種パラメータを設定するためのユーザインタフェースを提供する。設定処理部114は、ユーザから受け付けた設定内容を設定情報157として記憶する。設定処理部114は、例えば、通信に関する設定(IPアドレスの設定、DHCP(Dynamic Host Configuration Protocol)に関する設定、VPNに関する設定等)、DBMS112に関する設定(項目、テーブル構成等の設定)、セキュリティ機能に関する設定(認証情報、ファイヤウォールの動作等の設定)、パケットキャプチャに関する設定(一つのキャプチャファイル(後述)の最大データサイズ、一つのキャプチャファイルに含まれるパケットの最大数、キャプチャファイルの保存期間、キャプチャファイルを削除するタイミング等の設定)、後述する分析情報152や判定情報153に関する設定、キャプチャデータ検索部124が行う検索に関する設定(検索条件の設定、検索方法の設定等)、正常範囲算出部125が行う正常範囲の算出方法に関する設定(後述する分析情報152の項目毎の標準偏差の算出方法等)、異常有無判定部126が行う異常検出に関する設定(異常の有無の判定に用いる各種閾値等)を行うためのユーザインタフェースを提供する。
【0040】
キャプチャ処理部121は、通信ネットワーク5を流れるパケットを取得する。より詳細には、キャプチャ処理部121は、ネットワーク機器20から通信ネットワーク5を流れるパケットを予め設定されたデータサイズ分(例えば、50Mbyte程度)受信する度に、受信した上記データサイズ分のパケットを含んだデータ(以下、キャプチャデータ151と称する。)を生成して記憶する。尚、本実施形態では、キャプチャ処理部121は、1つのキャプチャデータを、独立した1つのファイル(以下、キャプチャファイルと称する。)として記憶装置12に記憶するものとする。
【0041】
分析情報生成部122は、生成したキャプチャデータ151を分析することにより、当該キャプチャデータ151の特徴を示す情報である分析情報152を生成する。分析情報152の詳細については後述する。
【0042】
判定情報生成部123は、生成したキャプチャデータ151を分析することにより、当該キャプチャデータ151の特徴を示す情報である判定情報153を生成する。判定情報153の詳細については後述する。
【0043】
キャプチャデータ検索部124は、キャプチャデータ151の一つである判定対象キャプチャデータについて、記憶している他のキャプチャデータ151の中から、当該判定対象キャプチャデータと分析情報152が同一又は類似のものを検索する。キャプチャデータ検索部124は、例えば、最新(直近)に生成したキャプチャデータ151を、判定対象キャプチャデータとする。キャプチャデータ検索部124は、分析情報152が類似するか否かを、例えば、比較する2つの分析情報152の夫々の値(数値、時間等)の差が予め設定された範囲内であるか否かを調べることにより判定する。
【0044】
正常範囲算出部125は、判定情報153に基づき、通信ネットワーク5が正常であるときに判定情報153が取り得る範囲である正常範囲を求める。
【0045】
異常有無判定部126は、判定対象キャプチャデータを分析することにより判定対象キャプチャデータについて判定情報153を生成し、生成した判定情報153が正常範囲を逸脱しているか否かを判定し、その結果に基づき、通信ネットワーク5の異常の有無を判定する。
【0046】
[キャプチャデータ(キャプチャファイル)]
キャプチャデータ151(キャプチャファイル)は、一つ以上のパケットの実体を含む。パケットは、例えば、TCPパケット(トランスポート層のプロトコルとしてTCP(Transmission Control Protocol)を使用したパケット)、UDPパケット(トランスポート層のプロトコルとしてUDP(User Datagram Protocol)を使用したパケット)、ICMPパケット(プロトコルとしてICMP(Internet Control Message Protocol)を使用したパケット)、ARPパケット(プロトコルとしてARP(Address Resolution Protocol)を使用したパケット)である。
【0047】
[分析情報]
分析情報152は、例えば、キャプチャデータ151から直接的に取得される情報を含む。また分析情報152は、例えば、キャプチャデータ151に含まれている情報について統計処理等の所定の処理を施すことにより間接的に取得される情報を含む。
【0048】
図4に、本実施形態の分析情報生成部122が生成する分析情報152の例を列挙している。以下、同図に示した各分析情報152について順に説明する。
【0049】
ファイル名411は、当該分析情報152の生成元であるキャプチャデータ151(以下、生成元キャプチャデータと称する。)に対応するキャプチャファイルのファイル名である。
【0050】
パケット数412は、生成元キャプチャデータに含まれているパケットの数である。
【0051】
ファイルサイズ413は、生成元キャプチャデータのファイルサイズである。
【0052】
キャプチャ所要時間414は、生成元キャプチャデータに含まれている全てのパケットを取得するのに要した時間(パケットの時間密度)である。キャプチャデータ151のデータサイズは一定(例えば、50Mbyte程度)であるので、キャプチャ所要時間が短い程、通信ネットワーク5に短い時間に多くのデータが流れたことを意味する。
【0053】
キャプチャ開始時間415は、生成元キャプチャデータに含まれているパケットのうち最先に取得されたパケットの取得時間(例えば、当該パケットの取得開始時間)である。
【0054】
キャプチャ終了時間416は、生成元キャプチャデータに含まれているパケットのうち最後に取得されたパケットの取得時間(例えば、当該パケットの取得終了時間)である。
【0055】
ビットレート(bits/sec)417は、生成元キャプチャデータに含まれているパケット(データ)の取得速度の平均値(=ファイルサイズ413/キャプチャ所要時間414)である。
【0056】
パケットレート(packets/sec)418は、生成元キャプチャデータに含まれているパケットの取得速度(=パケット数412/キャプチャ所要時間414)である。
【0057】
TCPパケット数419は、生成元キャプチャデータに含まれているTCPパケットの数である。
【0058】
UDPパケット数420は、生成元キャプチャデータに含まれているUDPパケットの数である。
【0059】
SMTPエラー数421は、生成元キャプチャデータに含まれている、SMTPエラーに関するパケット(SMTPエラーパケット)の数である。
【0060】
RSTパケット数422は、生成元キャプチャデータに含まれている、TCPにおける通信においてリセットフラグが立ったパケットであるリセットパケット(RSTパケット)の数である。
【0061】
TCPコネクション数423は、生成元キャプチャデータに含まれているTCPパケットから把握されるTCPコネクションの数である。
【0062】
TCPゼロウィンドウ数424は、生成元キャプチャデータに含まれているTCPパケットから把握されるTCPゼロウィンドウの数である。尚、TCPゼロウィンドウは受信バッファの枯渇を意味している。
【0063】
TCPシーケンス異常数425は、生成元キャプチャデータについて、TCPシーケンスナンバーの異常による不具合の検知数(再送、パケットロス、到着順序の不整合等)である。
【0064】
IPv4プライベートアドレス通信におけるTCPシーケンス異常数426は、生成元キャプチャデータに含まれている、IPv4プライベートアドレス間で送受信されたパケットから把握されるTCPシーケンス異常の件数である。
【0065】
DHCPアドレス枯渇検出数427は、生成元キャプチャデータから把握される、DHCPアドレスの枯渇を示す情報を含んだパケットの数である。
【0066】
ARPパケットにより検出されたIPアドレス重複数428は、生成元キャプチャデータに含まれているARPパケットから把握されるIPアドレスの重複数である。
【0067】
UDP/TCPレート429は、生成元キャプチャデータにおける、UDPパケット数とTCPパケット数との比(=UDPパケット数/TCPパケット数)である。
【0068】
P2Pファイル共有ソフトの検出数430は、生成元キャプチャデータに含まれているパケットから把握される、P2Pファイル共有ソフトに関するパケットの数である。
【0069】
ファイル共有ソフト異常エラー数431は、生成元キャプチャデータに含まれている、通信装置30のファイル共有サービス(SMB(Server Message Block),SMB2(Server Message Block version 2))に関するエラーパケットの数である。
【0070】
DNSエラー数432は、生成元キャプチャデータに含まれている、DNSエラーに関するパケットの数である。
【0071】
IPv4プライベートアドレス同士のHTTPエラー数433は、生成元キャプチャデータに含まれている、IPv4プライベートアドレス同士のHTTPエラーに関するパケットの数である。
【0072】
ICMPにおける各種Type/Codeカウンタ434は、生成元キャプチャデータに含まれているICMPパケットから把握される、各種Type/Codeカウンタの数である。
【0073】
[判定情報]
判定情報153は、例えば、キャプチャデータ151から直接的に取得される情報を含む。また判定情報153は、例えば、キャプチャデータ151に含まれている情報や分析情報152について統計処理等の所定の処理を施すことにより間接的に取得される情報を含む。
【0074】
図5に本実施形態の判定情報生成部123が生成する判定情報153の例を列挙している。また併せて同図には、各判定情報153について設定される正常範囲(上限値)1531の例を示している。以下、同図に示した各判定情報153について順に説明する。
【0075】
ファイル名511は、当該判定情報153の生成元であるキャプチャデータ151(以下、生成元キャプチャデータと称する。)に対応するキャプチャファイルのファイル名である。
【0076】
パケット数512は、生成元キャプチャデータに含まれているパケットの数である。
【0077】
UDP/TCPレート513は、生成元キャプチャデータに含まれている、UDPパケット数420とTCPパケット数419の比(=UDPパケット数420/TCPパケット数419)である。
【0078】
IPv4プライベートアドレス同士のHTTPエラー数514は、生成元キャプチャデータに含まれている、IPv4プライベートアドレス同士のHTTPエラーに関するパケットの数である。
【0079】
ネットワーク到達不能のパケット数515は、生成元キャプチャデータに含まれている、ネットワーク到達不能のエラーに関するパケット(宛先ホスト到達不能のエラーに関するパケットを除く)の数である。ネットワーク到達不能のエラーを通知するパケットは、例えば、ネクストホップが見つからないときにルータが送出する。ネットワーク到達不能は、通常は深刻なエラーに分類され、正常範囲は狭い範囲に設定される。
【0080】
宛先ホスト到達不能のパケット数516は、生成元キャプチャデータに含まれている、宛先ホスト到達不能のエラーに関するパケット(ネットワークホスト到達不能のエラーに関するパケットを除く)の数である。
【0081】
DNSエラー数517は、生成元キャプチャデータに含まれている、DNSエラーに関するパケットの数である。
【0082】
宛先ネットワーク遮断のパケット数518は、生成元キャプチャデータに含まれている、ファイヤウォール装置等で動作するセキュリティソフトウェア等から送信される、宛先のネットワークが遮断されている旨のエラーを示すパケットの数である。
【0083】
宛先ホスト遮断のパケット数519は、生成元キャプチャデータに含まれている、通信装置30において動作するセキュリティソフトウェア等から送信される、宛先のホストが遮断されている旨のエラーを示すパケットの数である。
【0084】
送信元抑制のパケット数520は、生成元キャプチャデータに含まれている、送信元抑制(Source Quench)を示すICMPパケット(ICMPタイプ4)の数である。送信元抑制を示すICMPパケットは、例えば、ルータ等の機器が、パケットの受信バッファの容量が逼迫した際に送信する。
【0085】
TCPコネクション数に対するRSTパケット数521は、生成元キャプチャデータにおける、RSTパケット数とTCPコネクション数との比(=RSTパケット数422/TCPコネクション数423)である。
【0086】
TCPコネクション数に対するシーケンス異常数522は、生成元キャプチャデータにおける、TCPコネクション数423とTCPシーケンス異常数425との比(=TCPシーケンス異常数425/TCPコネクション数423)である。
【0087】
TCPコネクション数に対するIPv4プライベートアドレス通信におけるTCPシーケンス異常数523は、IPv4プライベートアドレス通信におけるTCPシーケンス異常数とTCPコネクション数との比(=IPv4プライベートアドレス通信におけるTCPシーケンス異常数426/TCPコネクション数423)である。
【0088】
トップTCPコネクションの送受信合計データ量524は、所定期間中における転送データ量が最大のコネクション(送信元IPアドレス、送信元ポート、宛先IPアドレス、宛先ポートで特定される)により転送されたデータの合計データ量
(Mbyte)である。尚、トップTCPコネクションの送受信合計データ量524は、時間的に連続する複数のキャプチャデータ151を分析することにより把握されることもある。
【0089】
<処理説明>
続いて、通信監視装置10が行う処理について説明する。
【0090】
[メイン処理]
図6は通信監視装置10が行う処理(以下、メイン処理S600と称する。)を説明するフローチャートである。以下、同図とともにメイン処理S600について説明する。
【0091】
通信監視装置10は、ユーザから認証情報の入力を受け付けて認証処理を行う(S611、S612)。認証に成功した場合(S612:YES)、通信監視装置10は、S613からの処理を行う。
【0092】
S613では、通信監視装置10は、ユーザから実行する処理の選択を受け付け、ユーザが選択した処理(設定処理、キャプチャ処理、情報出力処理のいずれか)の実行を開始する(S614)。ユーザが「設定処理」を選択した場合(S614:設定)、通信監視装置10はS621からの処理を行う。ユーザが「キャプチャ処理」を選択した場合(S614:キャプチャ)、通信監視装置10はS630からの処理を行う。キャプチャ処理&分析・警告処理S630の詳細については後述する。ユーザが「情報出力処理」を選択した場合(S614:情報出力)、通信監視装置10はS641からの処理を行う。
【0093】
ユーザが「設定処理」を選択した場合(S614:設定)、通信監視装置10は、まずユーザから設定項目及び設定内容を受け付け(S621,S622)、受け付けた内容を設定情報157に反映する(S623)。S624では、通信監視装置10は、ユーザが「設定処理」の終了操作を行ったか否かを判定する。ユーザが終了操作を行った場合(S624:YES)、処理はS651に進み、ユーザが終了操作を行っていない場合(S624:NO)、処理はS621に戻る。
【0094】
ユーザが「キャプチャ処理」を選択した場合(S614:キャプチャ)、通信監視装置10は、パケットキャプチャに関する処理(以下、キャプチャ&警告・分析処理S630と称する。)を行う。キャプチャ&警告・分析処理S630の詳細については後述する。キャプチャ&警告・分析処理S630の終了後、処理はS651に進む。
【0095】
ユーザが「情報出力処理」を選択した場合(S614:情報出力)、通信監視装置10は、ユーザから出力項目を受け付け(S641)、受け付けた項目の情報を取得し(S642)、取得した情報を表示する(S643)。S644では、通信監視装置10は、ユーザが「情報出力処理」の終了操作を行ったか否かを判定する。ユーザが終了操作を行った場合(S644:YES)、処理はS651に進み、ユーザが終了操作を行っていない場合(S644:NO)、処理はS641に戻る。
【0096】
S651では、通信監視装置10は、ユーザが所定の終了操作を行ったか否かを判定する。ユーザが所定の終了操作を行った場合(S651:YES)、処理はS611に戻り、ユーザが所定の終了操作を行っていない場合(S651:NO)、処理はS613に戻る。
【0097】
[キャプチャ処理&分析・警告処理]
図7はキャプチャ処理&分析・警告処理S630の概略を説明するフローチャートである。同図に示すように、通信監視装置10は、キャプチャ処理&分析・警告処理S630として、パケットキャプチャ処理S800と分析・警告処理S900を実行する。尚、パケットキャプチャ処理S800と分析・警告処理S900は、例えば、夫々が独立したプロセスとしてオペレーティングシステム111により実行される。
【0098】
[パケットキャプチャ処理]
図8はパケットキャプチャ処理S800を説明するフローチャートである。以下、同図とともにパケットキャプチャ処理S800について説明する。
【0099】
まず通信監視装置10は、まずネットワーク機器20から受信したパケットの実体(以下、パケットデータとも称する。)を格納するファイル(以下、キャプチャファイルとも称する。)のデータを一時記憶するバッファ(以下、ファイルバッファとも称する。)を記憶装置12に確保する(S811)。
【0100】
続いて、通信監視装置10は、ネットワーク機器20から送られてくるパケットの受信を開始し(S812)、受信したパケットのパケットデータをファイルバッファに順次書き込む(S813)。
【0101】
通信監視装置10は、パケットデータをファイルバッファに書き込む際にキャプチャファイルを生成する条件が成立したか否かを判定する(S814)。上記条件は、例えば、ファイルバッファに書き込まれているパケットデータの合計データサイズが予め設定された上限値に達したことである。上記条件が成立した場合(S814:YES)、処理はS815に進む。上記条件が成立していない場合(S814:NO)、処理はS812に戻る。
【0102】
S815では、通信監視装置10は、ファイルバッファに蓄積されているキャプチャデータを格納したキャプチャファイルを生成する。続いて、通信監視装置10は、ファイルバッファの内容を消去(クリア)する(S816)。
【0103】
S817では、通信監視装置10は、ユーザ等からパケットキャプチャの停止指示を受け付けたか否かを判定する。パケットキャプチャの停止指示を受け付けた場合(S817:YES)、通信監視装置10は、パケットキャプチャ処理S800を終了する。その後、処理は
図6のS651に進む。パケットキャプチャの停止指示を受け付けていない場合(S817:NO)、処理はS812に戻る。
【0104】
以上に説明したパケットキャプチャ処理S800を行うことにより、通信監視装置10は、一つ以上のパケットを予め設定されたデータサイズ分(例えば、50Mbyte程度)受信する度にキャプチャファイルが生成される。従って、各キャプチャファイルには、前回キャプチャファイルを生成した後、受信したパケットのデータが上記データサイズに達するまでの間に受信した一つ以上のパケットの実体が格納されることになる。
【0105】
[分析・警告処理]
図9は分析・警告処理S900を説明するフローチャートである。以下、同図とともに分析・警告処理S900について説明する。
【0106】
通信監視装置10は、分析・警告処理S900を実行することにより、パケットキャプチャ処理S800によって順次生成されるキャプチャファイルを順次選択し、選択したキャプチャファイルに含まれているパケット分析、選択したキャプチャファイルに基づく通信ネットワーク5に異常が生じているか否かの判定、及び異常が生じていると判定した場合の警告の出力等の処理を行う。
【0107】
まず通信監視装置10は、未選択のキャプチャデータ151(キャプチャファイル)が記憶装置12に存在するか否かを判定する(S911)。未選択のキャプチャデータ151が存在する場合(S911:YES)、通信監視装置10はS912からの処理を開始する。
【0108】
S912では、通信監視装置10は、未選択のキャプチャデータ151の一つを、判定対象とするキャプチャデータ(以下、判定対象キャプチャデータと称する。)として選択する。
【0109】
続いて、通信監視装置10は、判定対象キャプチャデータについて、分析情報152及び判定情報153を生成して記憶する(S913)。
【0110】
続いて、通信監視装置10は、既に記憶している他のキャプチャデータ151(キャプチャファイル)の中から、その分析情報152が、判定対象キャプチャデータの分析情報152と同一又は類似するものを検索する(S914)。
【0111】
例えば、通信監視装置10は、記憶している他のキャプチャデータ151の中から、判定対象キャプチャデータとキャプチャ所要時間が同一又は類似のものを検索する。
【0112】
また例えば、通信監視装置10は、記憶している他のキャプチャデータ151の中から、判定対象キャプチャデータと生成された時期が同一又は類似のものを検索する。
【0113】
また例えば、通信監視装置10は、記憶している他のキャプチャデータ151の中から、判定対象キャプチャデータと生成された曜日が一致するものを検索する。
【0114】
また例えば、通信監視装置10は、判定対象キャプチャデータが生成された日が営業日である場合、記憶している他のキャプチャデータ151の中から、生成された日が営業日であるものを検索する。
【0115】
また例えば、通信監視装置10は、記憶している他のキャプチャデータ151の中から、判定対象キャプチャデータと生成されたシーズンが一致するものを検索する。
【0116】
また例えば、通信監視装置10は、判定対象キャプチャデータが月末又は月初の所定期間内に生成されたものである場合、記憶している他のキャプチャデータ151の中から、生成された日が営業日であるものを検索し、判定対象キャプチャデータが月末又は月初の上記所定期間内に生成されたものでない場合、記憶している他のキャプチャデータ151の中から、生成された曜日が一致するものを検索する。
【0117】
また例えば、通信監視装置10は、既に記憶している他のキャプチャデータ151(キャプチャファイル)の中から、
図4に示した分析情報152の少なくともいずれかについて、判定対象キャプチャデータの分析情報152と同一又は類似するものを検索する。尚、複数の分析情報152の夫々について類否を判定する場合は、例えば、個々の分析情報152についての類似の度合いを集計した値に基づき総合的に上記類似度を判定する。上記集計に際しては、例えば、個々の分析情報152の類似の度合を重み付けしてもよい。
【0118】
続いて、通信監視装置10は、検索されたキャプチャデータに基づき、判定情報153の標準偏差を算出する(S915)。
【0119】
続いて、通信監視装置10は、算出した標準偏差に基づき、判定情報153が取り得る範囲である正常範囲を設定する(S916)。例えば、通信監視装置10は、標準偏差の正負所定倍数以内((判定情報の平均値)±(標準偏差の所定倍数)の範囲内)を正常範囲とする。尚、ユーザが、設定処理部114を介して、標準偏差に基づくどの程度の範囲を正常範囲とするかを設定情報157として設定できるようにしてもよい。
【0120】
続いて、通信監視装置10は、算出した標準偏差を用い、判定対象キャプチャデータの判定情報153の偏差値を算出する(S917)。
【0121】
続いて、通信監視装置10は、判定対象キャプチャデータの判定情報153のうち、その偏差値が正常範囲を超えているものの数をカウントする(S918)。
【0122】
続いて、通信監視装置10は、カウントした値(以下、カウント値とも称する。)が、予め設定された閾値(以下、警告閾値と称する。)を超えているか否かを判定する(S919)。尚、判定情報153ごとに重みづけてしてカウントするようにしてもよい。カウント値が警告閾値を超えている場合(S919:YES)、通信監視装置10は、通信ネットワーク5に異常が発生している旨の警告を出力する(S920)。通信監視装置10は、例えば、警告を示す画面を出力装置15に表示する。また例えば、通信監視装置10は、
図10に例示する電子メール1000を、通信ネットワーク5の管理者等宛てに送信する。これにより管理者等は、通信ネットワーク5に異常が発生していることを迅速に知ることができる。
【0123】
尚、
図10に示す電子メール1000は、ファイル名が「/capture/cap/eth1_capture_12256_20151221204534.cap」というキャプチャファイル(判定対象キャプチャデータ)を分析した結果、通信監視装置10が当該ファイルに異常が有ると判定して送信したものである。同図において、「Warning 4」は、カウント値が4であることを示す。この例では、例えば、警告閾値が3に設定され、通信監視装置10が当該ファイルに異常有りと判定している。Packets 44222」及び「Score 70」は、パケット数512が「44222」で偏差値が「70」(≧正常範囲(上限値))であることを示している。また「DNS error 6」及び「Score 82」は、DNSエラー数517が「6」で偏差値が「82」(≧正常範囲(上限値))であることを示している。また「Reset rate 69」及び「Score 73」は、TCPコネクション数に対するRSTパケット数521が「69」で偏差値が「73」(≧正常範囲(上限値))であることを示している。また「TCP accumulation is too big 18068307915」は、トップTCPコネクションの送受信合計データ量524が「18068307915」(≧正常範囲(上限値))であることを示している。尚、「Conversation '192.168.10.16:58948<->192.168.80.2:445'」は、トップTCPコネクションを特定する情報(送信元IPアドレス、送信元ポート、宛先IPアドレス、宛先ポート)である。
【0124】
図9に戻り、その後、処理はS921に進む。カウントした値が警告閾値を超えていない場合(S919:NO)、処理はS911に戻る。
【0125】
S921では、通信監視装置10は、分析&警告処理S900の停止条件が成立しているか否か(例えば、ユーザが停止操作を行ったか否か)を判定する。停止条件が成立している場合(S921:YES)、通信監視装置10は、分析&警告処理S900を終了する。その後、処理は
図6のS651に進む。
【0126】
尚、以上に説明した分析・警告処理S900では、キャプチャデータ151(キャプチャファイル)そのものを過去のデータとして蓄積しておき、分析・警告処理S900が実行される都度、キャプチャデータ151(キャプチャファイル)から分析情報152及び判定情報153を生成するようにしているが、検索効率の向上や記憶資源の有効利用を図るべく、例えば、分析情報152及び判定情報153のみを予め生成(例えば、
図8のパケットキャプチャ処理S800の実行時に生成)してDBMS112に蓄積しておき、分析・警告処理S900の実行時にはそれら(DBMS112の分析情報152及び判定情報153)を利用するようにしてもよい。
【0127】
以上に説明したように、本実施形態の通信監視装置10は、キャプチャデータ151を分析して分析情報152を生成し、またキャプチャデータ151を分析して判定情報153を生成し、判定対象キャプチャデータについて、記憶している他のキャプチャデータ151の中から、判定対象キャプチャデータと分析情報152が同一又は類似のものを検索し、検索したキャプチャデータ151の夫々の判定情報153に基づき、通信ネットワーク5が通常であるときに判定情報153が取り得る範囲である正常範囲を求めるので、通信ネットワーク5の通常の利用状況を適切に把握することができる。そしてこのようにして求めた正常範囲に基づき通信ネットワーク5の異常の有無を検出することで、通信ネットワーク5の異常の有無を効率よくかつ精度よく検出することができる。
【0128】
尚、通信ネットワーク5を利用して行われる通信は、人間の活動や人間が操作する機械によって発生するため、慣習や生活パターン、業務や企業活動等に連動して通信ネットワーク5の利用態様には特定のパターンが現れる。通信監視装置10は、判定対象キャプチャデータと分析情報152が同一又は類似の他のキャプチャデータ151を検索し、検索したキャプチャデータ151の夫々の判定情報153に基づき、通信ネットワーク5が通常であるときに判定情報153が取り得る範囲である正常範囲を求めるので、上記特定のパターンの類似性を考慮して正常範囲を求めることができ、通信ネットワーク5の異常を精度よく検出することができる。
【0129】
また通信監視装置10は、キャプチャデータ151から分析情報152と判定情報153とを独立して生成するので、キャプチャデータ151の検索に用いる情報(分析情報152)と、正常範囲を求める対象となる情報(判定情報153)とを独立して設定することができ、多様なユーザニーズに柔軟に対応することができる。
【0130】
また通信監視装置10は、取得した過去のキャプチャデータ151を記憶しているので、通信ネットワーク5の異常を検出した場合、キャプチャデータ151を事後的に分析することができ、異常の発生前後における通信を詳細に分析することができる。またキャプチャデータ151を利用して異常の発生前後における通信を再現(シミュレーション)することも可能であり、通信ネットワーク5に生じている障害を事後的に詳細に検証することができる。
【0131】
ところで、以上の説明は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明はその趣旨を逸脱することなく、変更、改良され得ると共に本発明にはその等価物が含まれることは勿論である。