首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.co.za域domains记录的快速并发检查

.co.za域domains记录的快速并发检查
EN

Stack Overflow用户
提问于 2009-11-21 02:18:44
回答 2查看 1.4K关注 0票数 2

我希望尽可能准确地实现批量可用性检查 of .co.za域名,方法是使用C# ASP.NET检查、SOA、MX records的存在。

我正在寻找一个解决方案,可以检查相关的DNS记录,适当地利用线程检查至少10个域在同一时间。

“为什么不直接使用API呢?”

检查.co.za域可用性的唯一真正准确的方法是使用http://co.za/whois.shtml,但古老的WHOIS服务不允许批量检查,并限制对给定IP的连续检查。

以前的工作

到目前为止,我已经得到了相当准确的结果使用我的古老的经典ASP脚本使用一个旧的DNS库称为“简单DNS解析器”由Emmanuel。然而,这种方法不能很好地扩展,我需要能够使用一个正确的线程化ASP.NET实现来处理更多的用户。

我现在使用的调皮代码如下所示:

代码语言:javascript
复制
Dim oDNS, pDomain, found_names

Set oDNS = CreateObject("Emmanuel.SimpleDNSClient.1")

oDNS.ServerAddresses = "127.0.0.1" // Set DNS server to use
oDNS.Separator = "," // Set separator for found_names multiple outputs

对每个域执行以下命令:

代码语言:javascript
复制
Err.Clear // Reset error flag. I know, I hate it too.

oDNS.Resolve pDomain, found_names, "C_IN", "T_SOA" // Look for SOA records for domain

If Err <> 0 Then // No SOA records could be found.
    Err.Clear // Reset error flag
    oDNS.GetEmailServers pDomain, found_names // Look for MX records
    If Err <> 0 Then // No MX records found either
        AssumeDomainIsAvailable(pDomain);
    Else // Found some MX records
        DomainUnavailable(pDomain);
    End If

Else // Found some SOA records
    DomainUnavailable(pDomain);
End If

任何改进检测的建议都将受到赞赏。这是我对此的第一个问题,所以请原谅我的长篇大论,谢谢你宝贵的时间。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-22 13:21:39

这将非常容易使用JH软件的用于.NET的DNS客户端库

代码语言:javascript
复制
var Response = JHSoftware.DnsClient.Lookup("example.com", 
                              JHSoftware.DnsClient.RecordType.SOA);

它还支持异步查找的BeginLookup / EndLookup方法。

票数 3
EN

Stack Overflow用户

发布于 2009-11-23 08:23:04

如果Web上提供的服务“限制了对给定IP的连续检查”,那么这可能是出于很好的理由(既为了维护系统,又使投机者的生活更加困难)。把它称为“古旧”当然没有用。

此外,许多DNS请求可能被视为违反服务条款和/或字典攻击,并且可能导致黑名单(免责声明:我不知道co.za的策略)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1774293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档