特定のドメイン名で使用可能なすべての IP アドレスのリストを作成しようとしています。私は近いと思いますが、何が欠けているのかわかりません (または、より良い方法があるかどうか)。
まず、次のようにドメインのバリエーションのリストを作成します。
webkinz.com
www.webkinz.com
次に、このリストをループして、次のように各バリエーションで dig を実行します。
while read domain; do
IPs=`dig $domain | grep $domain | grep -v ';' | awk '{ print $5 }'`;
echo " ${IPs}" >> /tmp/IPs; #array
done < /tmp/mylist
sort -u /tmp/IPs > /tmp/TheIPs; #remove duplicates
cat /tmp/TheIPs| tr -d "\n" > /tmp/IPs #remove new lines (making it 1 long line)
私のIPファイルは次のようになります。
66.48.69.100 www.webkinz.com.edgesuite.net.a1339.g.akamai.net.
問題はたったの3つ。:-(
- IPアドレスしか期待していなかったときに、返されたドメインを掘り下げます。
- 私のスクリプトがドメイン間のスペースをどのように削除したか。
- からの IP アドレスの一部
dig www.webkinz.com
が欠落しています。
それで、どうすればいいですか?dig が IP アドレスではなく別のドメインを返したかどうかをどうにかして把握し、そのドメインで dig を実行しますか? dig から返されたドメイン名を無視して、IP アドレスで十分だと判断するだけですか? 可能であれば、ドメインに解決されるすべての IP アドレスをキャッチしたいと考えています。こんなに大変だとは思いませんでした。何か案は?