一部のドメイン名が古くなった場合、通常は HTTP リクエストに対して、まったく解決に失敗するだけでなく、一連の役に立たないリンクで応答し、場合によっては「このドメインは期限切れ/販売中です」という明確なメッセージも表示されないことがあります。
whois
ブラウザを使わずに「デッド」(期限切れ/延長されていない)ドメインを自動的に判別するにはどうすればよいでしょうか?ツールで実行できますか?
次のようなものを期待しています:
while true; do
if ! checkdomain something-on-verge-of-abandoning-business.com; then
echo "Good night, sweet prince"
break
fi
sleep 1d
done
たとえば、ドメインを見てみましょうallmydata.com
。Allmydata について私が見る限り、そこには Tahoe-LAFS ベースのバックアップ サービスがあるはずです。しかし、実際にはそれはパークされたドメインです。
$ whois allmydata.com
...
Domain Name: ALLMYDATA.COM
Registrar: DOMAIN MONKEYS, LLC
Whois Server: whois.domainmonkeys.com
Referral URL: http://www.domainmonkeys.com
Name Server: NS1.DSREDIRECTION.COM
Name Server: NS2.DSREDIRECTION.COM
Status: clientTransferProhibited
Updated Date: 04-aug-2013
Creation Date: 03-aug-2004
Expiration Date: 03-aug-2014
...
$ dig +short -t A allmydata.com @8.8.8.8
208.73.211.247
この浅いチェックでは、それが良いドメインであるように見えます。しかし、どのようにして信頼性を持って(つまり、ページをヒューリスティックに解析してコンテンツから「スパム性」や「パーク性」を測定するのではなく)そのようなことを検出するのでしょうか?
答え1
Python を使用して HTML コンテンツを読み取り、「ドメイン使用可能」/「パーク」/「更新」などのキーワードを検索することができます。ドメインの CSV ファイルを入力し、結果を CSV として出力すれば、ドメインのリストが得られます。
もう一つのアイデアは、次のようなものを使ってwhoisレコードを解析することです。これそして、更新日の結果を解析します。これが私ならやります。