如何在C#.NET中从本地IP解析主机名?

时间:2012-06-20 16:08:16

标签: c# .net

我正在尝试列出网络上当前在线的计算机名称。我只是设法获得了活动的IP,但我无法获得这些IP的计算机名称。有什么想法吗?

3 个答案:

答案 0 :(得分:20)

您可以使用Dns.GetHostEntry 尝试来解析名称,因为并非每个IP都有名称

using System.Net;
...

public string GetHostName(string ipAddress)
{
    try
    {
        IPHostEntry entry = Dns.GetHostEntry(ipAddress);
        if (entry != null)
        {
           return entry.HostName;
        }
    }
    catch (SocketException ex)
    {
       //unknown host or
       //not every IP has a name
       //log exception (manage it)
    }

    return null;
}

答案 1 :(得分:3)

如果您已经有了一个IP地址列表,可以找到名称:

      System.Net.Dns.GetHostEntry("youripaddress").HostName;

答案 2 :(得分:2)

从IP地址,您可以使用Dns.GetHostEntry方法。