如何在C#中从给定IP获取域名?

如何在C#中从给定IP获取域名?,c#,C#,我想从给定的IP获取域名。 例如,如果我将IP命名为“172.24.17.85”,我应该只获得域名,就像我的域名是sonata.net一样 在C#?中有任何关于此的代码片段吗 例如: using System; using System.Net; class Test { static void Main(string[] args) { IPAddress addr = IPAddress.Parse("69.59.196.211"); IPH

我想从给定的IP获取域名。 例如,如果我将IP命名为“172.24.17.85”,我应该只获得域名,就像我的域名是sonata.net一样

在C#?

中有任何关于此的代码片段吗

例如:

using System;
using System.Net;

class Test
{
    static void Main(string[] args)
    {
        IPAddress addr = IPAddress.Parse("69.59.196.211");
        IPHostEntry entry = Dns.GetHostEntry(addr);
        Console.WriteLine(entry.HostName); // Prints "stackoverflow.com"
    }
}

请注意,这对您给出的示例不起作用。。。如果反向DNS查找不起作用,我不确定您能做什么。

我真的怀疑这是否可行。可能有
n
个域指向单个IP。你可以做一些研究。

Hi Jon,你的代码运行得很好,但问题是当我给出任何外部Ip或我自己的Ip时,我会得到域名,但如果试图给出本地网络中存在的任何机器的Ip,它会返回Ip地址而不是域名。请帮助我…@Swapnil:尝试从命令行
nslookup[ip address]
反向查找,看看该ip地址能得到什么。此外,您还可以尝试使用
Dns.GetHostAddresses
;在命令提示符下使用这个命令会给我一些其他地址,如果我使用let address,它会给我域名。那么,我不理解的问题是什么?
Console.WriteLine("DomainName: {0}", Dns.GetHostEntry("1.1.1.1").HostName);