2008-08-20 172 views
4

我想显示用户名称地址(请参阅www.ipchicken.com),但我唯一能找到的就是IP地址。我尝试了反向查找,但都没有工作:获取远程名称地址(非IP)

IPAddress ip = IPAddress.Parse(this.lblIp.Text); 
string hostName = Dns.GetHostByAddress(ip).HostName; 
this.lblHost.Text = hostName; 

但是HostName与IP地址相同。

谁知道我需要做什么?

谢谢。 Gab。

回答

3

编辑我以前的答案。 尝试(在vb.net):

Dim sTmp As String 
    Dim ip As IPHostEntry 

    sTmp = MaskedTextBox1.Text 
    Dim ipAddr As IPAddress = IPAddress.Parse(sTmp) 
    ip = Dns.GetHostEntry(ipAddr) 
    MaskedTextBox2.Text = ip.HostName 

Dns.resolve似乎是在.net中的更高版本过时。如前所述,我认为这个问题是由您的IP地址没有固定名称或由多个名称引起的。上面的示例适用于Google地址,但不包含我们使用的具有与之关联的几个名称的地址。

0

并非所有的IP地址都需要主机名。我认为你的情况就是这样。

名称:与更多知名的IP /主机名对如试试吧ouy google.com地址:72.14.207.99

名称:google.com地址: 64.233.187.99

名称:google.com地址: 64.233.167.99

...我可能只是错

0

很多用户^ h同一个共享的IP地址,所以你将无法找到他们的主机名。许多用户不一定会在公共DNS中为他们来自的IP提供DNS记录。

2

你需要从System.Net

的Dns.Resolve()方法

看到这个article

1

还记得,反向查找,不会给百达相同的地址在正向DNS查找所使用的。

例如,对于google.com我获得IP 64.233.167.99
但扭转该IP返回DNS查找py-in-f99.google.com

2

愚蠢的我...该代码被公布为100 %有效和正在工作......但10行更低我用另一个值,这恰好是IP地址替换this.lblHost.Text。

对不起。