DNSクエリスクリプト

DNSクエリスクリプト

一部のドメインのすべてのAレコードを取得しようとしています。私が見つけた最良の方法は、次を使用することです。https://www.whatsmydns.netそして次のツール。問題は、コピーして貼り付けてすべてのジャンクアイテムを並べ替えるのが非常に遅いことです。スクレイピングを試みましたが、JavaScriptは半分の時間が中断されることを意味します。

もう一つのアイデアは私のサーバーでDNSクエリを実行することですが、ほとんどのDNSサーバーがエニーキャストなので、これがどのように効果的かわかりません。

「nslookup google.com 8.8.8.8」を実行してDNSサーバーのリストを繰り返し、AレコードのIPアドレスのみをgoogle.com.txtというファイルに出力するスクリプトを作成できますか?すべての重複エントリを削除してください。

よろしくお願いします!

ベストアンサー1

dig(1)orコマンドはhost(1)自動的にレコードを見つけることができますA

% for d in example.com example.org; do dig +short A $d; done 
93.184.216.34
93.184.216.34
% for d in example.com example.org; do host -t A $d; done                   
example.com has address 93.184.216.34
example.org has address 93.184.216.34
%

スクリプトとして1つの方法は次のとおりです。

$ cat domlu
#!/bin/sh
# accepts list of domains one per line on standard input, emits unique
# A records for said domains (assuming no errors, etc).
( while read domain; do
  dig +short A "$domain"
done ) | sort -u
$ cat hl
example.com
example.org
$ chmod +x domlu 
$ ./domlu < hl
93.184.216.34
$ 

おすすめ記事