Network programming 在与我的计算机相同的网络中获取所有IP

Network programming 在与我的计算机相同的网络中获取所有IP,network-programming,Network Programming,有没有办法用c语言编程获取与我的计算机位于同一域/子网络中的所有其他工作站,并显示有关它们的一些信息(如果它们处于活动状态)、它们安装了什么类型的操作系统、它们的IP等?这还需要很多。它是开源的 这会再加上很多。它是开源的 这是一个VB解决方案,但我非常确定您将能够进行所需的更改以使其正常工作 也许有更好的办法,但这是第一次 Imports System.Net.NetworkInformation Imports System.Directory Services Class Network

有没有办法用c语言编程获取与我的计算机位于同一域/子网络中的所有其他工作站,并显示有关它们的一些信息(如果它们处于活动状态)、它们安装了什么类型的操作系统、它们的IP等?

这还需要很多。它是开源的

这会再加上很多。它是开源的

这是一个VB解决方案,但我非常确定您将能够进行所需的更改以使其正常工作

也许有更好的办法,但这是第一次

Imports System.Net.NetworkInformation
Imports System.Directory Services

Class NetworkInfo

Function GetComputers() as list(Of String)

dim List as new list(of String)

Dim DomainEntry as new DirectoryEntry("WinNT://" + DomainInfo.GetDomain.Trim())
DomainEntry.Children.SchemaFilter.Add("computer")

For Each Machine as DirectoryEntry in DomainEntry.Children
List.Add(Machine.Name)
Next

return List

End Function

End Class

System.Net.NetworkInformation命名空间中有各种有用的工具,可以让您捕获IP地址等信息。

这是一个VB解决方案,但我非常确定您将能够进行所需的更改以使其正常工作

也许有更好的办法,但这是第一次

Imports System.Net.NetworkInformation
Imports System.Directory Services

Class NetworkInfo

Function GetComputers() as list(Of String)

dim List as new list(of String)

Dim DomainEntry as new DirectoryEntry("WinNT://" + DomainInfo.GetDomain.Trim())
DomainEntry.Children.SchemaFilter.Add("computer")

For Each Machine as DirectoryEntry in DomainEntry.Children
List.Add(Machine.Name)
Next

return List

End Function

End Class

System.Net.NetworkInformation命名空间中有各种有用的工具,可以让您捕获IP地址等信息。

我能想到的最简单的方法远不是傻瓜式的,就是将定义在中的发送到224.0.0.1。C提供了这样做的类。请记住,尽管您会面临数据包丢失的风险,但也有一个问题,即网络上的所有计算机是否都支持多播。

我能想到的最简单的方法远不是傻瓜式的,那就是将定义在中的数据包发送到224.0.0.1。C提供了这样做的类。请记住,虽然您会面临数据包丢失的风险,但也有一个问题,即网络上的所有计算机是否都支持多播。

谢谢,但我必须在现有程序中实现此功能,因此我无法使用nmapnmap的唯一解决方案。。。可以从C调用,很好!当然.NET程序员可以调用其他程序hank,但我必须在现有程序中实现此功能,因此我不能使用nmapnmap的唯一解决方案。。。可以从C调用,很好!当然.NET程序员可以调用其他程序hank,这正是我所需要的。对于具有静态IP地址且未注册动态DNS地址的主机,这些程序可以工作吗?如何?我能想到的唯一可能的方法是,如果所有这些机器都是域的一部分,这不一定是真的。这假设DNS服务器可用且可联系。谢谢,这正是我所需要的,适用于具有静态IP地址且未注册动态DNS地址的主机的做法?如何?我能想到的唯一可能的方法是,如果所有这些机器都是域的一部分,这不一定是真的。这假设DNS服务器可用且可联系。