(57)【要約】【課題】  時間合わせによる時刻の逆転が生じても、ネットワーク上に流れる時刻情報を含むパケットの到着時刻順を正しく修正する。【解決手段】ローカルタイマの時間をＮＴＰサーバの標準時間に修正するパケットキャプチャー装置において、メモリに記録されたパケットの時刻情報を次の手順で修正する。（ＳＴ７）ローカルタイマの時間ずれΔｔｉを計算して進んでいるかどうかを判断する。（ＳＴ８）Δｔｉ＞０でなければローカルタイマにｔｉｎを設定し、（ＳＴ９）Δｔｉ＞０であればローカルタイマにmax(ｔｉｅ−ｎ、ｔｉｎ)を設定する。（ＳＴ１１）ＮＴＰサーバに問い合わせ中にパケットが到着していれば、問い合わせ中に到着したパケットの時刻からmin(ｎ、Δｔｉ)を差し引いて修正する。【選択図】図４
2006275937.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上のパケットを取り込んでローカルタイマに基づく時刻情報と一緒にメモリに記録するとともに、所定時間間隔で前記ローカルタイマの時間をＮＴＰサーバの標準時間に修正するパケットキャプチャー装置において、
前記ＮＴＰサーバに問い合わせ中に到着したパケットについては、前記ローカルタイマの時間が標準時間より進んでいれば、min(ｎ、Δｔｉ)を差し引いて修正することを特徴とするパケット時刻修正方法。
【請求項２】
ネットワーク上のパケットを取り込んでローカルタイマに基づく時刻情報と一緒にメモリに記録するとともに、所定時間間隔で前記ローカルタイマの時間をＮＴＰサーバの標準時間に修正するパケットキャプチャー装置において、
前記メモリに記録されたパケットの時刻情報を次の手順で修正することを特徴とするパケット時刻修正方法。
（１）前記ローカルタイマの時間ずれΔｔｉを計算する。
（２）Δｔｉ＞０でなければ前記ローカルタイマにｔｉｎを設定し、Δｔｉ＞０であれば前記ローカルタイマにmax(ｔｉｅ−ｎ、ｔｉｎ)を設定する。
（３）前記ＮＴＰサーバに問い合わせ中にパケットが到着していれば、問い合わせ中に到着したパケットの時刻からmin(ｎ、Δｔｉ)を差し引いて修正する。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上を流れるパケットを取り込んで記録するパケットキャプチャー装置に関するものであり、特に、ローカルタイマの誤差を正す時にパケットの時刻情報が到着順に正しくなるよう修正する方法に関する。
【背景技術】
【０００２】
ネットワークに流れる大量のパケットの情報は、セキュリティ等の点から監視されることがあり、パケットキャプチャー装置が広く使われている。パケットキャプチャー装置が監視するパケットの情報は、内蔵するローカルタイマの時刻と一緒に記録されて到着順を知ることができるようになっているが、ローカルタイマの精度が十分とはいえないので記録される時刻が時間の経過と共に少しずつずれて誤差が生じている。ローカルタイマの誤差は標準時間を取り込んで正しくすることができるが、記録したパケット情報の時刻は正しくされることは無く、誤差を含んだままとなっている。その状況を従来のパケットキャプチャー装置の構成を示す図５のブロック図を用いて説明する。
【０００３】
図５において１０１Ｂはパケットキャプチャー装置であり、パケット情報取得部１とメモリ２Ｂ、パケット情報記録部３、パケット到着チェック部５Ｂ、標準時間取得部７Ｂ、マシン時間修正部４、ローカルタイマ８Ｂから構成されている。パケット情報取得部１はネットワーク２０に接続され、標準時間取得部７ＢはＮＴＰ（Network Time Protocol）サーバ２１に接続されている。パケット到着チェック部５Ｂはタイマーとパケット到着チェック回路から構成されており、タイマーがｎ秒毎にパケット到着チェック回路を起動させている。
ネットワーク２０を流れるパケットは連続的にパケット情報取得部１によって取り込まれ、パケットとローカルタイマ８Ｂに基づく時刻情報を一緒にメモリ２Ｂに格納される。パケット到着チェック部５Ｂはタイマーによってｎ秒毎にパケット到着チェック回路を起動し、メモリ２Ｂを監視してパケットが到着したかどうかをチェックする。パケットが到着していなければ再度ｎ秒待ってパケットが到着したかどうかをチェックし、同じことをｎ秒毎に繰り返す。パケットが到着していればパケット情報記録部３に指令を出し、メモリ２Ｂに格納された情報がハードディスクに記録され、パケットの到着順がわかるようになっている。ローカルタイマ８Ｂは時間と共に誤差が大きくなるので、ＮＴＰクライアントとして時間同期ツールによる時間合わせコマンドを定期的に起動しＮＴＰサーバーと同期して自動的に時間が修正される（例えば、特許文献１参照）。このとき具体的には、マシン時間修正部４が定期的に標準時間取得部７Ｂに指令を送り、標準時間取得部７ＢがＮＴＰサーバ２１に問い合わせて標準時間を取得し、ローカルタイマ８Ｂの時間を修正する。その後は、取得するパケットと修正されたローカルタイマ８Ｂに基づく時刻情報が一緒に記録される。
【特許文献１】特開２００２−２５０７８６
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが図５に示した従来のパケットキャプチャー装置は、パケットの記録とローカルタイマの自動的修正が独立して機能するので、ローカルタイマの時間が定期的に正されるものの記録したパケットの時刻情報が到着順に正しく記録されるとは限らず、後から到着したパケットの到着時刻が先に到着したパケットの到着時刻より早くなったりしてしまい、時間合わせによる時刻の逆転が発生するという問題があった。
【０００５】
本発明は、かかる問題点に鑑みてなされたものであり、時間合わせによる時刻の逆転が生じても、ネットワーク上に流れる時刻を含むパケットの到着時刻順を正確に修正することができるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
そこで本発明は、ネットワーク上のパケットを取り込んでローカルタイマに基づく時刻情報と一緒にメモリに記録するとともに、所定時間間隔で前記ローカルタイマの時間をＮＴＰサーバの標準時間に修正するパケットキャプチャー装置において、前記ＮＴＰサーバに問い合わせ中に到着したパケットについては、前記ローカルタイマの時間が標準時間より進んでいれば、min(ｎ、Δｔｉ)を差し引いて修正することを特徴としている。
また第２の本発明は、ネットワーク上のパケットを取り込んでローカルタイマに基づく時刻情報と一緒にメモリに記録するとともに、所定時間間隔で前記ローカルタイマの時間をＮＴＰサーバの標準時間に修正するパケットキャプチャー装置において、前記メモリに記録されたパケットの時刻情報を次の手順で修正することを特徴としている。（１）前記ローカルタイマの時間ずれΔｔｉを計算する。（２）Δｔｉ＞０でなければ前記ローカルタイマにｔｉｎを設定し、Δｔｉ＞０であれば前記ローカルタイマにmax(ｔｉｅ−ｎ、ｔｉｎ)を設定する。（３）前記ＮＴＰサーバに問い合わせ中にパケットが到着していれば、問い合わせ中に到着したパケットの時刻からmin(ｎ、Δｔｉ)を差し引いて修正する。
【発明の効果】
【０００７】
本発明によれば、ＮＴＰサーバに問い合わせて時間がずれたローカルタイマの時間を修正し、さらにＮＴＰサーバに問い合わせ中に到着したパケットの時刻情報についても修正をするので、ローカルタイマの時間ずれの修正に合せて記録したパケットの時刻情報が正しくされる。従って、パケットの到着時刻順も正しくされてパケットキャプチャー装置の精度を向上させるという効果がある。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態を図に基づいて説明する。
【実施例１】
【０００９】
図１は本発明のパケットキャプチャー装置の構成を示す図である。パケット情報取得部１とパケット情報記録部３、マシン時間修正部４は図５に記載のものと全く同じものが使われている。メモリ２とパケット到着チェック部５、標準時間取得部７、ローカルタイマ８は図５のメモリ２Ｂ、パケット到着チェック部５Ｂ、標準時間取得部７Ｂ、ローカルタイマ８Ｂとほぼ同じものであり、多少の機能が異なっている。パケット時刻情報修正部６と時間進み検出部９は図５では使われておらず、新しく追加されたものである。
図において、標準時間取得部７がＮＴＰサーバ２１に問合わせて標準時間を取得すると、時間進み検出部９がローカルタイマ８のマシン時間と取得した標準時間の時間ずれを計算する。時間のずれがあればマシン時間修正部４がローカルタイマ８の時間を修正する。ＮＴＰサーバに問い合わせ中にパケットが到着していれば、問い合わせ中に到着したメモリ２の中のパケットの時刻を時刻情報修正部６が修正する。
【００１０】
図２は、パケット情報取得部１によって取得されてメモリ２に格納された時刻情報を含むパケットの格納状況を示す図である。
図３は標準時間取得部７がＮＴＰサーバ２１に標準時間を問合わせるときの状況を時系列に説明する図である。マシン時刻をｔｓ、ｔｅで表わし、標準時刻をｔｎで表わし、メモリに格納されたパケットのポイントをｐで表わしている。添え字ｓは問合せ開始の時刻を表わし、添え字ｅは問合せ終了の時刻を表わし、添え字１、２、・・・ｍは問合せ回数を表わしている。
【００１１】
図４は本発明のパケットキャプチャー装置１０１の処理手順を説明するフローチャートである。以下、これらの図を用いてパケットキャプチャー装置の動作について説明する。
パケットキャプチャー装置１０１が動作を開始すると、まず、パケット情報取得部１がネットワーク２０に接続され、連続的に監視対象のパケットを取り込んでローカルタイマ８に基づく時刻情報といっしょにメモリ２に格納する。
次にパケット到着チェック部５がｎ秒の時間間隔でメモリ２にパケットが到着しているかどうかをチェックする。このとき、（ＳＴ１）タイマーがｎ秒待機し、ｎ秒待機の後にパケット到着チェック回路を起動させる。そして、（ＳＴ２）パケットがメモリ２に到着したかどうかをチェックする。（ＳＴ３）パケットが到着したかどうかを判断して到着しているときは、標準時刻とあわせることはなく、（ＳＴ４）パケット情報記録部３がメモリ２に溜まったパケットをパケット情報記録部が内蔵するハードディスクに書き出す。
パケットが到着していなければ、（ＳＴ５）パケット到着チェック部５が標準時間取得部７を起動させる。（ＳＴ６）標準時間取得部７が起動すると、ＮＴＰサーバ２１に標準時間を問合せて問合せ開始時マシン時刻tisとメモリ２中にある現在パケットのポイントpis、問合せ終了時マシン時刻tie、メモリ２中にある現在パケットのポイントpie、問合せ終了時標準時刻tinを取得して記録する(i=1,2,…) 。
【００１２】
標準時間を取得すると、時間進み検出部９がマシン時間と標準時間の差をとって時間ずれΔtiを計算する。この時間ずれΔtiは、次式によって求められる。
Δti=tie-tin （i=1,2,…)  
そして、（ＳＴ７）時間進み検出部９がマシン時間が進んでいるかどうかを判断し、すなわち、Δti＞０かどうかを判断し、Δti＞０ではなく、Δti≦0となっていればマシン時間が標準時間と同じか標準時間より遅れており、（ＳＴ８）マシン時間修正部４が現在の標準時刻tinを用いてローカルタイマ８を修正し、時間合わせを終了する。
【００１３】
一方、Δti＞0であればマシン時間が標準時間より進んでおり、（ＳＴ９）マシン時間修正部４がmax（tie-ｎ,tin）を用いてローカルタイマ８を修正する。ここでmax（tie-ｎ,tin）とは、引数tie-ｎとtinの大きい方の値を返却する関数である。すなわち、時間ずれΔtiがｎ秒より小さければ、マシン時間を標準時間に修正し、時間ずれΔtiがｎ秒より大きければ、マシン時間をｎ秒減らす。いいかえれば、標準時間に対するマシン時間の進みがｎ秒を超えていればマシン時間からｎ秒を減じて修正し、ｎ秒以下であればマシン時間を標準時間に修正する。例えば、ｎ＝５秒、マシン時間の進みが３秒（Δti＝３秒）であればマシン時刻tieのときのマシン時間を標準時刻tinに変えてマシン時間を修正し、ｎ＝５秒、マシン時間の進みが８秒（Δti＝８秒）であればマシン時刻tieのときのマシン時間をtie−５に変えてマシン時間を修正する。
次に（ＳＴ１０）パケット時刻情報修正部６が時間問い合わせ中にパケットが到着しているかどうかをチェックする。すなわちtis〜tieの間にpie＞pisとなっているかどうかをチェックする。pie＝pisとなってパケットが到着していなければ、パケット時刻情報を修正する必要はない。pie＞pisとなってパケットが到着していれば、（ＳＴ１１）パケット時刻情報修正部６がパケットαiの時刻情報を修正する。このとき、修正前パケットの時刻情報からmin（ｎ,Δti）が差し引かれて修正後パケットの時刻情報とされる。ここでmin（ｎ,Δti）とは、引数ｎとΔtiの小さい方の値を返却する関数である。例えばｎ＝５秒、Δti＝３秒であれば、修正後パケットの時刻情報＝修正前パケットの時刻情報−３、となり、ｎ＝５秒、Δti＝８秒であれば、修正後パケットの時刻情報＝修正前パケットの時刻情報−５、となる。
【００１４】
次に、（ＳＴ１２）パケット時刻情報修正部６がマシン時間をさらにあわせる必要があるかどうか、すなわち、Δti≦ｎかどうかを判断する。Δti≦ｎとなっていてマシン時間をさらに合せる必要がなければ、マシン時間は既に標準時間に設定済みとなっており、時間合わせを終了する。
Δti≦ｎとなっておらずマシン時間をさらに合せる必要があれば、（ＳＴ１）に戻って上記の手順を繰り返す。
以上述べたように、本実施例によれば、標準時間を問い合わせ中に到着したパケットがあってたとしも、そのようなパケットの存在を把握し、時間ずれΔtiとｎを考慮してパケットの時刻情報を修正するのでパケットデータの到着時刻順が正確に修正されるのである。
【産業上の利用可能性】
【００１５】
時刻情報を含むパケットデータの到着時刻順が正確に修正されるので、時刻情報を含むパケットデータを利用するアプリケーションであればパケットキャプチャーに限られることはなく、他の様々なアプリケーションに適用できる。
【図面の簡単な説明】
【００１６】
【図１】本発明のパケットキャプチャー装置の構成を示すブロック図
【図２】メモリに格納された時刻情報を含むパケットの格納状況示す図
【図３】標準時間取得部がＮＴＰサーバに標準時間を問合わせるときの時系列の状況を説明する図
【図４】本発明のパケットキャプチャー装置の処理手順を説明するフローチャート
【図５】従来のパケットキャプチャー装置の構成を示すブロック図
【符号の説明】
【００１７】
１  パケット情報取得部、                ２、２Ｂ  メモリ、
３  パケット情報記録部、                ４  マシン時間修正部、
５、５Ｂ  パケット到着チェック部、      ６  パケット時刻情報修正部、
７、７Ｂ  標準時間取得部、              ８、８Ｂ  ローカルタイマ、
９  時間進み検出部、                    ２０  ネットワーク、
２１  ＮＴＰサーバ、                    １０１、１０１Ｂ  パケットキャプチャー装置
t0  時間問合せ開始時マシン時刻
tis  第i回目時間問合せ開始時マシン時刻 (i=1,2,…m)
tie  第i回目時間問合せ終了時マシン時刻 (i=1,2,…m)
tin  第i回目時間問合せ終了時標準時刻 (i=1,2,…m)
pis  第i回目時間問合せ開始時メモリ２中現在パケットのポイント(i=1,2,…m)
pie  第i回目時間問合せ終了時メモリ２中現在パケットのポイント(i=1,2,…m)
αi  tis〜tie間に到着しているパケット（i=1,2,…m）
ｎ  ｎ秒待つ回路の待ち時間
Δti  第i回目時間問合せ終了時マシン時間と標準時間の時間ずれ（Δti=tie-tin、i=1,2,…m）
【図１】
2006275937.tif 000003
【図２】
2006275937.tif 000004
【図３】
2006275937.tif 000005
【図４】
2006275937.tif 000006
【図５】
2006275937.tif 000007