WHOISの後継!使いやすくなったRDAP

こんにちは。あきみちです。今回は、WHOISの後継プロトコルとして誕生したRDAP(Registration Data Access Protocol)を紹介します。

WHOISとRDAP

IPアドレス、AS番号、ドメイン名などの、番号や名前の資源を管理するレジストリが保持する情報を公開するための「WHOIS」というプロトコルがあります。whoisというコマンドをご存知の方も多いと思いますが、実はwhoisコマンドはWHOISプロトコルを使っているのです。このプロトコルは非常に古く「NICNAME/WHOIS」というタイトルのRFC 812は1982年に発行されています。

WHOISプロトコルを最初に定義したRFC 812と、RFC 812を上書きしたRFC 954の両方を上書きするものとして、RFC 3912が2004年に発行されていますが、TCPによる単純なプロトコルであるという基本的な部分は過去のWHOISを踏襲しています。

WHOISプロトコルの例としてRFC 3912に、以下のような図が記載されています。WHOISは、TCP接続が確立してすぐに問い合わせ文字列を入力して改行コードを送りつけると、相手が応答を返すという非常に単純なものです。

telnetコマンドを使って簡単に行えてしまうという意味では便利なWHOISプロトコルですが、応答の内容が特に定義されておらず、レジストリによってフォーマットがバラバラであるという使いにくさがあります。そういった問題を解決するために、IRIS(IRIS: The Internet Registry Information Service)というプロトコルがRFC 3981として2005年に発行されましたが、複雑過ぎるといった理由によって普及しませんでした。

その後、ARINやRIPE NCCなどのRIR(Regional Internet Registry)がRESTfulなWebサービスとしてWHOISデータを提供する試みを開始し、そこでの知見を標準化するという流れでweirds(Web Extensible Internet Registration Data Service)というワーキンググループが2012年に開始されました。weirdsワーキンググループは、RDAPというプロトコルに関連する以下のRFCを発行して終了しています。

  • RFC 7480 : HTTP Usage in the Registration Data Access Protocol (RDAP)
  • RFC 7481 : Security Services for the Registration Data Access Protocol (RDAP)
  • RFC 7482 : Registration Data Access Protocol (RDAP) Query Format
  • RFC 7483 : JSON Responses for the Registration Data Access Protocol (RDAP)
  • RFC 7484 : Finding the Authoritative Registration Data (RDAP)
  • RFC 7485 : Inventory and Analysis of WHOIS Registration Objects

RDAPの大きな特徴として、HTTPプロトコルで問い合わせが行なわれ、それに対する応答がJSON形式で統一されているという点があげられます。応答を機械的に処理する場合には、フリーフォーマットで運用者ごとにバラバラなフォーマットで返していたWHOISとは違い、レジストリごとに異なる解析方法を作り込む必要がなくなります。

もうひとつの大きな特徴がbootstrapと呼ばれる機能です。WHOISでは、各レジストリは自分が管理している資源であるかどうかだけの判断を行っていたため、どのレジストリが情報を持っているのかをWHOISクライアント側が知ってなければ正しい結果を得られませんでした。RDAPのbootstrapでは、その情報を持つレジストリのRDAPサーバへとリダイレクトが行われます。

実際に使ってみよう!

では、実際にRDAPを使ってみましょう。RDAPを試しに使ってみるのは非常に簡単です。RDAP用のURLの最後に 「/ip/○○○」(○○○部分がIPアドレス)、「/domain/▲▲▲」(▲▲▲部分が名前)、「/autnum/□□□」(□□□部分がAS番号)とすれば結果が返ってきます。

試しに、203.211.186.48 (本稿執筆時点でGeekなぺーじが運用されているIPv4アドレス)に関するRDAPの問い合わせを行ってみましょう。本稿執筆時点で、世界5つのRIRがRDAPサービスを運用しているURLは以下の通りです。

  • AFRINIC : https://rdap.afrinic.net/rdap/
  • ARIN : https://rdap.arin.net/bootstrap/
  • APNIC : https://rdap.apnic.net/
  • LACNIC : https://rdap.lacnic.net/rdap/
  • RIPE : https://rdap.db.ripe.net/

203.211.186.48は、日本国内で運用されているWebサイトでIPv4アドレス情報を持っているレジストリがAPNICであることはあらかじめわかっていますが、ここはあえて北米およびカリブ海のRIRであるARINで試してみましょう。

次のURLをブラウザでクリックしていただくと、APNICのRDAPサーバにリダイレクトされるのが確認できるはずです。

WHOISと比べて非常に便利であるRDAPですが、本稿執筆時点では、まだIPアドレスとAS番号での運用がメインのように見えます。

ARINが誰でもRDAPのbootstrapサーバを建てられるようにgithubでソースコードを公開していますが、ドメイン名に関するRDAPサーバで記載されているのは.infoのレジストリ(Afilias Limited)だけです。

試しに http://rdg.afilias.info/rdap/domain/example.info を見てみましたが、JSONでの結果が返ってきているのを確認できました。その他にも、いくつか .info のドメイン名を試してみましたが、普通に結果が返っています。

WHOISと比べると非常に良い感じのRDAP、是非、みなさまもお試しください!


PAGE TOP