首页 文章

外部DNS查找Web服务(NSLOOKUP / DiG)

提问于
浏览
2

有几个站点提供IP转换的主机名,或者使用其措辞:

查询DNS域名服务器以查找并查找Internet中计算机的IP地址信息 . 将主机或域名转换为IP地址 .

但是,我没有偶然发现这个Chinese webservice但它似乎没有做我想要的 .

有人知道免费吗?

Clarification 正是我希望能够做到的:我想要一个免费的外部Web服务(在与我不同的计算机上,在互联网的某个地方)提供一个简单的nslookup方法,其签名如下:

IPAddress[] GetIpAddress(string hostName)

结果相当于我在这里得到的结果:http://www.kloth.net/services/nslookup.php

1 回答

  • 3

    你没有准确地说出你想做什么 . 但是,有一个或两个dig类型的C#实现,例如:

    DNS.NET解析器(C#) - CodeProject

    我过去使用过这个,效果很好 .

    Update:

    你已经有了这个 . 有很多免费的DNS服务,例如Google或OpenDNS,您可以将它们用作名称服务器 .

    使用.NET的内置功能,您可以使用 System.Net 命名空间和Dns类 . 您可以使用几种静态方法:

    IPHostEntry GetHostEntry(string hostNameOrAddress)

    IPAddress[] GetHostAddresses(string hostNameOrAddress)

    上述方法将查询计算机自己的网络设置中指定的DNS服务器 .

    如果您想指定自己的解析器,请使用我上面提到的Dig工具 . 输出直接进入控制台,但您可以修改以将结果解析为返回值 .

    添加对项目的引用我能够这样做:

    Dig dig = new Dig();
    dig.DnsResolver = new Resolver("8.8.8.8");
    dig.DigIt("stackoverflow.com");
    

    返回的结果如下:

    ; <<>> Dig.Net 0.0.1 <<>> @8.8.8.8 A stackoverflow.com.net
    ;; global options: printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53737
    ;; flags:  qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;stackoverflow.com.net.                 IN      A
    
    ;; ANSWER SECTION:
    stackoverflow.com.net.          1800    IN      A       74.207.240.60
    stackoverflow.com.net.          3600    IN      A       203.169.164.119
    stackoverflow.com.net.          3600    IN      A       97.107.142.101
    stackoverflow.com.net.          1800    IN      A       69.164.199.155
    stackoverflow.com.net.          43200   IN      A       74.207.231.120
    stackoverflow.com.net.          43200   IN      A       109.74.195.184
    
    ;; Query time: 216 msec
    ;; SERVER: 8.8.8.8#53(8.8.8.8)
    ;; WHEN: Mon Oct 04 17:11:48 2010
    ;; MSG SIZE rcvd: 135
    

    您不需要第三方服务就可以执行此操作 .

相关问题