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

Posted

技术标签:

【中文标题】如何获取局域网中的所有IP地址?【英文标题】:How to get all ip address in LAN? 【发布时间】:2016-02-26 13:33:56 【问题描述】:

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

【问题讨论】:

How to get IP of all hosts in LAN?的可能重复 …或者这个***.com/questions/6803073/get-local-ip-address How do I get a list of the active IP-addresses, MAC-addresses and NetBios names on the LAN?的可能重复 【参考方案1】:

这可能对你有用

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 的操作系统。

【讨论】:

Thnq..in comment all ip address in lan 如何在richtextbox中得到它..请帮忙!【参考方案2】:

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

【讨论】:

以上是关于如何获取局域网中的所有IP地址?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用nodejs获取连接到另一个局域网的所有设备的ip和mac地址?

(50分)MFC如何获取同一局域网中主机的IP地址

如何获取局域网内主机信息-连接网络帐号\密码

如何使用 Java 获取连接在同一网络(子网)中的 IP 列表

如何在C#中获取用户的公共IP地址

java中如何获取到本机的外网ip地址?