通过检查是否存在 NS 或 SOA(权限开始)记录,可以确定域名的可用性的准确程度?< / p>
如果没有,如何可以确定准确 ,而不诉诸WHOIS?例如,如果不存在NS记录,是否值得检查MX记录?
我对 .co.za 域特别感兴趣,但在.co.za命名空间中检查可用性的唯一官方,万无一失的方法是使用http://co.za/whois.shtml,限制IP地址的连续检查。
答案 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)
dig co.za. NS
显示.co.za TLD
域名服务器。 Ping TLD服务器并使用最接近的服务器
避免不必要的递归
查询。感谢您的回答。
答案 5 :(得分:0)
我也一直在使用dig方法在注册之前测试域的存在,但是大约10%的时间,它返回不可用的域。这是因为域的所有者尚未为域设置任何记录。所以我决定做的是:
人们将浏览一系列不可用的域,这不会浪费UniForum提供的已分配请求。只有当某些内容可用时才会检查co.za本身。在我看来,这是唯一可靠的方法,因为发送了一百万个请求而没有失去对co.za/whois.shtml的访问权限:))
答案 6 :(得分:-1)
尝试了whois并且它给了我奇怪的结果(google.fr免费!)所以我尝试了一个Windows命令:nslookup yourdomain
如果注册了它将会得到它IP
。