CentOS で「whois」コマンドを利用する

2023-01-26

管理しているドメインで、有効期限を近付いてくると管理しているレジストラからメールが来るのですが、自動更新しなかったりして更新忘れ怖いので、有効期限を定期的にチェックする方法が無いか調べていたら「whois」コマンドがありました。これを利用することにします

# CentOS 7
$ sudo yum install whois

# CentOS 8, CentOS 9
$ sudo dnf install whois

「google.com」 の情報を取得する。更新期限は「Registry Expiry Date」の日付がドメインの有効期限となります

$ whois google.com
   Domain Name: GOOGLE.COM
   Registry Domain ID: 2138514_DOMAIN_COM-VRSN
   Registrar WHOIS Server: whois.markmonitor.com
   Registrar URL: http://www.markmonitor.com
   Updated Date: 2019-09-09T15:39:04Z
   Creation Date: 1997-09-15T04:00:00Z
   Registry Expiry Date: 2028-09-14T04:00:00Z
   Registrar: MarkMonitor Inc.
   Registrar IANA ID: 292
   Registrar Abuse Contact Email: abusecomplaints@markmonitor.com
   Registrar Abuse Contact Phone: +1.2083895740
   Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
   Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
   Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
   Domain Status: serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited
   Domain Status: serverTransferProhibited https://icann.org/epp#serverTransferProhibited
   Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
   Name Server: NS1.GOOGLE.COM
   Name Server: NS2.GOOGLE.COM
   Name Server: NS3.GOOGLE.COM
   Name Server: NS4.GOOGLE.COM
   DNSSEC: unsigned
   URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2022-02-09T08:04:26Z <<<

「google.co.jp」 の情報を取得する。co.jp のJPドメインのドメイン更新間隔は、1年ごとの更新となるので「Last Update」の日付+1年は有効期限となります

$ whois google.co.jp
[ JPRS database provides information on network administration. Its use is    ]
[ restricted to network administration purposes. For further information,     ]
[ use 'whois -h whois.jprs.jp help'. To suppress Japanese output, add'/e'     ]
[ at the end of command, e.g. 'whois -h whois.jprs.jp xxx/e'.                 ]

Domain Information:
a. [Domain Name]                GOOGLE.CO.JP
g. [Organization]               Google Japan G.K.
l. [Organization Type]          GK
m. [Administrative Contact]     YN47525JP
n. [Technical Contact]          SH36113JP
p. [Name Server]                ns1.google.com
p. [Name Server]                ns2.google.com
p. [Name Server]                ns3.google.com
p. [Name Server]                ns4.google.com
s. [Signing Key]                
[State]                         Connected (2022/03/31)
[Registered Date]               2001/03/22
[Connected Date]                2001/03/22
[Last Update]                   2021/04/01 01:05:22 (JST)

自分が確認したい有効期限のドメインは、comドメインだったので、「Registry Expiry Date」の箇所をチェックしてメールような下記のスクリプトを作ってメールするようにしました。

#!/bin/bash

WHOISCHK_TXT=`whois example.com | grep "Registry Expiry Date"`
cat $WHOISCHK_TXT | mail -s "Whois Domain CHECK" admin@example.com