WHOISの提供は2025年1月から非義務化
- WHOIS提供については、ICANNの決定によりこれまでレジストラ、レジストリに義務つけされていたが2025年1月から非義務化される
- WHOISの後継として標準化されるのがRDAP(Registration Data Access Protocol)
- RDAPはWHOISに載る情報をRESTfullAPIを利用したJSON形式で提供するプロトコル
- バラバラだったフォーマットが統一される(RFC7483)
- gTLDではすべてのTLDでRDAPが利用できるが、ccTLDでは利用できるもTLDとできないTLDが混在してる
gTLDとccTLD
gTLD(Generic Top-Level Domain)とccTLD(Country Code Top-Level Domain)は、インターネットのドメイン名システムにおけるトップレベルドメイン(TLD)の2つの主要なカテゴリです。それぞれの特徴について詳しく説明します。
gTLD(ジェネリックトップレベルドメイン)
定義: gTLDは、特定の国や地域に制限されないトップレベルドメインです。一般的に、誰でも登録できるため、広範な用途に利用されます。
例:
-
一般的なgTLD:
.com
,.net
,.org
-
制限付きgTLD:
.edu
(教育機関向け)、.gov
(政府機関向け)、.mil
(軍事機関向け)
特徴:
- gTLDは、国や地域に依存せず、世界中の誰でも登録可能です。
- 近年、新しいgTLDが多数追加されており、特定の業界やテーマに特化したものも存在します(例:
.travel
,.shop
など)[1][2][3]。
ccTLD(国別コードトップレベルドメイン)
定義: ccTLDは、特定の国や地域に関連付けられたトップレベルドメインで、通常は2文字の国コードで表されます。
例:
- 日本のccTLD:
.jp
- アメリカのccTLD:
.us
- ドイツのccTLD:
.de
特徴:
- ccTLDは、各国のドメイン名規制に従って管理されており、特定の国に関連するウェブサイトに使用されます。
- 一部のccTLDは、国に関係なく誰でも登録できるオープンなものもありますが、多くは居住者や企業に制限されています[4][5][6]。
まとめ
gTLDは国や地域に依存せず、広範な用途に利用されるのに対し、ccTLDは特定の国や地域に関連付けられたドメインです。これらのドメインは、インターネット上での識別やブランディングにおいて重要な役割を果たしています。
RFC 7483
RFC 7483は、Registration Data Access Protocol(RDAP)のためのJSON応答に関する仕様を定義しています。この文書は、ドメイン名やIPアドレスなどの登録データにアクセスするための標準的な応答形式を提供します。以下に、RFC 7483の主要なポイントと具体例を交えて説明します。
RFC 7483の概要
-
目的: RDAPを通じて、地域インターネットレジストリ(RIR)やドメイン名レジストリ(DNR)が管理する登録情報を表すJSONデータ構造を定義します。
-
データ構造: JSON形式での応答は、ドメイン名、IPアドレス、エンティティ(登録者やレジストラなど)に関する情報を含むことができます。
-
標準化: RDAPは、WHOISプロトコルの後継として、より一貫性のあるデータ提供を目指しています。
具体例
以下は、RFC 7483に基づくRDAPの応答の具体例です。この例では、特定のエンティティ(レジストラ)に関する情報がJSON形式で提供されています。
{
"status": ["active"],
"entities": [
{
"objectClassName": "entity",
"handle": "REG-CZNIC",
"roles": ["registrar"]
}
],
"handle": "CZ-NIC",
"links": [
{
"href": "https://rdap.nic.cz/entity/CZ-NIC",
"type": "application/rdap+json",
"rel": "self"
}
],
"rdapConformance": ["rdap_level_0"],
"port43": "whois.nic.cz",
"objectClassName": "entity",
"notices": [
{
"description": [
"(c) 2015 CZ.NIC, z.s.p.o.\n\nIntended use of supplied data and information..."
],
"title": "Disclaimer"
}
],
"vcardArray": [
"vcard",
[
["version", {}, "text", "4.0"],
["fn", {}, "text", "CZ.NIC, z.s.p.o."],
["org", {}, "text", "CZ.NIC, z.s.p.o."],
["adr", { "type": "" }, "text", ["", "Milesovska 1136/5", "", "Praha 3", "", "130 00", "CZ"]]
]
],
"events": [
{
"eventActor": "REG-CZNIC",
"eventAction": "registration",
"eventDate": "2008-10-17T10:08:21+00:00"
},
{
"eventAction": "last changed",
"eventDate": "2018-05-15T19:32:00+00:00"
}
]
}
この例の解説
-
status: エンティティの状態(ここでは「active」)を示します。
-
entities: 登録者やレジストラに関する情報を含む配列です。ここでは、CZ.NICというレジストラが示されています。
-
links: RDAPサービスへのリンクを提供します。
-
rdapConformance: RDAPのバージョンを示します。
-
vcardArray: エンティティの連絡先情報をvCard形式で表現しています。
-
events: 登録や変更の履歴を示すイベントの配列です。
まとめ
RFC 7483は、RDAPを通じて登録データにアクセスするための標準的なJSON応答形式を提供します。これにより、ドメイン名やIPアドレスに関する情報を一貫して取得できるようになります。具体例を通じて、RDAPの応答がどのように構成されているかを理解することができます。
RDAPの取得方法
RDAP(Registration Data Access Protocol)を利用して、curl
コマンドを使った具体的な例を以下に示します。これにより、ドメイン名やIPアドレスの登録情報を取得する方法を理解できます。
1. ドメイン情報の取得
特定のドメイン名に関する情報を取得するには、次のようにcurl
コマンドを使用します。
コマンド例
curl https://rdap.domrobot.com/domain/inwx.com
説明
- このコマンドは、
inwx.com
というドメイン名に関するRDAP情報を取得します。 - レスポンスはJSON形式で返され、ドメインの登録者情報や状態などが含まれます。
2. IPアドレス情報の取得
IPアドレスに関する情報を取得する場合は、次のようにリクエストします。
コマンド例
curl https://rdap.denic.de/ip/8.8.8.8
説明
- このコマンドは、GoogleのパブリックDNSサーバーである
8.8.8.8
に関するRDAP情報を取得します。 - レスポンスには、IPアドレスの所有者や割り当て状況などが含まれます。
3. RDAPのレスポンス例
以下は、ドメイン情報を取得した際のレスポンスの一例です。
{
"objectClassName": "domain",
"handle": "INWX-COM",
"ldhName": "inwx.com",
"status": ["active"],
"entities": [
{
"objectClassName": "entity",
"handle": "REG-12345",
"roles": ["registrar"]
}
],
"events": [
{
"eventAction": "registration",
"eventDate": "2000-01-01T00:00:00Z"
}
]
}
レスポンスの解説
- objectClassName: オブジェクトの種類(ここではドメイン)。
- handle: ドメインの識別子。
- ldhName: ドメイン名。
- status: ドメインの状態(例: "active")。
- entities: 登録者やレジストラに関する情報。
- events: 登録や変更の履歴。
まとめ
curl
コマンドを使用することで、RDAPを通じて簡単にドメイン名やIPアドレスの登録情報を取得できます。これにより、WHOISプロトコルの代替として、より標準化された情報提供が可能になります。具体的なコマンド例を通じて、RDAPの利用方法を理解することができるでしょう。