【问题标题】:How to get domain name from Given IP in C#?如何从 C# 中的给定 IP 获取域名?
【发布时间】:2010-07-15 06:02:13
【问题描述】:

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

在 C# 中有任何代码 sn-p 吗?

【问题讨论】:

    标签: c#


    【解决方案1】:

    你试过Dns.GetHostEntry吗?

    例子:

    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 查找不起作用,我不确定您能做什么。

    【讨论】:

      【解决方案2】:
      Console.WriteLine("DomainName: {0}", Dns.GetHostEntry("1.1.1.1").HostName);
      

      【讨论】:

      • 嗨,乔恩,您的代码工作正常,但问题是当我提供任何外部 IP 或我自己的 IP 时,我会获得域名,但如果尝试提供本地网络中存在的任何机器的 IP,它会返回我的IP地址而不是域名。请帮助我....
      • @Swapnil:尝试从命令行nslookup [ip address] 进行反向查找,然后查看您从该 IP 地址获得的信息。另外,您可以尝试使用Dns.GetHostAddressesmsdn.microsoft.com/en-us/library/…
      • 在命令提示符下使用它会给我一些其他地址,如果我使用 let address 它会给我域名。那么我无法理解的问题是什么?
      【解决方案3】:

      我真的怀疑这是否可行。可能有n 数量的域指向一个IP。你可以对Reverse DNS lookup做一些研究。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-04
        • 1970-01-01
        • 2011-01-28
        • 2018-11-12
        • 1970-01-01
        • 2011-01-28
        • 1970-01-01
        • 2012-03-25
        相关资源
        最近更新 更多