WHOISとは何か?
WHOISは、ドメイン名の登録情報を照会するための初期からあるプロトコルです。WHOISで検索すると、レジストラ情報、作成日、有効期限、従来は登録者の連絡先など、ドメイン登録に関する詳細をテキスト形式の応答で取得できます。
WHOISの歴史
WHOISは、インターネットがまだ小規模だった1980年代に登場しました。RFC 812(1982年)で最初に文書化され、システム管理者がネットワークリソースの責任者を特定できるよう設計されています。このプロトコルはTCPポート43で動作し、単純なテキスト照会を受け付け、人間には読みやすい一方で機械処理には向かない応答を返します。
開発者にとってWHOISが扱いにくい理由
WHOISデータを解析するアプリケーションを作ったことがあれば、根本的な欠点である標準形式が存在しないことに気づくはずです。レジストラやレジストリごとにWHOIS出力の形式が異なります。実際には次のような問題があります。
フィールド名の不統一
- あるレジストラは「Creation Date」を使用します
- 別のレジストラは「Created On」を使用します
- さらに別のレジストラは「Registration Date」を使用します
- 小文字の「created:」を使う場合もあります
日付形式のばらつき
2024-01-15T00:00:00Z
15-Jan-2024
January 15, 2024
15/01/2024
予測しにくい構造
レジストラによってはセクション間に空行を入れ、入れない場合もあります。区切り文字にコロンを使うものもあれば、タブを使うものもあります。この不統一のため、堅牢なWHOIS解析には数十種類の正規表現パターンを保守し、レジストラが形式を変更するたびに更新し続ける必要があります。
WHOISの技術的詳細
プロトコルのレベルでは、WHOISへの照会は単純です。
1. WHOISサーバーのポート43へTCP接続を開く
2. ドメイン名と改行を送信する
3. 接続が閉じるまで応答を読み取る
echo "example.com" | nc whois.verisign-grs.com 43
応答はプレーンテキストで、標準化された構造を持ちません。そのため、情報を正確に取り出すには慎重な解析が必要です。
WHOISのプライバシーに関する変化
2018年のGDPR導入によって、WHOISで利用できるデータは大きく変わりました。以前のWHOIS応答には、次の情報が含まれていました。
- 登録者の氏名と組織名
- メールアドレスと電話番号
- 住所
現在は、ほとんどのレジストラがこれらの個人情報を伏せ、次のような情報だけを表示します。
- レジストラ名
- 登録日と有効期限
- ネームサーバー情報
- ドメインのステータスコード
このプライバシー保護により、連絡先を調べる用途でのWHOISの有用性は下がりましたが、利用可能性の確認や技術的なドメイン情報の取得にはなお役立ちます。
WHOISとRDAPの使い分け
新しく開発する場合は、利用できるなら常にRDAPを優先してください。RDAPは同じ情報を標準化されたJSON形式で返すため、解析が容易です。ただし、WHOISが必要になるケースもあります。
- まだ移行していないレガシーシステム
- RDAPを実装していない一部のccTLD
- 過去のデータを分析するツール
WHOISサーバーの探し方
各TLDには担当するWHOISサーバーが指定されています。例えば次のとおりです。
- .com/.net: whois.verisign-grs.com
- .org: whois.publicinterestregistry.org
- .io: whois.nic.io
IANAは whois.iana.org にルートデータベースを公開しており、適切なTLDのWHOISサーバーを確認できます。
WHOISの今後
ICANNはRDAPの採用を義務付けており、WHOISは段階的に廃止されています。WHOISサーバーは今後も数年間稼働する可能性がありますが、新しいアプリケーションはRDAPを基盤に構築すべきです。DomScanは、対応するすべてのTLDで一貫性と信頼性のある結果を得るため、ドメイン利用可能性の確認にRDAPだけを使用しています。