要するに、Max OS Xのコマンドラインを使って、whois
のようなドメインのapple.com
の完全な詳細を取得する方法はありますか?
コマンドラインで whois
を apple.com
のように実行することは、そのフレーズを含むすべてのドメインを検索するようなものです。そのため、whois-spam のおかげで、Mac や FreeBSD では以下のようになります
$ whois apple.com Whois Server Version 2.0 [..] APPLE.COM.WWW.BEYONDWHOIS.COM APPLE.COM.MORE.INFO.AT.WWW.BEYONDWHOIS.COM APPLE.COM.IS.OWN3D.BY.NAKEDJER.COM APPLE.COM.IS.0WN3D.BY.GULLI.COM APPLE.COM.BEYONDWHOIS.COM APPLE.COM.AT.WWW.BEYONDWHOIS.COM APPLE.COM To single out one record, look it up with "xxx", where xxx is one of the of the records displayed above. If the records are the same, look them up with "=xxx" to receive a full display for each record.
これらすべてのドメインの追加情報を取得するために、=apple.com
のコマンドを実行することができます
$ whois =apple.com Whois Server Version 2.0 [..] Server Name: APPLE.COM.WWW.BEYONDWHOIS.COM IP Address: 203.36.226.2 Registrar: TUCOWS INC. Whois Server: whois.tucows.com Referral URL: http://domainhelp.opensrs.net [..] Domain Name: APPLE.COM Registrar: MARKMONITOR INC. Whois Server: whois.markmonitor.com Referral URL: http://www.markmonitor.com Name Server: NSERVER.APPLE.COM Name Server: NSERVER.ASIA.APPLE.COM [..] Updated Date: 21-jan-2009 Creation Date: 19-feb-1987 Expiration Date: 20-feb-2011
それでも、連絡先を含めたような完全な記録は出てこない
$ whois -h whois.markmonitor.com apple.com [..] Administrative Contact: Apple Inc. Apple Inc. 1 Infinite Loop Cupertino CA 95014 US [..]
(Redhat Linux では、jwhois
は apple.com
のみを表示しますが、連絡先情報は表示されません。Debian では、whois
バージョン 4.7.20 は上記のようにすべてのドメインのサマリーを表示し、完全に一致したドメインについては whois.markmonitor.com
で完全に一致したドメインについての追加の詳細情報を表示します。)
直接telnetしてみたりもしましたが、whois
コマンドでできないことは思いつかないので、無駄なんでしょうね
$ telnet com.whois-servers.net 43 Trying 199.7.55.74... Connected to whois.verisign-grs.com. Escape character is '^]'. apple.com [..]
だから:コマンドラインを使用して、そのようなドメインの完全な詳細(正確に一致したドメインのみ)を取得するための簡単な方法はありますか?
(コマンドライン whois
は、すぐに captcha 対応のウェブインタフェースの代わりに禁止されると思っていましたが、これはあまり気にしたことがありませんでした。しかし、それでも気になります…)。)
27 Arjan 2009-09-08
whoisコマンドは、出力の中から “Whois Server: “という文字列を探し、見つかった場合には、そのサーバーに対して再度同じクエリを発行します。これは、最初にマッチした場合にのみ動作することを除いて、あなたが望むものです。whois "domain apple.com"
のようなコマンドを使ってデフォルトのサーバから一度だけマッチしたものを取得することができますが、(apple.comで使用されている) markmonitorはこの構文を受け付けません。このように、”domain apple.com
” をデフォルトサーバに送信してから apple.com
を 2 番目のサーバに送信することができれば動作します
function mywhois {
whois -h `whois "domain $@" | sed '/^.*Whois Server:/!d;s///'` "$@"
}
しかし、これはこれらのwhoisサーバに特有のものなので、他のwhoisサーバ上のドメインでは必ずしも動作しません。堅牢な実装には、様々な whois サーバの実装で使用されている特定のクエリと出力フォーマットの知識が必要になるでしょう
12 mark4o 2009-09-08
(少なくとも2009年9月には) 以下はGeekTools Whois Proxyを使用しているようですが、これはどのwhois-serverを使用するかを判断する上でかなり賢いです。これはcom
, net
, org
以外のTLDでも動作します
whois -h whois-servers.net apple.com
あるいは、a very old hint at macosxhints.comによると
whois -h geektools.com apple.com
私は偶然これを見つけました: @mark4oが上記の回答のdomain
コマンドをどうやって知っているのかと思っていたところ、whois help
を実行するといくつかのwhois-serverの出力が得られることに気がつきました。私はTLDを指定していないので、どのサーバが応答しているのか気になりました。私はtelnet whois-servers.net 43
を試してみましたが、基本的にはマニュアルページに記載されているようにベアドメインを使用しています
-h host Use the specified host instead of the default variant. Either a host name or an IP address may be specified. By default whois constructs the name of a whois server to use from the top-level domain (TLD) of the supplied (single) argument, and appending ".whois-servers.net". This effectively allows a suitable whois server to be selected automatically for a large number of TLDs.
そしてここでGeekTools Whois Proxyは自分自身を発表しました
$ telnet whois-servers.net 43 Trying 206.117.161.86... Connected to whois-servers.net. Escape character is '^]'. GeekTools Whois Proxy v5.0.4 Ready. Checking access for 82.95.xx.xx... ok. apple.com Checking server [whois.crsnic.net] Checking server [whois.markmonitor.com] Results: [..]
(実際には、geektools.com
は現在206.117.161.84なので、whois-servers.net
とは別のIPです)
8 community wiki 2017-03-20