2

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

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

但是,我还没有找到任何提供此功能的免费 Web 服务。我偶然发现了这个中文网络服务,但它似乎没有做我想要的。

有人知道免费的吗?

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

IPAddress[] GetIpAddress(string hostName)

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

4

1 回答 1

4

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

DNS.NET 解析器 (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

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

于 2010-10-04T13:12:13.960 回答