我有一个在我们的网络上运行的perl程序,并执行大量的反向dns查找。查找需要花费大量时间才能完成,可能每秒钟或者三次,其中大约有50,000个...... 无论如何,它并没有完全失败,因为它返回主机名,但只有当它可以由netbios名称系统确定时。没有netbios名称但DO在我们的dns服务器中有条目的主机没有被解析。使用nslookup等揭示了这些,所以它可能不是我们的DNS服务器的问题。
我应该提一下,我目前正在使用gethostbyaddr函数。
我读到Perl可能会感到困惑,如果它运行的机器有多个NIC和IP地址就是这种情况。我写了一个巨大的kludge涉及通过外部程序进行查找,但它的速度慢,笨重,破坏了程序的可移植性。
我的问题是:在使用perl 5.18的Windows服务器上,什么会导致dns反向查找失败,同时仍然返回netbios名称...我该怎么办才能解决这个问题?
或者,如果有人知道如何告诉perl我只想要netbios名称,我会满足于此,因为如果他们没有等待dns失败,查找会更快。