2009-01-15 6 views

Répondre

2

Vous pouvez exécuter la commande ping sur les ordinateurs du réseau.

// addressToPing can be an IPaddress or host name. 
// returns a boolean indicating successful ping 
public static bool PingComputer (string[] addressToPing) 
{ 
    Ping pingSender = new Ping(); 
    PingOptions options = new PingOptions(); 

    // Use the default Ttl value which is 128, 
    // but change the fragmentation behavior. 
    options.DontFragment = true; 

    // Create a buffer of 32 bytes of data to be transmitted. 
    string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; 
    byte[] buffer = Encoding.ASCII.GetBytes (data); 
    int timeout = 120; 
    PingReply reply = pingSender.Send (args[0], timeout, buffer, options); 
    return reply.Status == IPStatus.Success; 
} 

http://msdn.microsoft.com/en-us/library/system.net.networkinformation.ping.aspx

Vous pouvez utiliser ce code ping et itérer les adresses IP sur votre réseau local (for(i = 1; i < 255; i++)). Vous devriez probablement lire à faire des calculs d'adresses IP si:

http://blogs.msdn.com/knom/archive/2008/12/31/ip-address-calculations-with-c-subnetmasks-networks.aspx

Ceci est appelé un « balayage ping ». Il suppose que les ordinateurs du réseau n'ont pas été configurés pour ignorer les requêtes ICMP.

+0

Est-il possible de trouver les adresses IP disponibles dans un réseau? – Shyju

+0

@unknown: Travailler sur cette partie de celui-ci. – GEOCHET

+0

Cela devrait être tout ce dont vous avez besoin pour y aller. – GEOCHET

0

Je voudrais aborder cela en deux parties; une page ASP.NET et un service toujours actif.

Le service toujours actif un moniteur pour les demandes ARP pour avoir une bonne idée de quelles machines sont actives. Afin de voir les réponses ARP, il devra émettre ses propres demandes ARP. Sur les réseaux Windows, il y a toujours assez de trafic inactif (pour les ordinateurs de navigation) pour avoir une très bonne idée des machines actives.

0

Si vous avez la possibilité d'installer un logiciel de surveillance sur les différents ordinateurs du réseau, j'ai eu de la chance en utilisant nagios pour savoir quels serveurs sont en charge/en surcharge/espace disque/etc dans un réseau de production . Il a également une belle interface web que vous n'auriez même pas besoin d'utiliser ASP pour le tout.

Si vous devez créer quelque chose d'origine locale avec ASP, j'utiliserais nmap pour analyser votre sous-réseau de classe C, puis imprimer les résultats dans votre page ASP. Ce n'est pas une méthode très efficace, mais ce serait très simple et garanti pour fonctionner (avec des options appropriées).

Questions connexes