Aller au contenu

[VB.Net] Décomposition d'adresses IP


NiTrOuS

Messages recommandés

Bonjour,

voilà je dois faire un programme en VB.NET et ASP.NET qui permet de savoir si une machine est connectée sur le réseau (par son ip), de connaitre le nom de la machine et la mac adresse.

Tout ca doit etre faire sur une liste d adresse IP (quelques centaines)

Ma solution a été de faire un fichier batch avec les commandes a executer (ping et nbtstat) et de renvoyer le tout dans un fichier texte.

Je crée donc:

- un fichier batch appelé 'ping' avec toutes les commandes ping renvoyant le résultat dans un fichier 'ping.txt'

- un fichier batch appelé 'nbtstat' avec toutes les commandes nbtstat renvoyant le résultat dans un fichier 'nbtstat.txt'

Je traite apres les deux fichiers textes pour en extraire les données dont j ai besoin.

Tout marche très bien, mais il y a un mais, c est que c est très lent.

En effet, le ping est paramétrable (le nombre de packet et le temps d attente) mais pas le nbtstat.

Je ne vois pas comment faire autrement, pour que ca soit beaucoup plus rapide.

Si vous avez une idée ...

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

Si pour l'up j ai trouvé

Mais pour la premiere partie de mon programme ?

Bon ce que j'ai fait, c 'est une boucle qui me crée un fichier batch différent pour chaque ip et qui me renvois dans un fichier texte ping et nbtstat different a chaque fois.

Par exemple, pour l'IP 10.100.10.1 j'ai:

- Fichier ping10100101.bat

- Fichier ping10100101.txt

- Fichier nbtstat10100101.bat

- Fichier nbtstat10100101.txt

Maintenant, j'ai donc tous mes fichiers textes (une quarantaine). Je voudrais traiter le résultat et tout mettre dans un fichier rapport.txt

Mais je ne sais pas comment faire.

Lien vers le commentaire
Partager sur d’autres sites

Bon j'arrive a avoir les résultats pour la commande ping.

Je suis content, j'ai sensiblement amélioré la rapidité de mon programme.

En effet, avant, pour pinger une plage d adresses ip (255 adresses), il me fallait 255 * 2 secondes soit 8 minutes et demie. Maintenant, il me faut 10 secondes exactement, et c est moi qui ai défini le temps d'attente, je pourrais le réduire a 5 secondes si je voulais mais je préfère jouer sur la fiabilité plutot que sur la rapidité.

La suite, c est récupérer le nom de la machine et sa mac adresse ... il suffit de poursuivre mon principe et tout ira bien.

Par contre, je crée un grand nombre de fichiers que je place dans un dossier.

Connaissez vous le moyen de vider un dossier de ses fichiers en vb.net ???

PS: si ma fonction vous interesse (ping et nbtstat) vous me faites signe hein !

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...