0

我正在尝试使用Dns.GetHostEntry方法从 DNS 服务器获取给定 IP 的主机名。

根据文档,该方法首先尝试对 IP 地址进行反向查找。就我而言,当我使用Dns.GetHostEntry.

现在,奇怪的是,对于同一个 IP,nslookup 并没有给我任何东西。它要么超时,要么给我错误:UnKnown can't find 10.4.202.16: Non-existent domain. 当我查看 DNS 服务器 (2008 R2) 时,我在反向查找区域中找不到任何 PTR 记录。所以 nslookup 失败的事实并不让我感到惊讶。

但是这里发生了什么?是否Dns.GetHostEntry使用一些未记录的方式来获取 HOSTNAME?

4

2 回答 2

0

这些方法有错误:http ://blog.tyang.org/2011/04/15/problem-with-dns-name-resolution-when-using-system-net-dns-class/ 我建议使用解决方案5上面的帖子。

于 2015-09-18T23:11:59.287 回答
0

我刚刚遇到了这个问题,尽管在我的笔记本电脑上略有不同。它被称为“红色怪物”。我在一个通过 DNS 获得 IP 地址的设施中。如果我使用 nslookup 对 IP 地址进行反向查找,我会得到一个类似于“123.123.123.123-dns.organization.ch”的地址。但是,如果我使用 GetHostEntry 进行反向查找,我会得到“RedMonster.organization.ch”。这让我认为 GetHostEntry 在以默认方式运行时正在做一些“聪明”的事情,并且必须使用本地缓存来进行反向查找。

但是,我不知道如何强制系统使用我想要的 DNS。

于 2015-09-18T22:04:07.753 回答