C# 如何获取网络上所有可用的活动IP地址?

C# 如何获取网络上所有可用的活动IP地址?,c#,.net,networking,ip-address,C#,.net,Networking,Ip Address,在这段代码中,只查找系统IP地址和系统名称,我想查找网络上所有可用的IP地址和名称 String StringHost; StringHost = System.Net.Dns.GetHostName(); IPHostEntry ipEntry =System.Net.Dns.GetHostEntry(StringHost); IPAddress[] address = ipEntry.AddressList; for (int i = 1; i < address.Length

在这段代码中,只查找系统IP地址和系统名称,我想查找网络上所有可用的IP地址和名称

String StringHost;

StringHost = System.Net.Dns.GetHostName();

IPHostEntry ipEntry =System.Net.Dns.GetHostEntry(StringHost);

IPAddress[] address = ipEntry.AddressList;

for (int i = 1; i < address.Length; i++)
{

    IP_Address_Datagridview.Rows.Add();
    IP_Address_Datagridview.Rows[i].Cells[0].Value = StringHost;
    IP_Address_Datagridview.Rows[i].Cells[1].Value = address[i].ToString();

}
StringHost;
StringHost=System.Net.Dns.GetHostName();
IPHostEntry ipEntry=System.Net.Dns.GetHostEntry(StringHost);
IPAddress[]address=ipEntry.AddressList;
for(int i=1;i
查看计算机是否在本地网络上的最简单方法是使用ICMP“ping”子网上的每个地址。如果在您尝试的IP地址上启用了ICMP服务(通常在工作站上,但不总是在服务器上),则您将得到响应


然后,您将需要获取每个有效的IP地址并进行反向命名空间查找。

您的意思是要查找网络上的其他计算机?您的意思是“我要查找网络上所有可用的IP地址和名称”。Anger IP Scanner是我在pass中用于此类搜索的实用工具。Github上有可能对您有所帮助的源代码:您可以使用
nmap
,对于exmaple,并查看其输出Ed:如果您发现有已停用ICMP的节点,您可能希望探测打开的已知端口。ICMP不总是处于活动状态。这就是为什么nmap在测试发送不同的带有标志的数据包时很方便,使主机发送某种响应。切勿信任ICMP执行此任务。