Как разрешить имя хоста из локального IP-адреса в С#.NET?

Я пытаюсь перечислить имена имен компьютеров, которые в настоящее время находятся в сети в сети. Мне удалось получить активные IP-адреса, но я не могу получить имя компьютера этих IP-адресов. Любые идеи?

Спасибо заранее!

Ответ 1

Вы можете использовать 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;
}

Ответ 2

Если у вас уже есть список ip-адресов, вы можете найти его с помощью:

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

Ответ 3

Из IP-адресов вы можете использовать метод Dns.GetHostEntry.