WHOIS
WHOIS(フーイズ)は、インターネット上でのドメイン名・IPアドレス・Autonomous System (AS) 番号の所有者を検索するためのプロトコル。データベース検索を用い、TCPベースでクエリ(質問)・レスポンス(応答)を行う。
WHOIS検索は、伝統的にはコマンドラインインタフェースで使用されてきた。現在では、異なるデータベースを同時に検索するなど、操作を簡略化したウェブベース (GUI) で利用できるようになっている。
ウェブベースのWHOISクライアントはWHOISサーバに接続して検索を実行するために、現在もWHOISプロトコルに頼っている。また、コマンドラインWHOISクライアントも、システム管理者によって今も幅広く使用されている。
WHOISシステムは、システム管理者が、自分の管理下にないIPアドレスやドメイン名の管理者と連絡をとるための、いわば電話帳のような役割を果たすことを目的として始まった。クエリに対して返ってきたレスポンスデータの使われ方は、利他的な用途(たとえば電子商取引用https認証局)や邪悪な用途(たとえば大量かつ勝手に送りつけられてくる電子メール広告)に対処するために進化してきた。
WHOISには、RWhois と呼ばれる姉妹プロトコル規格が存在する。
WHOIS情報を格納する方法は二種類に分類できる。Thinレジストリ、Thickレジストリと呼ばれるが、ここではThinモデルとThickモデルとして解説する。Thickモデルでは、特定のレジストリ情報を1台のサーバに全て登録しておく(たとえば1台のサーバで、すべての.orgドメイン領域のクエリを実行することができる)。Thinモデルでは1台のWHOISサーバに、検索可能な全ての詳細データが登録してあるWHOISサーバ群の名前を登録しておく(たとえば、.comのドメイン情報が登録された WHOISサーバ群にWHOISのクエリを任せる)。(1台のWHOISサーバのみに接続する必要がある場合には)通常はThickモデルの方が一貫したデータとわずかながら速いクエリを確実にする。
もしWHOISクライアントがクエリに対してレスポンスを返せなかった場合、エンドユーザーに対する結果の表示はわずかなものとなる(WHOISサーバの情報と、おそらくは最低限の情報のみ)。WHOISクライアントがレスポンスできる場合、登録者についての詳細な情報が全て表示される。なお、WHOISプロトコルはThinモデルとThickモデルを区別する方法を規格に含んでいない。
登録情報を正確に格納するためには、ドメイン名を管理するレジストリ組織での変化を記録する必要がある。いくつかのトップレベルドメイン(.comや.netを含む)は、ThinモデルでWHOISを提供している。いくつかのレジストリ組織では、顧客に対してデータのメンテナンスを提供している。他のレジストラ(.orgを含む)はThickモデルでWHOISを提供している。
なお、日本においてはJPRSが主なドメイン名に関するレジストリ組織となり、WHOISも提供している。IPアドレスおよびAS番号に関するWHOISはJPNICが提供している。
wikipedia.orgのWHOISクエリ結果を下記に示す。
<pre>Domain ID: D51687756-LROR
Registrar WHOIS Server: whois.markmonitor.com
Registrar URL: http://www.markmonitor.com
Updated Date: 2020-10-15T22:29:57Z
Creation Date: 2001-01-13T00:12:14Z
Registry Expiry Date: 2023-01-13T00:12:14Z
Registrar Registration Expiration Date:
Registrar: MarkMonitor Inc.
Registrar IANA ID: 292
Registrar Abuse Contact Email:
abusecomplaints@markmonitor.com
Registrar Abuse Contact Phone: +1.2083895740
Reseller:
Domain Status: clientDeleteProhibited
https://icann.org/epp#clientDeleteProhibited
Domain Status: clientTransferProhibited
https://icann.org/epp#clientTransferProhibited
Domain Status: clientUpdateProhibited
https://icann.org/epp#clientUpdateProhibited
Registrant Organization: Wikimedia Foundation, Inc.
Registrant State/Province: CA
Registrant Country: US
Name Server: NS0.WIKIMEDIA.ORG
Name Server: NS1.WIKIMEDIA.ORG
Name Server: NS2.WIKIMEDIA.ORG
DNSSEC: unsigned</pre>
インターネットがARPANET本体から独立した時、全ての登録情報を取り扱った組織はアメリカ国防総省の下部組織、国防高等研究計画局(DARPA)だけであった。登録手続きはRFC 920で確立された。WHOISは1980年代前半、ドメイン検索用に標準化され、ドメイン名や番号とそれに関する人員の登録を始めた。登録組織は一つしかなかったので、WHOISクエリサーバも1台に集中した。このことは、情報の検索を非常に簡単にした。
初期のWHOISサーバは非常に甘い実装で、ワイルドカード検索が可能であった。人名でWHOIS検索ができ、登録されているすべてのドメイン管理者名を得ることができた。任意のキーワードで検索することもでき、そのキーワードを含むすべての情報を得ることもできた。個々の管理者の連絡先が分かるだけでなく、彼らが関係していた全ての領域を見ることができた。インターネットが商用利用されるようになってからは、複数のレジストラと非倫理的なスパム業者のために、このような甘すぎる検索は利用できなくなった。
1980年代、ARPANETがインターネットに移行しつつ消えゆく間、ドメイン登録についての責任はDARPAに残されていた。UUNetはドメイン登録サービスを提供し始めたが、それは単にDARPAのNICに対する登録の代行業務に過ぎなかった。米国科学財団 (NSF) がサードパーティーとして、ドメイン名の登録業務を商用向けに開始した。1993年にはNSFとNetwork Solutions、General Atomics、AT&Tの契約のもと、InterNICが作られた。General Atomicsの契約は、パフォーマンス問題のために数年後にキャンセルされた。
1999年12月1日、.com・.net・.org の管理はICANNに引き渡され、これらのポピュラーなトップレベルドメイン(以下、TLD)のWHOISサーバはThinモデルに切り替えられた。従来のWHOISクライアントはその時点で使用できなくなった。翌日にはがコマンドライン・クライアントとして公開された。1ヶ月後には同じプログラムをもとに、ウェブベースによるWHOIS検索が可能となり、かつ拡張TLDテーブルを管理できるようにしたCGIとなった。これは結局、最新のWHOISクライアントのモデルになった。
現在は、1980年代初頭にあったよりも多くのTLDが生まれ、さらに多数の国名トップレベルドメイン (ccTLD) が存在する。これらはドメイン管理組織やレジストラの関係を複雑にし、特にインターネットの基盤整備については国際化の必要性が出てきた。こういった事情により、WHOISクエリで正しい結果を得るには、どのWHOISサーバがレジストリを管理しているのかを知っている必要がある。WHOIS検索を横断的に行うツールとして、コマンドラインWHOISクライアント jwhois はドメイン名/ネットワークブロックとレジストリ組織のひも付けを登録・編集できるコンフィギュレーション・ファイルを備えている。
2004年、IETF委員会は、ドメイン名とネットワーク番号に関する全く新しい検索情報の規格化策定に着手した。提案されたこの新規格の仮称は (Cross Registry Information Service Protocol) という。
初期のWHOISサーバへのアクセス方法は、コマンドラインのみであった。ほとんどの場合、UNIXまたはUNIX系のOS上で動作した。WHOISクライアント・ソフトは、開発当初から現在に至るまでオープンソースで供給されている。商業ベースのUNIXでは、独自のWHOISクライアントが実装されている(たとえば、SunのSolarisには、Sunが開発したWHOISクライアントが含まれている)。
一般的なWHOISコマンドライン・クライアントは、WHOISクエリのため、どのサーバに接続するかをオプションで選ぶことができ、デフォルトでどのサーバに接続するかを変更するには、再コンパイルで対処することになる。さらに別オプションとして、どのポートで接続するか、デバッグ用データを表示するかどうか、再帰的照会をするかしないかといったものがある。
大部分のTCP/IPクライアント・サーバアプリケーションと同様、WHOISクライアントはユーザーの入力を待ち、接続先サーバにIPソケットを開ける。WHOISプロトコルは適当なポートでクエリを送り、応答を待つ。そして、応答をユーザーに表示して終了するか、さらに入力を待つ。WHOISプロトコルに関する詳細な情報はRFCで見つけることができる。
GNUプロジェクトの jwhoisクライアントは、他の多くのWHOISクライアントとは違い、WHOISクエリの照会先を登録できるコンフィギュレーション・ファイルを持っている。この仕組みにより、参照/再帰的照会ロジックをソースコード外に出し、かつインターネット・インフラの変更にも素早く追従できるという特色を持った。
WHOISサーバから来るデータのすべてがテキストである上に、プロトコルは静的なものであることから、「グラフィカル」という項目は誤解を招くかもしれない。WHOISサーバにはインタラクティブという言葉は当てはまらない。この節において「グラフィカル・クライアント」とは、グラフィカルユーザインタフェース (GUI) を備えたOS上で動作するWHOISクライアントを指す。
Windowsで動作するポピュラーかつフリーなWHOISクライアントは、の一部であって、「ホットリンク」が作られるようになっている(たとえば、WHOISクエリの結果の一部をクリックすることで、新しいクエリを実行することができる)。
もう一つのポピュラーなWindows用WHOISクライアントは Active Whois である。このツールはWHOISクエリと、WHOISホスト検索のためのDNS検索ロジックを組み合わせたもので、ThickモデルとThinモデルの両方に対応している。Sam-Spade同様、クエリ結果をホットリンクとして出力する。
World Wide Webの急速な発展による、ウェブ上での情報の一般化、特にネットワーク・ソリューション寡占の緩みに伴い、ウェブ経由でのWHOISクエリは一般的になりつつある。もっとも初期のウェブベースWHOISクライアントは、単にインタフェースをウェブとしただけの、コマンドラインWHOISクライアントに対するフロントエンドに過ぎず、必要に応じて出力結果を整形するか消去するのみであった。
現状では、直接WHOISクエリを入力し、表示のために整形された結果が得られるものが一般的である。多くはレジストラによって提供されている。しかし、オープンソース・クライアントも存在する。例えば、など。
ウェブベース・クライアントの必要性は、コマンドラインWHOISクライアントが当初UNIX(系)と大型機にしかなく、WindowsやMacintoshはWHOISクライアントを備えていなかったため、レジストラは潜在的顧客のためにWHOISデータベースへのアクセス手段を見つけなければならなかった。専用アプリケーションとしてのWHOISクライアントツールが各OSに現存する今でも、多くのエンドユーザーはウェブベースのWHOISを利用している。
WHOISサーバとともに、Perlで作られたが存在する。これらの多くは、現在のWHOISサーバに対する全機能を備えている訳ではない。または、あまり流通していない。しかし、AS番号や登録者情報の検索には大いに役に立つ。
プライバシー
例示したように、登録者の個人情報が含まれており、大部分のTLDではインターネット上で誰でも簡単にその情報を入手することができる。
上記のクエリ結果の例でいえば、「Registant」の項目に登録者の住所・氏名・電話番号などの個人情報が含まれており、これが中小企業や大企業であれば問題にならないが、個人が運営するドメインで個人情報が知られるのは問題となる。
しばしば、一部のレジストラが連絡のための個人情報を提供するが、これはレジストラがそのドメインの合法的な所有者(または借り主)であることを示すためだ。しかし、それらの情報も本来の特定のドメイン所有者が誰であるかの情報を提供するという目的を超えて、誰がどのドメインを持っているかを調べたり、ANSI(合資会社アスカネットワーク)のように氏名で検索した場合に検索エンジンにWHOISの結果が表示されるような仕様にして自社でWHOISサーバを提供しているレジストラまで出現している。
プライバシーに敏感な利用者は偽の個人情報で登録したり、代理業者の名義で登録するなど本来のWHOISの役割を果たさなくなってきているケースも出てきた。
スパムメール
しばしばスパム送信者(スパマー)がWHOISクエリからプレーンテキストで電子メール情報を収集する。WHOIS検索を提供しているレジストラの一部は、対策としてCAPTCHAを利用し、画像に描いてある文字列を入力しないとクエリができないようにしている。
国際化
WHOISプロトコルは国際化の方針については規定していなかった。WHOISサーバは、受け入れたテキストの文字コードを判別することができない。そして、WHOISサーバのすべては単にASCII文字のみを使っている。しかし、これは国際的な運用には使うことができない。特に、多言語化されたドメイン名が広く使われ始めており、このことは明らかにWHOISプロトコルのアクセシビリティを英語圏内に限定してしまう。ユーザは(条件付きで)Punycodeを使うことができるが、通常のユーザがこれを使いこなすことは簡単ではない。
WHOISサーバリストの不足
WHOISには(DNSのような)中央サーバがない。このため、WHOISツールの作成者は、自分自身でWHOISサーバのリストを作らなければならない。そして、異なるサーバリストを書いている他のユーザを見つける可能性がある。数少ないWHOISサーバリストのソースは、で見つけることができる。
フォーマットの不徹底
レジストラやサーバによって、WHOISクエリに対する応答のフォーマットが異なることがある。このことは、WHOISデータの解析を難しくする。しかし、このことへの対処の自動化は、合法的な用途(ISPによるものなど)もあるが、スパマーへの手助けとなるかもしれない。