如何使用IP地址获取计算机名称



我正在尝试获取当前用户的计算机名称。我能够使用System.Net.Dns.GetHostEntry("ComputerName").Address.ToString()获得IP地址,但是当我用IPAddress替换*ComputerName*时,我收到以下错误。

不知道这样的主机

我在IIS7中通过运行命令启用反向DNS: Cscript.exe adsutil。vbs set w3svc/EnableReverseDNS TRUEC:inetpubAdminScripts目录在我的服务器。

你知道我做错了什么吗?

更新

总的目的是,这将是一个帮助台应用程序,它将有助于用户能够轻松地提供他们的计算机名称的帮助。

在本地一切正常,但一旦发布到服务器就不工作了

下面是如何在不同的机器上获得它。这也会给你IPv4版本。

class getIP
{
    public getIP()
    {
        IPAddress ip = Dns.GetHostEntry("whybla01").AddressList.Where(o => o.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).First();
        Console.WriteLine(ip);
        string name = Dns.GetHostEntry(ip).HostName.ToString();
        Console.WriteLine(name);
    }
}

你可以试试:

  string machineName = GetMachineNameFromIPAddress(yourIPAdress);
  private static string GetMachineNameFromIPAddress(string ipAdress)
        {
            string machineName = string.Empty;
            try
            {
                IPHostEntry hostEntry = Dns.GetHostEntry(ipAdress);
                machineName = hostEntry.HostName;
            }
            catch (Exception ex)
            {
                // Machine not found...
            }
            return machineName;
        }

感谢所有回复这个帖子的人。

实际上,代码不是问题所在。我所尝试的代码和建议都没有错。我发现服务器DNS条目没有正确设置。

最新更新