macos – apple.comのような「スパムに感染した」ドメインのコマンドラインwhoisを使用するには?

command-line freebsd macos spam-prevention whois

要するに、Max OS Xのコマンドラインを使って、whoisのようなドメインのapple.comの完全な詳細を取得する方法はありますか?

コマンドラインで whoisapple.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 では、jwhoisapple.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


タイトルとURLをコピーしました