如果某個網域名稱變得過時,它通常仍然會回覆帶有一些無用連結的 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
例如,讓我們看一下domain 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 內容,然後搜尋“domain available”/“parked”/“renewal”等和其他關鍵字。您可以向其提供一個 CSV 網域文件,然後將結果輸出為 CSV,這樣您就可以獲得一個網域列表。
另一個想法是使用類似的方法來解析 whois 記錄這並解析續約日期的結果。我就是這麼做的。