代码之家  ›  专栏  ›  技术社区  ›  Ohad Schneider

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

  •  2
  • Ohad Schneider  · 技术社区  · 14 年前

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

    查询DNS域名服务器以 查找和查找IP地址信息 互联网上的计算机。转换 IP中的主机名或域名 地址。

    然而,我还没有找到任何提供这种功能的免费网络服务。 我偶然发现了这个 Chinese webservice 但它似乎没有达到我想要的效果。

    有人知道免费的吗?

    澄清 我想做的事情: 外部的 web服务(在与我不同的计算机上,在internet上的某个地方)提供了一个简单的 方法的签名如下:

    IPAddress[] GetIpAddress(string hostName)
    

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

    1 回复  |  直到 7 年前
        1
  •  4
  •   erlando    14 年前

    你没有说清楚你想做什么。不过也有一两个 dig

    DNS.NET Resolver (C#) - CodeProject

    我以前用过这个,效果很好。

    更新:

    你已经有这个了。有很多免费的DNS服务,比如Google或OpenDNS,你可以用它作为名称服务器。

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

    IPHostEntry GetHostEntry(string hostNameOrAddress)

    IPAddress[] GetHostAddresses(string hostNameOrAddress)

    以上方法将查询计算机自身网络设置中指定的DNS服务器。

    如果你想指定你自己的解析器,那么使用我上面提到的挖掘工具。输出直接发送到控制台,但您可以进行修改,将结果解析为返回值。

    添加对项目的引用我可以这样做:

    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
    

    你不需要第三方服务来完成这项工作。