my problem is easy, I need to find out which computers I have on the network. And I need to keep it managed and if possible, quite time-critical.

I haven't found any .NET way how to get the computers and everything I found was in the best using Interop services. So I decided to do it the net way

I assume that sending some ICMP like ping to broadcast address will results in response from all devices with their IPs. The problem is, how to catch all these response packets...

Using System.Net.NetworkInformation.Ping will result only in the first one if any, because the response source IP doesn't match my destination one.

Does somebody know how can this be done.. don't know maybe with Socket class?