【问题标题】:External DNS lookup web service (NSLOOKUP / DiG)外部 DNS 查找 Web 服务 (NSLOOKUP / DiG)
【发布时间】:2010-10-04 13:00:33
【问题描述】:

一些网站提供主机名到 IP 的转换,或者在他们的措辞中:

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

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

有人知道免费的吗?

澄清我想要做什么: 我想要一个免费的外部网络服务(在与我不同的计算机上,在互联网的某个地方),提供一个简单的 nslookup 方法,其签名如下:

IPAddress[] GetIpAddress(string hostName)

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

【问题讨论】:

    标签: c# web-services dns nslookup


    【解决方案1】:

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

    DNS.NET Resolver (C#) - CodeProject

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

    更新:

    你已经有了这个。您可以将许多免费的 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
    

    您无需第三方服务即可执行此操作。

    【讨论】:

    • 嗨,使用你的代码我得到:; > Dig.Net 1.0.0.1 > @8.8.8.8 一个 stackoverflow.com ;;全局选项: printcmd ;;超时错误
    • @ohadsc - Google 的名称服务器可能在您所在的位置被阻止?尝试使用 OpenDNS(208.67.222.222 或 208.67.220.220)或您自己的 ISP 的 DNS 服务器。
    • 是的,看起来确实如此。我还尝试了来自 www.dnsserverlist.org 的一些解析器,它们都被阻止了。只有我自己的网络的解析器可以工作,但就像我说的我需要一个外部的。回到第一格?
    • @ohadsc - 真可惜,我认为没有办法说服您的网络管理员允许访问这些外部 DNS 服务器(为了业务利益始终是一个很好的借口)。跨度>
    • 大声笑,你知道网络管理员 :) 所以我认为他们阻止了 DNS 解析端口?有没有办法将它中继到端口 80 或类似的东西?
    猜你喜欢
    • 1970-01-01
    • 2013-07-18
    • 1970-01-01
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 2015-12-13
    • 2013-06-25
    • 2015-08-16
    相关资源
    最近更新 更多