获取多个域名的DNSlogging列表

我们有超过250个域名与一个注册商,由于多年的组织忽视,指向各种不同的服务器托pipe网站。

我被要求清理这个。

首先,我想获得每个域名和它们的DNS Alogging的列表,以查看它们指向哪个服务器。 有人知道我该怎么办?

以下是我如何使用每行一个域的文本文件在PowerShell中执行此操作。

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

其输出如下所示:

 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} 

下面是我如何在Perl中使用相同的文本文件。

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

其输出如下所示:

 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 

一个更简单的答案是从注册服务商那里获取DNSlogging,看看他们指向的地方。 大多数好的批量注册服务机构都有这种东西的出口function。 现在,如果他们都被托pipe在外,您可能需要使用代码来获取Alogging。 但是,看到DNSparsing已经委托给ns1.hosting.com将是一个很大的线索,以帮助您find适当的托pipe公司,并开始获取凭据。

在Bash:

把你的域,每行一个,在domains.txt

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

这将打印如下:

 stackoverflow.com has address 64.34.119.12 serverfault.com has address 64.34.119.12