WHOIS
出典: フリー百科事典『ウィキペディア(Wikipedia)』
WHOIS(フーイズ)とは、インターネット上でのドメイン名・IPアドレス・Autonomous System (AS) 番号の所有者を検索するためのプロトコルである。データベース検索を用い、TCPベースでクエリ(質問)・レスポンス(応答)を行う。
目次 |
[編集] 概要
WHOIS検索は、伝統的にはコマンドラインインターフェースで使用されてきた。現在では、異なるデータベースを同時に検索するなど、操作を簡略化したウェブベース(GUI)で利用できるようになっている。
ウェブベースのWHOISクライアントはWHOISサーバに接続して検索を実行するために、現在もWHOISプロトコルに頼っている。また、コマンドラインWHOISクライアントも、システム管理者によって今も幅広く使用されている。
WHOISシステムは、システム管理者が、自分の管理下にないIPアドレスやドメイン名の管理者と連絡をとるための、いわば電話帳のような役割を果たすことを目的として始まった。クエリに対して返ってきたレスポンスデータの使われ方は、利他的な用途(たとえば電子商取引用https認証局)や邪悪な用途(たとえば大量かつ勝手に送りつけられてくる電子メール広告)に対処するために進化してきた。
WHOISには、RWhois と呼ばれる姉妹プロトコル規格が存在する。
(注意)以下の解説で言う「レジストリ」「レジストリ情報」とは、ドメイン名などのWHOISデータベース登録情報のことであり、Windowsが稼働するのに必要なレジストリとは全く異なるので、混同しないよう留意されたい。
[編集] ThinモデルとThickモデル
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モデルを区別する方法を規格に含んでいない。
登録情報を正確に格納するためには、ドメイン名を管理するレジストリ組織 (en) での変化を記録する必要がある。いくつかのトップレベルドメイン(.comや.netを含む)は、ThinモデルでWHOISを提供している。いくつかのレジストリ組織では、顧客に対してデータのメンテナンスを提供している。他のレジストラ(.orgを含む)はThickモデルでWHOISを提供している。
なお、日本においてはJPRSが主なドメイン名に関するレジストリ組織となり、WHOISも提供している。IPアドレスおよびAS番号に関するWHOISはJPNICが提供している。
[編集] クエリの例
wikipedia.orgのWHOISクエリ結果を下記に示す。
Domain ID:D51687756-LROR Domain Name:WIKIPEDIA.ORG Created On:13-Jan-2001 00:12:14 UTC Last Updated On:03-Dec-2005 09:26:03 UTC Expiration Date:13-Jan-2015 00:12:14 UTC Sponsoring Registrar:Go Daddy Software, Inc. (R91-LROR) Status:CLIENT DELETE PROHIBITED Status:CLIENT RENEW PROHIBITED Status:CLIENT TRANSFER PROHIBITED Status:CLIENT UPDATE PROHIBITED Registrant ID:GODA-09495921 Registrant Name:Jimmy Wales Registrant Organization:Wikimedia Foundation Registrant Street1:204 37th Ave. N. #330 Registrant Street2: Registrant Street3: Registrant City:St. Petersburg Registrant State/Province:Florida Registrant Postal Code:33704 Registrant Country:US Registrant Phone:+1.7276441636 Registrant Phone Ext.: Registrant FAX: Registrant FAX Ext.: Registrant Email:jwales@bomis.com Admin ID:GODA-29495921 Admin Name:Jimmy Wales Admin Organization:Wikimedia Foundation Admin Street1:204 37th Ave. N. #330 Admin Street2: Admin Street3: Admin City:St. Petersburg Admin State/Province:Florida Admin Postal Code:33704 Admin Country:US Admin Phone:+1.7276441636 Admin Phone Ext.: Admin FAX: Admin FAX Ext.: Admin Email:jwales@bomis.com Tech ID:GODA-19495921 Tech Name:Jason Richey Tech Organization:Wikimedia Foundation Tech Street1:19589 Oneida Rd. Tech Street2: Tech Street3: Tech City:Apple Valley Tech State/Province:California Tech Postal Code:92307 Tech Country:US Tech Phone:+1.7604869194 Tech Phone Ext.: Tech FAX: Tech FAX Ext.: Tech Email:jasonr@bomis.com Name Server:NS0.WIKIMEDIA.ORG Name Server:NS1.WIKIMEDIA.ORG Name Server:NS2.WIKIMEDIA.ORG Name Server: Name Server: Name Server: Name Server: Name Server: Name Server: Name Server: Name Server: Name Server: Name Server:
[編集] 歴史
インターネットがARPANET本体から独立した時、全ての登録情報を取り扱った組織は、アメリカ国防総省の下部組織、防衛高等研究計画局、略称DARPA一つだけであった。登録手続きはRFC 920で確立された。WHOISは1980年代前半、ドメイン検索用に標準化され、ドメイン名や番号とそれに関する人員の登録を始めた。登録組織は一つしかなかったので、WHOISクエリサーバも1台に集中した。このことは、情報の検索を非常に簡単にした。
初期のWHOISサーバは非常に甘い実装で、ワイルドカード検索が可能であった。人名でWHOIS検索ができ、登録されているすべてのドメイン管理者名を得ることができた。任意のキーワードで検索することもでき、そのキーワードを含むすべての情報を得ることもできた。個々の管理者の連絡先が分かるだけでなく、彼らが関係していた全ての領域を見ることができた。インターネットが商用利用されるようになってからは、複数のレジストラと非倫理的なスパム業者のために、このような甘すぎる検索は利用できなくなった。
1980年代、ARPANETがインターネットに移行しつつ消えゆく間、ドメイン登録についての責任はDARPAに残されていた。UUNetはドメイン登録サービスを提供し始めたが、それは単にDARPAのNICに対する登録の代行業務に過ぎなかった。米国科学財団(NSF, en)がサードパーティーとして、ドメイン名の登録業務を商用向けに開始した。1993年にはNSFとNetwork Solutions、General Atomics、AT&Tの契約のもと、InterNICが作られた。General Atomicsの契約は、パフォーマンス問題のために数年後にキャンセルされた。
1999年12月1日、.com・.net・.org の管理はICANNに引き渡され、これらのポピュラーなトップレベルドメイン(以下、TLD)のWHOISサーバはThinモデルに切り替えられた。従来のWHOISクライアントはその時点で使用できなくなった。翌日にはbw-whois がコマンドライン・クライアントとして公開された。1ヶ月後には同じプログラムをもとに、ウェブベースによるWHOIS検索が可能となり、かつ拡張TLDテーブルを管理できるようにしたCGIとなった。これは結局、最新のWHOISクライアントのモデルになった。
現在は、1980年代初頭にあったよりも多くのTLDが生まれ、さらに多数の国名トップレベルドメイン(ccTLD)が存在する。これらはドメイン管理組織やレジストラの関係を複雑にし、特にインターネットの基盤整備については国際化の必要性が出てきた。こういった事情により、WHOISクエリで正しい結果を得るには、どのWHOISサーバがレジストリを管理しているのかを知っている必要がある。WHOIS検索を横断的に行うツールとして、コマンドラインWHOISクライアント jwhois はドメイン名/ネットワークブロックとレジストリ組織のひも付けを登録・編集できるコンフィギュレーション・ファイルを備えている。
2004年、IETF委員会は、ドメイン名とネットワーク番号に関する全く新しい検索情報の規格化策定に着手した。提案されたこの新規格の仮称はCRISP(Cross Registry Information Service Protocol)という。
[編集] WHOISサーバへのクエリ
[編集] コマンドライン・クライアント
初期の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クライアントは、Sam-Spade packageの一部であって、「ホットリンク」が作られるようになっている(たとえば、WHOISクエリの結果の一部をクリックすることで、新しいクエリを実行することができる)。
もう一つのポピュラーなWindows用WHOISクライアントは Active Whois である。このツールはWHOISクエリと、WHOISホスト検索のためのDNS検索ロジックを組み合わせたもので、ThickモデルとThinモデルの両方に対応している。Sam-Spade同様、クエリ結果をホットリンクとして出力する。
[編集] ウェブベース・クライアント
World Wide Webの急速な発展による、ウェブ上での情報の一般化、特にネットワーク・ソリューション寡占の緩みに伴い、ウェブ経由でのWHOISクエリは一般的になりつつある。もっとも初期のウェブベースWHOISクライアントは、単にインタフェースをウェブとしただけの、コマンドラインWHOISクライアントに対するフロントエンドに過ぎず、必要に応じて出力結果を整形するか消去するのみであった。
現状では、直接WHOISクエリを入力し、表示のために整形された結果が得られるものが一般的である。多くはレジストラによって提供されている。しかし、オープンソース・クライアントも存在する。例えばGeekTools、Whois Proxyなど。
ウェブベース・クライアントの必要性は、コマンドラインWHOISクライアントが当初UNIX(系)と大型機にしかなく、WindowsやMacintoshはWHOISクライアントを備えていなかったため、レジストラは潜在的顧客のためにWHOISデータベースへのアクセス手段を見つけなければならなかった。専用アプリケーションとしてのWHOISクライアントツールが各OSに現存する今でも、多くのエンドユーザーはウェブベースのWHOISを利用している。
[編集] Perl モジュール
WHOISサーバとともに、Perlで作られたWHOISクライアントが存在する。これらの多くは、現在のWHOISサーバに対する全機能を備えている訳ではない。または、あまり流通していない。しかし、AS番号や登録者情報の検索には大いに役に立つ。
[編集] 問題点
- プライバシー:登録者の詳細情報(例示したように、住所、電話番号などの個人情報)が含まれており、大部分のTLDではインターネット上で誰でも簡単にその情報を入手することができる。しばしば、一部のレジストラが連絡のための個人情報を提供するが、これはレジストラがそのドメインの合法的な所有者(または借り主)であることを示すためである。
- スパムメール:しばしばスパマー(スパムメール業者)が、WHOISクエリからプレーンテキストで電子メール情報を収集する。WHOIS検索を提供しているレジストラの一部は、対策としてCaptchaを利用し、画像に描いてある文字列を入力しないとクエリができないようにしている。
- 国際化:WHOISプロトコルは国際化の方針については規定していなかった。WHOISサーバは、受け入れたテキストの文字コードを判別することができない。そして、WHOISサーバのすべては単にASCII文字のみを使っている。しかし、これは国際的な運用には使うことができない。特に、多言語化されたドメイン名が広く使われ始めており、このことは明らかにWHOISプロトコルのアクセシビリティを英語圏内に限定してしまう。ユーザは(条件付きで)Punycodeを使うことができるが、通常のユーザがこれを使いこなすことは簡単ではない。
- WHOISサーバリストの不足:WHOISには(DNSのような)中央サーバがない。このため、WHOISツールの作成者は、自分自身でWHOISサーバのリストを作らなければならない。そして、異なるサーバリストを書いている他のユーザを見つける可能性がある。数少ないWHOISサーバリストのソースは、このページで見つけることができる。
- フォーマットの不徹底:レジストラやサーバによって、WHOISクエリに対する応答のフォーマットが異なることがある。このことは、WHOISデータの解析を難しくする。しかし、このことへの対処の自動化は、合法的な用途(ISPによるものなど)もあるが、スパマーへの手助けとなるかもしれない。
[編集] 関連する項目
[編集] 外部へのリンク
- TRWhois all extension
- Making use of WHOIS information(英語)
- SmartWhois Tutorial: Domains and IP Addresses Demystified(英語)
- CircleID: Whois Privacy Matters(英語)
- bw-whois, a modern command-line and web-based whois client(英語)
- whois, a web-based whois tool with thumbnails(英語)
[編集] RFC
- RFC812, NICNAME/WHOIS (1982年, 廃止)
- RFC954, NICNAME/WHOIS (1985年, 廃止)
- RFC3912, WHOIS protocol specification (2004年, 現行)
- Complete list of RFCs about whois