Obtendo uma lista de registros DNS para vários domínios [closed]

1

Temos mais de 250 nomes de domínio com um registrador que, devido a anos de negligência organizacional, aponta para vários servidores diferentes que hospedam os sites.

Fui convidado para limpar isso. suspiro

Para começar, quero obter uma lista de cada nome de domínio e seus registros DNS A para ver para qual servidor eles estão apontando. Alguém sabe como eu posso fazer isso?

    
por bobble14988 24.09.2012 / 17:46

3 respostas

1

Veja como eu faria isso no PowerShell usando um arquivo de texto com um domínio por linha.

Get-Content domains.txt | %{
  new-object -type PSObject -property @{
    Domain=$_
    IPAddr=[System.Net.Dns]::GetHostAddresses($_)
  }
}

Qual saída é algo como:

Domain                IPAddr
------                ------
www.google.com        {2001:4860:4001:803::1011, 74.125.224.145, 74.125.224....
www.yahoo.com         {2001:4998:c:401::c:9101, 2001:4998:c:401::c:9102, 200...
www.flickr.com        {216.115.107.206, 67.195.141.201, 67.195.141.200, 98.1...
www.serverfault.com   {64.34.119.12}
www.stackexchange.com {64.34.119.12}

Veja como eu faria em Perl com o mesmo arquivo de texto.

perl -MSocket -nE 'chomp; say $_, " ", inet_ntoa "".gethostbyname $_;' domains.txt

Qual saída é algo como:

www.google.com 74.125.141.103
www.yahoo.com 72.30.38.140
www.flickr.com 216.115.107.206
www.serverfault.com 64.34.119.12
www.stackexchange.com 64.34.119.12
    
por 24.09.2012 / 18:34
1

Uma resposta ainda mais fácil é obter os registros de DNS do registrador para ver onde eles estão apontando. A maioria dos bons registradores em massa tem uma função de exportação apenas para esse tipo de coisa. Agora, se todos estão sendo hospedados fora do site, talvez seja necessário recorrer ao código para obter registros A para eles. Mas, vendo que a resolução de DNS foi delegada para ns1.hosting.com será uma grande pista para ajudar você a localizar a empresa de hospedagem adequada e começar a trabalhar na obtenção de credenciais.

    
por 24.09.2012 / 23:07
1

No Bash:

Coloque seus domínios, um por linha, em domains.txt .

for domain in $( cat domains.txt ); do host -ta $domain; done

Isso vai imprimir algo como:

stackoverflow.com has address 64.34.119.12
serverfault.com has address 64.34.119.12
    
por 25.09.2012 / 01:12