Bash полный список IP-адресов для домена

Я пытаюсь создать список всех возможных 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 проблемы . :-(

  1. Dig вернул домены, когда я ожидал только IP-адреса.
  2. Каким-то образом мой скрипт удалил пробелы между доменами.
  3. Некоторые IP-адреса из копают www.webkinz.comотсутствуют.

Итак, как мне это сделать? Можно ли как-то выяснить, вернул ли dig другой домен вместо IP-адреса, и запустить dig на этом домене? Просто игнорировать доменные имена, возвращенные dig, и вычислить IP-адресов достаточно? Я хочу перехватить все IP-адреса, которые, если возможно, будут преобразованы в домен. Я не думаю, что это должно быть так сложно. Есть идеи?

7
задан exvance 20 June 2012 в 21:45
поделиться