使用DNS记录检查域名可用性

时间:2009-11-23 00:42:24

标签: dns whois nameservers

通过检查是否存在 NS SOA(权限开始)记录,可以确定域名的可用性的准确程度?< / p>

如果没有,如何可以确定准确 ,而不诉诸WHOIS?例如,如果不存在NS记录,是否值得检查MX记录?

我对 .co.za 域特别感兴趣,但在.co.za命名空间中检查可用性的唯一官方,万无一失的方法是使用http://co.za/whois.shtml,限制IP地址的连续检查。

7 个答案:

答案 0 :(得分:10)

检查域可用性的唯一100%可靠方法是查询注册商的数据库。我不相信whois。

您可以使用DNS获取估算值。而不是寻找SOA记录,我只想查看是否有任何内容与TLD名称服务器一起列出。 dig是一个很好的工具(在Windows上运行),虽然我猜你也可以使用nslookup。例如:

dig co.za. NS

将提供.co.za的名称服务器列表。其中一台服务器是ns0.is.co.za。

接下来,直接查询该服务器,看看他们是否列出了您感兴趣的域名:

dig ibm.co.za @ns0.is.co.za

该查询返回NS记录,但没有SOA记录,因为SOA记录由域名服务器提供(可能在线也可能不在线)。 NS记录表明域名正在使用中。

直接的原因是它通常比依赖本地名称服务器的递归查询快得多。

答案 1 :(得分:6)

确定域是否可用的唯一方法是查询该域的注册表数据库。通常,您可以通过在注册管理机构WHOIS界面上执行WHOIS查询来实现此目的。

有几个原因可以解释为什么DNS检查不安全。

最简单的解释是因为您可以注册域而不将其指向任何位置。这就像一所房子。你可以买房子,但你没有被迫建造一条通往它的道路。

大多数可用域提供程序强制您指向DNS,否则它们会设置默认值。但是你没有被迫,这不是一种强制性的域名要求。

第二个原因是因为实际上存在域名注册但不可用的情况。其中一个案例是通常称为赎回期的时期。域名过期后,此期限会持续几天,且当前所有者不会续订。有几个注册管理机构禁用域名,这意味着它无法通过DNS访问,但域名仍然存在,并且只能由原始所有者兑换(通常)。

DNS检查很便宜,有时速度更快。如果您需要检查域是否存在,那么您可以先尝试DNS查询,如果失败,则回退到WHOIS查询。换句话说,如果DNS查询成功,则WHOIS查询几乎毫无意义。但你不能这样做,因为如果DNS查询失败,并不意味着域名没有注册

答案 2 :(得分:1)

Whois是检查域可用性的规范方法。速率限制是故意让人们不要超载whois服务器。 SOA记录的存在可能是一个很好的猜测,但它不是一个肯定的答案。

答案 3 :(得分:0)

实际上,DNS查找在99%的时间内都有效。如果你写Ajaxwhois之类的东西,我建议你走这条路。如果您要检查一百万个名字,我会先进行DNS查询,然后对您可能考虑购买的那些进行第二次传递。

答案 4 :(得分:0)

  • Whois是唯一100%肯定的方式 检查.co.za域名 可用性。看到 http://co.za/whois.shtml
  • 我的测试显示检查是否存在 NS 批量记录或任何DNS记录 似乎是最准确的方式 猜测.co.za域名是否可用于注册。 SOA记录也可以,但不是很好。
  • dig co.za. NS显示.co.za TLD 域名服务器。 Ping TLD服务器并使用最接近的服务器 避免不必要的递归 查询。

感谢您的回答。

答案 5 :(得分:0)

我也一直在使用dig方法在注册之前测试域的存在,但是大约10%的时间,它返回不可用的域。这是因为域的所有者尚未为域设置任何记录。所以我决定做的是:

  1. 首先通过挖掘方法检查。
  2. 如果域名似乎可用,请使用whois.shtml检查
  3. 人们将浏览一系列不可用的域,这不会浪费UniForum提供的已分配请求。只有当某些内容可用时才会检查co.za本身。在我看来,这是唯一可靠的方法,因为发送了一百万个请求而没有失去对co.za/whois.shtml的访问权限:))

答案 6 :(得分:-1)

尝试了whois并且它给了我奇怪的结果(google.fr免费!)所以我尝试了一个Windows命令:nslookup yourdomain如果注册了它将会得到它IP