如何在局域网中获取所有IP地址?

时间:2015-11-24 07:52:16

标签: c# winforms

我在LAN网络中连接了所有系统名称。我不知道如何获取所有系统名称的IP地址,如(192.168.1.15)。

2 个答案:

答案 0 :(得分:5)

这可能会为你做到这一点

foreach(NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
    foreach (UnicastIPAddressInformation ip in ni.GetIPProperties().UnicastAddresses)
    {
        if(!ip.IsDnsEligible)
        {
            if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
            {
                // All IP Address in the LAN
            }
        }
    }
}

此代码的唯一缺点是UnicastIPAddressInformation实例返回的信息不适用于早于Windows XP的操作系统。

答案 1 :(得分:0)

如果您已经知道主机名(正如您的问题所示),您可以使用Dns.GetHostAddresses方法将其转换为IP地址。