telnetでwhoisをたたく

はじめに

「サーバが攻撃されている!このIPアドレスが誰のものか調べてくれ!」 「あー、また誰かがウィルスでも踏んだかな・・・。このIPは外からですかね。えーと、nslookup・・・ではヒットしない、と。じゃあwhois・・・あれ?whoisコマンドがない!ど、どうすればいいんだ!」 (ルークよ・・・telnetを使え) 「そうだ!俺たちにはtelnetがあるじゃないか!」

というわけでtelnetでwhoisをたたきます。いくらでも他の方法あるだろとか言わないのが大人です。

whois

whoisというのは、インターネットの登録情報を確認するサービスである。えらく古いプロトコルなので後継が出るとかでないとか。様々な用途はあるが、筆者はssh brute force攻撃とかポートスキャンとか来たときに、そのIPアドレスの所有者というか、管理者の連絡先を調べて「おたくのところで誰かウィルスとかやられてないですか?」的な問い合わせをするのに使っていた。っていうか最近のサーバ管理者ってwhoisコマンドとかまだ使ってるんですかね?レジストラのウェブで調べるの?そもそもwhoisってまだ使ってる人いるのかしら?

それはともかくとして、昔のネットワーク管理者はなんでもtelnetで叩く「telnet芸」みたいなのを身に着けてたと思うんだけど(HTTPとかSMTPとかはよく叩いたよね?)、whoisもtelnetで叩ける、というのはあんまり知られてなかったみたいなんで、叩いてみましょう。

どこでもいいんだけど、例えばgoogleあたりを調べてみましょうか。

$ nslookup www.google.com 
Server:		XXXXXX
Address:	   XXXXXX

Non-authoritative answer:
Name:	www.google.com
Address: 172.217.26.36

環境によっては実行するたびに返ってくるアドレスが変わるかも。

まずはwhoisコマンドで聞いてみる。

$ whois 172.217.26.36

#
## ARIN WHOIS data and services are subject to the Terms of Use
## available at: https://www.arin.net/whois_tou.html
#
## If you see inaccuracies in the results, please report at
## https://www.arin.net/public/whoisinaccuracy/index.xhtml
#

(snip)

NetRange:       172.217.0.0 - 172.217.255.255
CIDR:           172.217.0.0/16
NetName:        GOOGLE
NetHandle:      NET-172-217-0-0-1
Parent:         NET172 (NET-172-0-0-0-0)
NetType:        Direct Allocation
OriginAS:       AS15169
Organization:   Google LLC (GOGL)
RegDate:        2012-04-16
Updated:        2012-04-16
Ref:            https://whois.arin.net/rest/net/NET-172-217-0-0-1

(snip)

whois.arin.netが返事をしてくれて、そのアドレスはGoogleが管理してるよ、ということを教えてくれた。

さて、それをtelnetでも聞いてみよう。whoisのポート番号は43番である。

$ telnet whois.arin.net 43
Trying 2001:500:31::46...
Connected to whois.arin.net.
Escape character is '^]'.

ここで入力待ちになるので、IPアドレスを入れてみる。

172.217.26.36   # ← コマンドラインから入力

#
## ARIN WHOIS data and services are subject to the Terms of Use
## available at: https://www.arin.net/whois_tou.html
#
## If you see inaccuracies in the results, please report at
## https://www.arin.net/public/whoisinaccuracy/index.xhtml
#
(snip)
NetRange:       172.217.0.0 - 172.217.255.255
CIDR:           172.217.0.0/16
NetName:        GOOGLE
NetHandle:      NET-172-217-0-0-1
Parent:         NET172 (NET-172-0-0-0-0)
NetType:        Direct Allocation
OriginAS:       AS15169
Organization:   Google LLC (GOGL)
RegDate:        2012-04-16
Updated:        2012-04-16
Ref:            https://whois.arin.net/rest/net/NET-172-217-0-0-1
(snip)
Connection closed by foreign host.

同じ情報が返ってきた。

AS番号から情報をひくのもtelnetからできる。

$ telnet whois.arin.net 43
Trying 2001:500:a9::46...
Connected to whois.arin.net.
Escape character is '^]'.
a 15169
(snip)
ASNumber:       15169
ASName:         GOOGLE
ASHandle:       AS15169
RegDate:        2000-03-30
Updated:        2012-02-24    
Ref:            https://whois.arin.net/rest/asn/AS15169
(snip)
Connection closed by foreign host.

ちゃんとGoogleがでてきましたね。

まとめ

まぁ、これだけの話でまとめもへったくれもないんだけれども、whoisはtelnetで叩けるよ、という話。telnetで80番とか25番あたりはまだ叩く用途が思いつくんだけど、43を叩くシチュエーションは正直思いつかない。っていうか筆者は最近のサーバ管理者がどういう生活しているか知らないんだけど、こういうtelnet芸ってまだ引き継がれてるんですかね?