JP4851566B2 - Dns試験装置、dns試験方法およびdns試験プログラム - Google Patents

Dns試験装置、dns試験方法およびdns試験プログラム Download PDF

Info

Publication number
JP4851566B2
JP4851566B2 JP2009148102A JP2009148102A JP4851566B2 JP 4851566 B2 JP4851566 B2 JP 4851566B2 JP 2009148102 A JP2009148102 A JP 2009148102A JP 2009148102 A JP2009148102 A JP 2009148102A JP 4851566 B2 JP4851566 B2 JP 4851566B2
Authority
JP
Japan
Prior art keywords
query
dns
test
resource record
dns server
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.)
Active
Application number
JP2009148102A
Other languages
English (en)
Other versions
JP2011004369A (ja
Inventor
勝彦 阪井
祐一 島村
泰輔 若杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2009148102A priority Critical patent/JP4851566B2/ja
Publication of JP2011004369A publication Critical patent/JP2011004369A/ja
Application granted granted Critical
Publication of JP4851566B2 publication Critical patent/JP4851566B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、DNSサーバに登録されている情報が正しいか否かを判定するDNS試験装置、DNS試験方法およびDNS試験プログラムに関する。
従来より、インターネットサービスにおいて、ホスト名(ドメイン名)とIPアドレス(Internet Protocol Address)とを対応させるDNSシステム(Domain Name System)が一般的に広く利用されている。
かかるDNSシステムでは、名前解決を依頼するクライアント装置と、クライアント装置から受信した要求に対して、名前解決を行って応答するDNSサーバとを有している。また、DNSサーバは、権威サーバとキャッシュサーバとを有していることが多い。なお、権威サーバとは、名前空間の中にある特定のゾーンを管理する装置である。また、キャッシュサーバとは、クライアント装置からの問合せを受け付けて、自身がキャッシュ情報を持っていない場合は、他の権威サーバへ再帰問合せして名前解決を行い、キャッシュ情報を持っている場合は、キャッシュデータを用いて応答する装置である。
このようなDNSサーバは、インターネットを介して様々なWebサービスが提供される現代のネットワーク環境において、非常に重要な役割を担っている。したがって、DNSサーバに正しい情報が登録されているか否か等、DNSサーバの設定情報を確認する様々な手法が開示されている。
例えば、DNSサーバの設定情報を確認する手法として、digコマンド(domain information groper コマンド)が多く利用されている。DNSサーバの設定内容を確認する管理者等は、digコマンドをDNSサーバに発行し、リソースレコード(RR)やドメイン名の応答を受け付けて、DNSサーバに登録されている情報を取得することができる。
「DNS&BIND 第5版」、第12章nslookupとdig、オライリージャパン出版、2008年12月
しかしながら、上述した従来の技術では、DNSサーバに登録されている情報が正しいか否かを簡単に判定することができないという課題があった。例えば、DNSサーバに登録されている情報が正しいか否かを判定するには、DNSに関する専門的な知識が必要である。そのため、DNSの専門的知識を有しない管理者等が、上記したdigコマンドを用いて、DNSサーバに登録されている情報を取得したとしても、取得した情報が正しいのか間違っているのかを判断することができない。
本発明は、上記に鑑みてなされたものであって、DNSサーバに登録されている情報が正しいか否かを簡単に判定することが可能であるDNS試験装置、DNS試験方法およびDNS試験プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、DNSサーバに登録されている情報が正しいか否かを判定するDNS試験装置であって、前記DNSサーバに問い合わせるホスト情報を示すリソースレコードを保持する試験内容保持手段と、前記試験内容保持手段に保持されるリソースレコードをクエリとして、試験対象のDNSサーバに対して発行するクエリ発行手段と、前記クエリ発行手段により発行されたクエリに対するクエリ応答を前記試験対象のDNSサーバから受信し、前記クエリ発行手段により発行されたクエリに含まれるリソースレコードと前記クエリ応答に含まれるリソースレコードとを比較することにより、発行されたクエリと前記DNSサーバに登録されているリソースレコードの対応関係を示す試験結果を生成する結果生成手段と、を有することを特徴とする。
本発明にかかるDNS試験装置、DNS試験方法およびDNS試験プログラムは、DNSサーバに登録されている情報が正しいか否かを簡単に判定することが可能であるという効果を奏する。
図1は、実施例1に係るDNS試験装置を含むシステムの全体構成を示す図である。 図2は、実施例1に係るDNS試験装置の構成を示すブロック図である。 図3は、試験対象DB16に記憶される情報の例を示す図である。 図4は、試験シナリオDB17に記憶される情報の例を示す図である。 図5は、試験結果DB18に記憶される情報の例を示す図である。 図6は、総合判定DB19に記憶される情報の例を示す図である。 図7は、試験クエリとクエリ応答との比較判定を説明する図である。 図8は、試験クエリとクエリ応答とのRR数の比較判定を説明する図である。 図9は、試験クエリとクエリ応答との例を示す図である。 図10は、試験結果の例を示す図である。 図11は、総合判定を説明する図である。 図12は、実施例1に係るDNS権威サーバの構成を示すブロック図である。 図13は、実施例1に係るDNS試験装置における試験処理の流れを示すフローチャートである。 図14は、実施例1に係るDNS試験装置における試験結果作成処理の流れを示すフローチャートである。 図15は、試験実施したいRRだけを記述した試験シナリオの例を示す図である。 図16は、試験実施したいRRだけを記述した試験シナリオを用いた場合の試験クエリとクエリ応答との比較判定を説明する図である。
以下に、本発明にかかるDNS試験装置、DNS試験方法およびDNS試験プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
[全体構成]
まず、図1を用いて、開示するDNS試験装置を含むシステムの全体構成について説明する。図1は、実施例1に係るDNS試験装置を含むシステムの全体構成を示す図である。
図1に示すように、DNS試験装置は、ネットワークを介して、名前空間の中にある特定のゾーンを管理するDNS権威サーバと接続される。なお、ここでは、DNS試験装置が1台のDNS権威サーバと接続されている例を図示しているが、接続される台数を限定するものではない。
また、DNS権威サーバは、一般的に広く利用されているDNSシステムにおけるDNSサーバであり、IPアドレスとドメイン名との対応表を記憶しており、クライアントからクエリを受信し、名前解決を実施して応答する。例えば、DNS権威サーバは、クライアントからクエリとしてIPアドレスを受信した場合に、受信したIPアドレスに対応するドメイン名をクエリ応答として送信する。また、DNS権威サーバは、クライアントからクエリとしてドメイン名を受信した場合に、受信したドメイン名に対応するIPアドレスをクエリ応答として送信する。
DNS試験装置は、DNS権威サーバに対して、DNS権威サーバが正しい情報を保持しているか否かを試験する装置である。このようなDNS試験装置は、DNS権威サーバに登録されているか否かを問い合わせるホスト情報を示すリソースレコードを保持する(図1の(1)参照)。例えば、DNS試験装置は、DNS権威サーバに問い合わせる情報として、「sample.co.jp」のネームサーバが「ns01.sample.co.jp」と「ns02.sample.co.jp」であることを示す2つのリソースレコードを試験シナリオとして保持している。つまり、DNS試験装置は、DNS権威サーバに登録されていると期待する「sample.co.jp」のネームサーバが「ns01.sample.co.jp」と「ns02.sample.co.jp」であることを示している。
そして、DNS試験装置は、試験シナリオに保持されるリソースレコードをクエリとして、試験対象のDNSサーバに対して発行する(図1の(2)参照)。例えば、DNS試験装置は、試験シナリオに保持される1つ目のリソースレコードに対する試験として、「sample.co.jp」のNS(ネームサーバ)レコードを問い合わせるクエリをDNS権威サーバに送信する。そして、DNS権威サーバは、DNS試験装置からクエリ(試験)を受信すると、自装置が保持するRDATA(可変長であるリソースの中身)を応答する。
その後、DNS試験装置は、発行されたクエリに対するクエリ応答を試験対象のDNS権威サーバから受信する(図1の(3)参照)。例えば、DNS試験装置は、発行されたクエリに対するクエリ応答として、応答RDATA(ns01.sample.co.jp、ns02.sample.co.jp)をDNS権威サーバから受信する。
そして、DNS試験装置は、試験シナリオに保持されるホスト情報がDNS権威サーバに登録されているか否かを示す問い合わせ結果を生成する(図1の(4)参照)。例えば、DNS試験装置は、エラーなく応答を受信したので、応答受信OKと判断する。また、DNS試験装置は、試験シナリオに保持する「ns01.sample.co.jp」と、応答RDATAに含まれる「ns01.sample.co.jp」とが一致し、1つの試験クエリで二つのRDATA(ns01.sample.co.jp、ns02.sample.co.jp)を受信したと判定する。さらに、DNS試験装置は、クエリ応答で受信したRDATAに「ns02.sample.co.jp」が含まれていることから、試験シナリオに保持する「ns02.sample.co.jp」についても、上述した各判定と同様の判定を行う。また、DNS試験装置は、試験シナリオに保持する「sample.co.jp」の1トランザクションにおけるリソースレコードが2つであり、応答RDATAにおける1トランザクションのリソースレコードも2つであることから、試験対象のシンボル数(リソースレコード数)が一致すると判定する。
以上から、DNS試験装置は、「ドメイン名に対するNSレコードが試験シナリオとDNS権威サーバとで同じ数だけ登録されており、サーバ名も一致する」試験結果として、「sample.co.jp.,NS,“ns01.sample.co.jp.”、OK、EQ」と「sample.co.jp.,NS,“ns02.sample.co.jp.”、OK、EQ」を作成する。
このように、実施例1に係るDNS試験装置は、DNSの専門的知識がない人でも確認できる試験結果を作成することができる。その結果、DNSサーバに登録されている情報が正しいか否かを簡単に判定することが可能である。
[DNS試験装置の構成]
次に、図2を用いて、図1に示したDNS試験装置の構成を説明する。図2は、実施例1に係るDNS試験装置の構成を示すブロック図である。図2に示すように、DNS試験装置10は、通信制御I/F部11と、入力部12と、出力部13と、記憶部15と、制御部20とを有する。
通信制御I/F部11は、DNS権威サーバとの間でやり取りする各種情報に関する通信を制御する。例えば、通信制御I/F部11は、DNS権威サーバに対して試験クエリを送信し、試験クエリに対するクエリ応答をDNS権威サーバから受信する。
入力部12は、各種の情報の入力を受付ける入力手段であり、キーボードやマウス、マイクなどを有し、例えば、試験開始指示、後述する試験対象DB16や試験シナリオDB17の更新、試験結果の参照要求などを受け付けて入力する。なお、後述するモニタも、マウスと協働してポインティングディバイス機能を実現する。
出力部13は、各種の情報を出力する出力手段であり、モニタ(若しくはディスプレイ、タッチパネル)やスピーカなどを有し、例えば、後述する制御部20によって作成された試験結果などを表示出力する。
記憶部15は、制御部20による各種処理に必要なデータおよびプログラムを格納するとともに、試験対象DB16と、試験シナリオDB17と、試験結果DB18と、総合判定DB19とを有する。
試験対象DB16は、試験対象とするDNS権威サーバのホスト情報を記憶する。例えば、試験対象DB16は、図3に示すように、「DNS権威サーバ名=IPアドレス」として「DNS権威サーバA=192.168.1.1」や「DNS権威サーバB=192.168.1.2」などと記憶する。なお、図3は、試験対象DB16に記憶される情報の例を示す図である。
試験シナリオDB17は、DNS権威サーバに登録されているか否かを問い合わせるホスト情報を示すリソースレコードを保持する。例えば、試験シナリオDB17は、図4に示すように、「ドメイン、TYPE、期待RDATA」として「sample.co.jp.,A,“192.168.1.1”」や「sample.co.jp.,NS,“ns01.sample.co.jp.”」などと記憶する。なお、図4は、試験シナリオDB17に記憶される情報の例を示す図である。
ここで記憶される「ドメイン」とは、試験対象となるDNS権威サーバが管理するドメイン名を示している。「TYPE」とは、リソースレコードに保存されるリソースのタイプを示しており、例えば、ホストのアドレスの場合「A」タイプ、ドメインが管理するネームサーバの場合「NS」、ドメインのメールサーバの場合「MX」などとなる。なお、このTYPEは、一般的なDNSシステムで利用されるものである。また、「期待RDATA」は、試験対象であるDNS権威サーバに登録されていることを期待するデータである。
試験結果DB18は、後述する制御部20によって作成された詳細な試験結果を、試験を実施したDNS権威サーバごとに記憶する。例えば、試験を実施したサーバをDNS権威サーバAとした場合、試験結果DB18は、図5の(1)に示すように、総試験数(total_RR)、総問い合わせ数(total_query)、正常応答数(normal_response)、異常応答数(error_response)、タイムアウトクエリ数(loss)、試験実施元ホスト名(source_host_name)、試験実施日時分秒(date)を記憶する。なお、総試験数とは、試験シナリオDB17に記憶される試験シナリオ内のRR数(リソースレコード数)であり、総問い合わせ数は、DNS権威サーバに送信した総トランザクション数である。
また、試験結果DB18は、図5の(1)に示すように、「ドメイン、タイプ、期待RDATA」の試験結果を記憶する。例えば、図5の(1)の(a)は、DNS権威サーバAに、試験シナリオと同じタイプが登録されていて、かつ、試験シナリオと同じRDATAが登録されていて、かつ、このタイプにおいて1件のリソースレコードがDNS権威サーバAに登録されていることを示している。具体的に図5の(1)の(a)の各レコードについて説明すると、「sample.co.jp.」はドメインを示しており、「A」は、ホストのアドレスを示すリソースレコードのタイプであり、「192.168.1.1」は、ドメインのアドレスを示しており、「OK」は、192.168.1.1と同じリソースレコードがDNS権威サーバAに登録されていたことを示しており、「EQ」は、Aと同じタイプのリソースレコードがDNS権威サーバAに1件登録されていたことを示している。したがって、図5の(1)の(a)は、ドメイン「sample.co.jp.」とホストアドレス「192.168.1.1」とが対応付けられたリソースレコードが1件、DNS権威サーバに登録されていることを示している。
また、図5の(1)の(b)は、DNS権威サーバAに、試験シナリオと同じタイプが登録されていて、かつ、2件の試験シナリオ各々と同じRDATAが登録されていて、かつ、このタイプにおいて2件よりも多くのリソースレコードがDNS権威サーバAに登録されていることを示している。具体的に図5の(1)の(b)の各レコードについて説明すると、「sample.co.jp.」はドメインを示しており、「NS」は、ドメインが管理するネームサーバを示すリソースレコードのタイプであり、「ns01.sample.co.jp.」は、ドメインが管理するネームサーバを示しており、「OK」は、ns01.sample.co.jp.と同じリソースレコードがDNS権威サーバAに登録されていたことを示しており、「OVER」は、NSと同じタイプのリソースレコードがDNS権威サーバAに2件以上登録されていたことを示している。同様に、「sample.co.jp.」はドメインを示しており、「NS」は、ドメインが管理するネームサーバを示すリソースレコードのタイプであり、「ns02.sample.co.jp.」は、ドメインが管理するネームサーバを示しており、「OK」は、ns02.sample.co.jp.と同じリソースレコードがDNS権威サーバAに登録されていたことを示しており、「OVER」は、NSと同じタイプのリソースレコードがDNS権威サーバAに2件以上登録されていたことを示している。したがって、図5の(2)の(b)は、ドメイン「sample.co.jp.」とネームサーバ「ns01.sample.co.jp.」、ドメイン「sample.co.jp.」とネームサーバ「ns02.sample.co.jp.」とがそれぞれ対応付けられたリソースレコードがDNS権威サーバに登録されているとともに、他のネームサーバがDNS権威サーバに登録されていることを示している。
また、図5の(1)の(c)は、DNS権威サーバAに、試験シナリオと同じタイプが登録されていて、かつ、試験シナリオと同じRDATAが登録されていなくて、かつ、別の異なる1件のRDATAがDNS権威サーバAに登録されていることを示している。具体的に図5の(1)の(c)の各レコードについて説明すると、「sample.co.jp.」はドメインを示しており、「CNAME」は、ドメインのエイリアス(別名)を示すリソースレコードのタイプであり、「real.sample.co.jp.」は、ドメインのエイリアスを示しており、「NG」は、「real.sample.co.jp.」と同じリソースレコードがDNS権威サーバAに登録されていないことを示しており、「EQ」は、CNAMEと同じタイプのリソースレコードがDNS権威サーバAに1件登録されていたことを示している。したがって、図5の(1)の(c)は、ドメイン「sample.co.jp.」のエイリアス「real.sample.co.jp.」を示すリソースレコードがDNS権威サーバに登録されておらず、CNAMEと同じタイプの他のリソースレコードが登録されていることを示している。
なお、図5の(2)は、試験を実施したサーバをDNS権威サーバBとした場合の例であり、図5の(1)と同様の内容であるのでここでは省略する。また、図5は、試験結果DB18に記憶される情報の例を示す図である。
総合判定DB19は、後述する制御部20によって作成された試験結果の総合判定情報を記憶する。例えば、総合判定DB19は、図6に示すように、試験対象となったDNS権威サーバの台数(The total number of target)、総合判定結果(DNS権威サーバ=OKorNG)、試験完了日時などを記憶する。ここで記憶される「総合判定結果」は、試験結果DB18に記憶される試験結果が全てOKの場合、例えば、図5の(1)の(a)〜(c)が全てOKの場合に「OK」が記憶される。また、「総合判定結果」は、試験結果DB18に記憶される試験結果のうちいずれかがNGの場合、例えば、図5の(1)の(a)〜(c)のうちいずれかがNGの場合に「NG」が記憶される。ここで「OK」が記憶された場合、実施した試験に問題がなかったことを示している。「NG」が記憶された場合、RDATAが一致していない又はRR数が一致していないことを示しており、利用者は、試験結果DB18を確認して、次への対応に備えることができる。なお、図6は、総合判定DB19に記憶される情報の例を示す図である。
制御部20は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、特に、シナリオ読込部21と、クエリ発行部22と、結果生成部23とを有し、これらによって種々の処理を実行する。
シナリオ読込部21は、入力部12を介して試験開始指示を受け付けた場合またはタイマー等の所定の契機に基づいて、試験対象DB16から試験対象のDNS権威サーバ情報を読み込み、試験シナリオDB17からリソースレコードを読み込む。そして、シナリオ読込部21は、読み込んだ試験対象のDNS権威サーバ情報や試験シナリオ(リソースレコード)を、後述するクエリ発行部22に出力する。
クエリ発行部22は、試験シナリオDB17に保持されるリソースレコードをクエリとして、試験対象のDNSサーバに対して発行する。例えば、クエリ発行部22は、試験対象となるDNS権威サーバの情報として「IPアドレス」や「ホスト名」をシナリオ読込部21から受信するとともに、試験シナリオ(リソースレコード)をシナリオ読込部21から受信する。そして、クエリ発行部22は、受信した試験シナリオに含まれるドメインとTYPEをキー情報として、図示しないメモリなどに格納する。
そして、クエリ発行部22は、シナリオ読込部21から受信した宛先(IPアドレスなど)に対して、メモリに書き込んだリソースレコードを1行ずつクエリとして送信する。なお、必ずしも1行ずつ送信する必要はなく、トランザクション単位で送信することもできる。例えば、クエリ発行部22は、メモリに書き込んだ試験シナリオのリソースレコード1行(1RR)を最低トランザクションとして、トランザクション単位で送信してもよい。また、クエリ発行部22は、メモリに書き込んだ試験シナリオのドメインとTYPEが同一で連続している場合には、複数リソースレコードを1トランザクションとして送信してもよい。また、クエリ発行部22は、メモリに書き込んだ試験シナリオのドメインとTYPEが同一のものは、連続していていなくても、まとめて1トランザクションとして送信してもよい。
結果生成部23は、クエリ発行部22により発行されたクエリに対するクエリ応答を試験対象のDNSサーバから受信し、ホスト情報がDNSサーバに登録されているか否かを示す試験結果を生成する。具体的には、結果生成部23は、DNS権威サーバから受信したクエリ応答(応答RDATA)に基づいて、試験結果を作成し、試験結果DB18に格納する。また、結果生成部23は、作成した試験結果に基づいて、総合判定を作成し、総合判定DB19に格納する。
例えば、結果生成部23は、図7に示す図に基づいて、DNS権威サーバから受信したクエリ応答(応答RDATA)に対して、「エラーでない応答であるか否か(RCODE)、受信した応答数(ANSWERSECTION)、期待RDATAと応答RDATAとの一致or不一致」について判定する。例を挙げると、結果生成部23は、DNS権威サーバから受信したクエリ応答が「エラー応答ではなく」、「応答数が1以上であり」、「送信したクエリのRDATAと受信したクエリ応答のRDATAとが一致する」場合には、「OK」を試験結果とする。また、結果生成部23は、DNS権威サーバから受信したクエリ応答が「エラー応答ではなく」、「応答数が1以上であり」、「送信したクエリのRDATAと受信したクエリ応答のRDATAとが不一致」の場合には、「NG」を試験結果とする。また、結果生成部23は、上述した以外の場合には、図7に示すように、RFC2136に基づいた、NG_NODATAなどの判定を行う。図7は、試験クエリとクエリ応答との比較判定を説明する図である。なお、図7に示した情報は、特許請求の範囲に記載の対応関係の一例を示すものである。
次に、結果生成部23は、図7を用いて「OK」または「NG」と判定したクエリ応答に対して、図8に示すように、1トランザクションあたりのリソースレコード数(RR数)と応答リソースレコード数(RR数)とを比較する。例を挙げると、結果生成部23は、クエリとしてDNS権威サーバに送信した1トランザクションあたりのRR数と応答RR数とが一致する場合、試験結果を「EQ」とする。つまり、結果生成部23は、図7に示した判定において「OK」と判定されたクエリ応答に対して、「EQ」と判定した場合、試験結果は「OK、EQ」と判定されたこととなる。図8は、試験クエリとクエリ応答とのRR数の比較判定を説明する図である。
また、結果生成部23は、クエリとしてDNS権威サーバに送信した1トランザクションあたりのRR数よりも応答RR数の方が多い場合、試験結果を「OVER」とする。また、結果生成部23は、クエリとしてDNS権威サーバに送信した1トランザクションあたりのRR数よりも応答RR数の方が少ない場合、試験結果を「LESS」とする。
ここで、上述した判定をより具体的に説明する。例えば、クエリ発行部22は、図9に示すように「sample.co.jp.,NS,“ns01.sample.co.jp.”」と「sample.co.jp.,NS,“ns02.sample.co.jp.”」とを試験クエリとしてDNS権威サーバに送信する。そして、結果生成部23は、クエリ応答として、図9に示すように、「“ns01.sample.co.jp.”」と「“ns03.sample.co.jp.”」とを受信したとする。図9は、試験クエリとクエリ応答との例を示す図であり、図10は、試験結果の例を示す図である。
この場合、結果生成部23は、「sample.co.jp.,NS,“ns01.sample.co.jp.”」について、クエリ応答が「エラー応答ではなく」、「応答数が1であり」、「送信したクエリのRDATAと受信したクエリ応答のRDATAとが一致する」ので、「OK」を試験結果とする。さらに、結果生成部23は、両クエリの1トランザクション内に含まれるRR数が1なので、試験結果を「EQ」とする。
また、結果生成部23は、「sample.co.jp.,NS,“ns02.sample.co.jp.”」について、クエリ応答が「エラー応答ではなく」、「応答数が1であり」、「送信したクエリのRDATAと受信したクエリ応答のRDATAとが一致しない」ので、「NG」を試験結果とする。さらに、結果生成部23は、両クエリの1トランザクション内に含まれるRR数が1なので、試験結果を「EQ」とする。
以上より、結果生成部23は、図9に示した「sample.co.jp.,NS,“ns01.sample.co.jp.”」と「sample.co.jp.,NS,“ns02.sample.co.jp.”」の試験について、図10に示すように、「sample.co.jp.,NS,“ns01.sample.co.jp.”、OK、EQ」と「sample.co.jp.,NS,“ns02.sample.co.jp.”、NG、EQ」とする試験結果を作成する。
また、結果生成部23は、作成した試験結果に基づいて、総合判定を作成し総合判定DB19に格納する。具体的には、結果生成部23は、図11に示すように、図9で「OK」と判定し、かつ、図10で「EQ」と判定した場合にのみ、総合判定を「OK」とする。この総合判定は、1RR数ごとに判定してもよく、DNS権威サーバごとに判定してもよい。DNS権威サーバごとに判定する場合には、全レコードが「OK」と判定された場合に、総合判定を「OK」とし、いずれかのレコードが「NG」と判定された場合に、総合判定を「NG」とする。図11は、総合判定を説明する図である。
さらに、結果生成部23は、受信リソースレコードをトランザクション単位でまとめて上記処理を実施してもよい。このとき、同一のドメインとTYPEが連続している必要はなく、連続していない場合でも、ドメインとTYPEとが同一の受信リソースレコードについては、トランザクション単位でまとめて上記処理を実施することができる。
[DNS試験装置の構成]
次に、図12を用いて、図1に示したDNS権威サーバの構成を説明する。図12は、実施例1に係るDNS権威サーバの構成を示すブロック図である。図12に示すように、DNS権威サーバ50は、通信制御I/F部51と、入力部52と、出力部53と、記憶部55と、制御部60とを有する。なお、DNS権威サーバ50は、DNSシステムで一般的に利用されているDNS権威サーバと同様の機能を有するので、ここでは、簡単に説明する。
通信制御I/F部51は、DNS試験装置10との間でやり取りする各種情報に関する通信を制御する。例えば、通信制御I/F部51は、DNS試験装置10から試験クエリを受信し、DNS試験装置10に対して試験クエリに対するクエリ応答を送信する。
入力部52は、各種の情報の入力を受付ける入力手段であり、キーボードやマウス、マイクなどを有し、後述するモニタや、マウスと協働してポインティングディバイス機能を実現する。出力部53は、各種の情報を出力する出力手段であり、モニタ(若しくはディスプレイ、タッチパネル)やスピーカなどを有し、各種情報を表示出力する。
記憶部55は、制御部60による各種処理に必要なデータおよびプログラムを格納するとともに、DNS情報DB56を有する。DNS情報DB56は、DNS権威サーバ50がクライアントからのクエリに対して名前解決を行うための情報を記憶し、例えば、「ドメイン名」と「IPアドレス」とを対応付けて記憶する。
制御部60は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、特に、クエリ受信部61と、DNSクエリ応答部62と、試験クエリ応答部63とを有し、これらによって種々の処理を実行する。
クエリ受信部61は、クライアント装置から名前解決を要求するクエリを受信したり、DNS試験装置10から試験クエリを受信したりする。また、クエリ受信部61は、名前解決を要求するクエリを受信した場合には、当該クエリを後述するDNSクエリ応答部62に出力する。また、クエリ受信部61は、試験クエリを受信した場合には、当該クエリを後述する試験クエリ応答部63に出力する。
DNSクエリ応答部62は、名前解決を要求するクエリに対するクエリ応答を行う。例えば、DNSクエリ応答部62は、クエリ受信部61から入力されたクエリに対して、DNS情報DB56を参照して名前解決を実施し、名前解決した結果をクエリ応答として、クライアント装置に送信する。
試験クエリ応答部63は、試験を要求する試験クエリに対するクエリ応答を行う。例えば、試験クエリ応答部63は、クエリ受信部61から入力された試験クエリに対して、試験クエリに含まれるリソースレコードに対応するレコードをDNS情報DB56から特定し、特定した結果をクエリ応答としてDNS試験装置10に送信する。
[DNS試験装置による処理]
次に、図13と図14を用いて、DNS試験装置による処理を説明する。図13は、実施例1に係るDNS試験装置における試験処理の流れを示すフローチャートであり、図14は、実施例1に係るDNS試験装置における試験結果作成処理の流れを示すフローチャートである。
(試験処理の流れ)
図13に示すように、DNS試験装置10のシナリオ読込部21は、入力部12によって試験開始コマンドが受け付けられると(ステップS101肯定)、試験シナリオDB17から試験シナリオを読み込むとともに(ステップS102)、試験対象DB16から試験対象サーバのホスト情報を読み込む(ステップS103)。
続いて、DNS試験装置10のクエリ発行部22は、読み込まれた試験対象のDNS権威サーバに対して、読み込まれたリソースレコードを試験クエリとして送信する(ステップS104)。
続いて、DNS試験装置10の結果生成部23は、試験クエリを送信したDNS権威サーバからクエリ応答を受信した場合(ステップS105肯定)、読み込まれた試験シナリオのリソースレコードが全て終了したか、言い換えると、全てのリソースレコードについて試験を実施したか否かについて判定する(ステップS106)。
その後、DNS試験装置10の結果生成部23は、全てのリソースレコードについて試験を実施した場合(ステップS106肯定)、試験結果作成処理を実施し(ステップS107)、作成した試験結果を出力部13に表示出力し(ステップS108)、さらに、試験結果を試験結果DB18に格納する(ステップS109)。このとき、DNS試験装置10の結果生成部23は、作成した試験結果から総合判定を作成して、総合判定DB19に格納する。また、DNS試験装置10の結果生成部23は、ステップS106において、全てのリソースレコードについて試験を実施していないと判定した場合(ステップS106否定)、ステップS104に戻って以降の処理を実行する。
(試験結果作成処理の流れ)
次に、図14を用いて、図13に示したステップS107の処理を具体的に説明する。図14に示すようにDNS試験装置10の結果生成部23は、試験結果作成処理が開始されると(ステップS201肯定)、図7に示した図を用いた判定処理を実施し、試験結果を特定する(ステップS202)。すなわち、DNS試験装置10の結果生成部23は、受信したクエリ応答について、「エラーでない応答であるか否か(RCODE)、受信した応答数(ANSWERSECTION)、期待RDATAと応答RDATAとの一致or不一致」を判定する。
そして、結果生成部23は、ステップS202の判定結果をOKまたはNGと判定した場合(ステップS202 「OK」or「NG」)、比較判定された試験クエリの1トランザクション内の1行目のリソースレコードを以後の比較対象から削除し(ステップS203)、受信したクエリ応答(1トランザクション内)に2行目のRRが存在するか否かを判定する(ステップS204)。
なお、ここでは、ステップS202の判定が「OK」、「NG」の場合にステップ203の処理を実行する場合を例示したが、これに限定されるものではなく、例えば、「OK」または「NG」または「NG_NODATA」の場合に、ステップ203の処理を実行することもできる。このような設定は、初期設定時や試験シナリオ送信前に任意に設定することができる。
その後、結果生成部23は、受信したクエリ応答(1トランザクション内)に2行目のRRが存在する場合には(ステップS204肯定)、ステップS202に戻って以降の処理を実行する。一方、結果生成部23は、受信したクエリ応答(1トランザクション内)に2行目のRRが存在しない場合には(ステップS204否定)、図8に示した図を用いて、試験クエリの1トランザクション内のRR数とクエリ応答のRR数とを比較し(ステップS205)、その比較結果とステップS202の判定結果とを用いて、試験結果を作成する(ステップS206)。
ステップS202に戻り、結果生成部23は、ステップS202の判定結果をOKまたはNG以外と判定した場合(ステップS202 OK、NG以外)、ステップS206の処理を実行する。なお、OK、NG以外とは、図7に示した「NG_NODATA、NG_FormErr、NG_ServFail、NG_NXDomain、NG_Refused、NG_OtherRCODE、NG_TIMEOUT、NG_OTHER」と結果生成部23によって判定された場合を示している。また、これに限定されるものではなく、例えば、「OK」、「NG」、「NG_NODATA」以外の場合に、ステップ206の処理を実行してもよく、これは初期設定時や試験シナリオ送信前に任意に設定することができる。なお、ステップS202の判定結果をOKまたはNG(またはNG_NODATA)以外と判定した場合、ステップS206ではなくステップS204へ移行して実行するようにしてもよい。
[実施例1による効果]
このように、実施例1によって作成された総合判定を参照するだけで、試験者は、試験対象であるDNS権威サーバに登録されている情報が正しいか否かを判断することができる。また、試験者は、DNS権威サーバに登録されている情報が正しくないと判断した場合には、試験結果を参照することで、DNS権威サーバ上に登録されているリソースレコードを把握することができ、どのような観点で見直せばよいかを容易に判断することができ、次の対策の立て易くなる。したがって、DNSサーバに登録されている情報が正しいか否かを簡単に判定することが可能である。
また、実施例1によれば、クエリ応答と比較したリソースレコードについては、比較対象から除外するので、判定が終わったリソースレコードについて再度判定処理を行うことを防止でき、意図しない誤った試験結果を導出することを防止できる。この他にも、例えば、自動チェック機能等を用いて同一RRを含まない試験シナリオを生成し、この試験シナリオに基づいて、この試験シナリオの上の行から1つずつ順に判定処理を行うこともできる。
また、実施例1によれば、発行されたクエリに含まれるリソースレコード数とクエリ応答に含まれるリソースレコード数とを比較し、当該比較した結果を試験結果としてさらに生成するので、試験者が認識していない情報も取得することができ、試験精度を高めることができる。
また、実施例1によれば、リソースレコードのドメインとタイプが同一で連続する場合には、連続するリソースレコードを1トランザクションとして送信するので、試験対象に送信するリソースレコード数と、試験対象から受信した応答リソースレコード数との比較処理を効率化できる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
(RR数の比較)
例えば、実施例1では、試験実施したいRRだけでなく、以前から登録されているいないに関わらず、RR全てが試験シナリオに記載されている例について説明したが、例えば、試験実施したいRRだけを記述した試験シナリオを用いることもできる。このようにすることで、試験シナリオにある試験のみを確実に試験することができる。
例えば、図15に示すように、Flag=1を試験シナリオに記載することで、試験シナリオに登録RRのみが試験対象であることを示している。この場合、図8に示した「EQ」、「OVER」、「LESS」判定は、図16に示すように、全て「EQ」と判定する。なお、Flag=0の場合は、権威サーバ側のデータにおいて、実施例1と同様、以前から登録されているRR全てが試験シナリオの対象となり、図8と同様の判定が行われる。図15は、試験実施したいRRだけを記述した試験シナリオの例を示す図であり、図16は、試験実施したいRRだけを記述した試験シナリオを用いた場合の試験クエリとクエリ応答との比較判定を説明する図である。
(システム構成等)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(プログラム)
なお、本実施例で説明したDNS試験方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
以上のように、本発明にかかるDNS試験装置、DNS試験方法およびDNS試験プログラムは、DNSサーバに登録されている情報が正しいか否かを判定することに有用であり、特に、DNSサーバに登録されている情報が正しいか否かを簡単に判定することに適している。
10 DNS試験装置
11 通信制御I/F部
12 入力部
13 出力部
15 記憶部
16 試験対象DB
17 試験シナリオDB
18 試験結果DB
19 総合判定DB
20 制御部
21 シナリオ読込部
22 クエリ発行部
23 結果生成部
50 DNS権威サーバ
51 通信制御I/F部
52 入力部
53 出力部
55 記憶部
56 DNS情報DB
60 制御部
61 クエリ受信部
62 DNSクエリ応答部
63 試験クエリ応答部

Claims (7)

  1. DNSサーバに登録されている情報が正しいか否かを判定するDNS試験装置であって、
    前記DNSサーバに問い合わせるホスト情報を示すリソースレコードを保持する試験内容保持手段と、
    前記試験内容保持手段に保持されるリソースレコードをクエリとして、試験対象のDNSサーバに対して発行するクエリ発行手段と、
    前記クエリ発行手段により発行されたクエリに対するクエリ応答を前記試験対象のDNSサーバから受信し、前記クエリ応答がエラーであるか否か、又は、前記クエリ発行手段により発行されたクエリに含まれるリソースレコードと前記クエリ応答に含まれるリソースレコードとを比較することにより前記DNSサーバから受信したクエリ応答内のリソースレコードと前記発行されたクエリ内のリソースレコードとが一致するか否か、又は、前記DNSサーバから受信したクエリ応答数が前記発行されたクエリ数と一致するか否かの少なくとも一つを試験結果として生成する結果生成手段と、
    を有することを特徴とするDNS試験装置。
  2. DNSサーバに登録されている情報が正しいか否かを判定するDNS試験装置であって、
    前記DNSサーバに問い合わせるホスト情報を示すリソースレコードを保持する試験内容保持手段と、
    前記試験内容保持手段に保持されるリソースレコードをクエリとして、試験対象のDNSサーバに対して発行するクエリ発行手段と、
    前記クエリ発行手段により発行されたクエリに対するクエリ応答を前記試験対象のDNSサーバから受信し、前記クエリ発行手段により発行されたクエリに含まれるリソースレコードと前記クエリ応答に含まれるリソースレコードとを比較することにより、前記発行されたクエリ内のリソースレコード数と前記DNSサーバから受信したクエリ応答内のリソースレコード数とを比較した試験結果を生成する結果生成手段と、
    を有することを特徴とするDNS試験装置。
  3. 前記試験内容保持手段は、前記DNSサーバに登録されているか否かを問い合わせるリソースレコードだけが記述されているか否かを示す情報をさらに保持し、
    前記結果生成手段は、前記クエリ発行手段により発行されたクエリに含まれるリソースレコードと前記クエリ応答に含まれるリソースレコードとを比較することにより、問い合わせたホスト情報が前記DNSサーバに登録されているか否かを示す試験結果を生成することを特徴とする請求項1又は2に記載のDNS試験装置。
  4. 前記結果生成手段は、前記ホスト情報と前記クエリ応答を比較する際に、前記クエリ応答のリソースレコードを1トランザクションとして比較することを特徴とする請求項1〜のいずれか一つに記載のDNS試験装置。
  5. DNSサーバに登録されている情報が正しいか否かを判定するDNS試験方法であって、
    前記DNSサーバに問い合わせるホスト情報を示すリソースレコードを保持する試験内容保持手段に保持されるリソースレコードをクエリとして、試験対象のDNSサーバに対して発行するクエリ発行ステップと、
    前記クエリ発行ステップにより発行されたクエリに対するクエリ応答を前記試験対象のDNSサーバから受信し、前記クエリ応答がエラーであるか否か、又は、前記クエリ発行ステップにより発行されたクエリに含まれるリソースレコードと前記クエリ応答に含まれるリソースレコードとを比較することにより前記DNSサーバから受信したクエリ応答内のリソースレコードと前記発行されたクエリ内のリソースレコードとが一致するか否か、又は、前記DNSサーバから受信したクエリ応答数が前記発行されたクエリ数と一致するか否かの少なくとも一つを試験結果として生成する結果生成ステップと、
    を含んだことを特徴とするDNS試験方法。
  6. DNSサーバに登録されている情報が正しいか否かを判定するDNS試験方法であって、
    前記DNSサーバに問い合わせるホスト情報を示すリソースレコードを保持する試験内容保持手段に保持されるリソースレコードをクエリとして、試験対象のDNSサーバに対して発行するクエリ発行ステップと、
    前記クエリ発行ステップにより発行されたクエリに対するクエリ応答を前記試験対象のDNSサーバから受信し、前記クエリ発行ステップにより発行されたクエリに含まれるリソースレコードと前記クエリ応答に含まれるリソースレコードとを比較することにより、前記発行されたクエリ内のリソースレコード数と前記DNSサーバから受信したクエリ応答内のリソースレコード数とを比較した試験結果を生成する結果生成ステップと、
    を含んだことを特徴とするDNS試験方法。
  7. 請求項1〜のいずれか一つに記載の手段に対応する処理をコンピュータに実行させることを特徴とするDNS試験プログラム。
JP2009148102A 2009-06-22 2009-06-22 Dns試験装置、dns試験方法およびdns試験プログラム Active JP4851566B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009148102A JP4851566B2 (ja) 2009-06-22 2009-06-22 Dns試験装置、dns試験方法およびdns試験プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009148102A JP4851566B2 (ja) 2009-06-22 2009-06-22 Dns試験装置、dns試験方法およびdns試験プログラム

Publications (2)

Publication Number Publication Date
JP2011004369A JP2011004369A (ja) 2011-01-06
JP4851566B2 true JP4851566B2 (ja) 2012-01-11

Family

ID=43561898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009148102A Active JP4851566B2 (ja) 2009-06-22 2009-06-22 Dns試験装置、dns試験方法およびdns試験プログラム

Country Status (1)

Country Link
JP (1) JP4851566B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5930545B2 (ja) * 2013-05-30 2016-06-08 日本電信電話株式会社 Dnsサーバ調査システム及びdnsサーバ調査方法
CN110769076B (zh) * 2018-07-26 2022-06-03 贵州白山云科技股份有限公司 一种dns测试方法和系统
CN113079070B (zh) * 2021-06-07 2021-08-27 中国电子信息产业集团有限公司第六研究所 一种域名系统的响应性能监测方法及装置

Also Published As

Publication number Publication date
JP2011004369A (ja) 2011-01-06

Similar Documents

Publication Publication Date Title
Dunn et al. From alpha to omega: A practical solution to the pervasive problem of internal consistency estimation
US10958548B2 (en) Generating production server load activity for a test server
US9697066B2 (en) Method for processing data quality exceptions in a data processing system
US20070005738A1 (en) Automated remote scanning of a network for managed and unmanaged devices
EP3284245B1 (en) Remote purge of dns cache
WO2015069912A1 (en) Dynamic application version selection
WO2013112389A1 (en) Implicit ssl certificate management without server name indication (sni)
CN113037680A (zh) 基于域名解析结果的应用服务器访问方法及装置
Schomp et al. Towards a model of DNS client behavior
WO2015029195A1 (ja) 模擬装置、情報生成装置、模擬方法及び模擬プログラム
US8819209B1 (en) Name server property tracking
CN105472051A (zh) 提高域名解析可靠性的方法、装置和系统
JP4851566B2 (ja) Dns試験装置、dns試験方法およびdns試験プログラム
US10469336B2 (en) Command performance monitoring
CN108089972A (zh) 接口测试方法及装置
JP2010113380A (ja) テスト基盤装置、テスト基盤プログラム、テスト基盤方法
US11277372B2 (en) Name server management of domain name systems using virtual name servers
US20170104715A1 (en) Reconciling internet dns zone file changes with origin change requests
WO2023040070A1 (zh) 一种域名接管漏洞的检测方法和装置
JP2021039423A (ja) システム、および制御方法
Holt Scaling CouchDB: replication, clustering, and administration
WO2017007982A1 (en) Passive delegations and records
US7383265B2 (en) System and method for regulating an extensibility point's access to a message
US20100241740A1 (en) System and method for resolving network addresses
US20240028346A1 (en) Linking kubernetes resources with underlying cloud infrastructure

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110520

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110712

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110912

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111018

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111020

R150 Certificate of patent or registration of utility model

Ref document number: 4851566

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141028

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350