问候,
我需要一种方法(通过 C# 或在 .bat 文件中)来获取给定网络上所有计算机的列表。通常,我使用“网络视图”,但这往往只在您的域内起作用(据我的理解)。我需要网络上所有可用计算机的名称(或至少是 IP 地址)。
能够获取不是我的域上的所有计算机(在这种情况下,我会使用 WORKGROUP,或者任何默认值)也可以。
问候,
我需要一种方法(通过 C# 或在 .bat 文件中)来获取给定网络上所有计算机的列表。通常,我使用“网络视图”,但这往往只在您的域内起作用(据我的理解)。我需要网络上所有可用计算机的名称(或至少是 IP 地址)。
能够获取不是我的域上的所有计算机(在这种情况下,我会使用 WORKGROUP,或者任何默认值)也可以。
为了扩展Unkwntech所说的-
您还可以进行“广播”ping,以避免必须单独 ping 每个 IP 地址。
之后,您可以立即使用“arp”检查 ARP 缓存并获取哪些 IP 地址在哪个 MAC 地址上的列表。
Ping 愤怒的一切,然后您可以从响应识别它的名称的系统中获取 netbios 信息。
在我的一个网络应用程序中,我使用 NetApi32 功能进行网络浏览。
代码: http: //gist.github.com/11668