2010-03-27 8 views
1

Je voudrais développer une application Network Inventory qui fonctionne sur n'importe quel système d'exploitation. Rapports sur toutes les ressources possibles attachées à un réseau. Indique tous les détails pertinents du matériel et des logiciels. Cest (et je déteste utiliser l'expression) mon "End Game".Projets open source d'inventaire matériel/logiciel

Cependant, je cours avant que je puisse ramper ici. Je n'ai aucune expérience de ce type de développement, par ex. découvrir les paramètres matériels et logiciels d'un ordinateur.

J'ai passé près de deux semaines à googler et à venir court! . :-(

Je dois vous poser ces tournent questions: -

Ma première étape est de trouver un projet open source existant je peux intégrer dans mon propre code qui extrait les détails à grains fins i am après, par exemple, tout ce qu'il ya à savoir sur le hardaware et le logiciel sur une seule machine.

est-ce que ce projet existe? ou dois-je développer ce premier

? est-ce que je suis arrivé à écrire tout cela en C?

Je suis devine Obtenir ces informations sur un ordinateur va être plus facile que pour les imprimantes, les scanners, les routeurs etc ... par ex. tout le reste que vous trouverez attaché à un réseau. Une fois que j'ai accès aux détails d'un seul ordinateur, je dois étudier comment je peux traverser toute une série d'imprimantes, scanners, routeurs, équilibreurs de charge, commutateurs, pare-feu, stations de travail, serveurs, périphériques de stockage, ordinateurs portables, moniteurs, la liste s'allonge encore et encore

Un problème que j'ai, c'est que je n'ai pas un 1000 newtork à jouer! Y at-il une telle ressource disponible sur internet? (est-ce une question stupide?)

Anywho, si vous ne demandez pas vous ne trouverez pas!

Un aspect iam vraiment impatient de savoir comment l'ensemble du réseau Travers,

dois-je utiliser TCP/IP pour cela?

Quel est un bon site, blog, usergorup, livre pour le développement TCP/IP?

Comment puis-je contourner les pare-feu?

Combien de questions puis-je poser en une fois? :-)

Ma question précédente sur ce sujet a fini par être PYTHON comme langue champion/script pour aller avec pour développer cette application.

Après avoir regardé quelques exemples PYTHON ils semblaient tous être liés aux réseaux WINDOWS et en interrogeant Windows Management Instrumentation (WMI). J'ai eu le sentiment que vous ne pouvez pas compter sur ce qui est dans WMI, et même si vous ne pouvez pas ce n'est pas bon pour les réseaux UNIX.

Il existe sûrement un code commun pour l'extraction de détails matériels et logiciels à partir d'un ordinateur? Pourquoi ne puis-je le trouver sur Internet?

Aidez-moi?

Theres aucun prix quoique :-(

Merci à l'avance

Je voudrais appologise si j'ai règles du forum cassé ou pas essayé assez dur sur moi-même avant de demander de l'aide.

Je voudrais juste commencer à aller de l'avant avec ce que c'est l'un des meilleurs projets que j'ai été impliqué

Je suis inspiré par le nombre differnt nombre de défis impliqués et que si je parviens à produire un applic À la fin de ce processus, nous espérons qu'il sera extrêmement utile à beaucoup de gens.

qui sont assis

Merci à l'avance

DD

+0

Si vous souhaitez surveiller un réseau/matériel, vous pourriez être intéressé par SNMP. http://fr.wikipedia.org/wiki/Simple_network_management_protocol – ereOn

Répondre

3

en tant que fournisseur de logiciels d'une solution de découverte, je peux simplement dire: respect, que vous voulez commencer une nouvelle :-). Juste au cas où vous êtes intéressé par ce qu'il pourrait ressembler à: http://www.jdisc.com

Maintenant, pour une partie de notre expérience:

  1. programmation Langue: Je ne l'écrire dans C. Utilisez Java ou .NET . Ces langues ont de grands avantages quand il s'agit de traquer les erreurs ou les problèmes. Par exemple, en Java (et je suppose aussi en .NET), vous pouvez voir la trace de la pile quand quelque chose échoue. Pour certains morceaux de code (par exemple, l'accès WMI), vous devrez peut-être utiliser C++ ou C (par exemple, l'accès aux API natives de Microsoft). Utilisez une interface native ou un pont COM de Java. En .NET, il devrait même être plus facile d'accéder aux API Windows).

  2. Périphériques: Bien, les imprimantes réseau, le routeur et les commutateurs sont en fait plus faciles à découvrir. Ils exposent généralement leurs informations via SNMP. SNMP est assez facile à utiliser et assez robuste. Obtenir des informations à partir de systèmes Windows (ou même Unix) est un peu plus compliqué. Les protocoles peuvent être bloqués, mal configurés, bousillés ... Nous avons eu des cas, où WMI était simplement suspendu lors de la demande de données à partir d'un périphérique distant. Dispositifs de test: Étant donné que nous sommes également une petite entreprise, nous ne disposons pas non plus de 1000 appareils différents à tester avec Mais, il y a certaines choses qui pourraient aider:

a) Pour les périphériques SNMP, utilisez un simulateur SNMP. Nous utilisons MIMIC 9.0 de Gambit Solutions et nous en sommes très satisfaits. Vous pouvez importer des promenades SNMP à partir de périphériques réseau et simuler le périphérique comme s'il se trouvait sur votre réseau. b) Deuxièmement, utilisez la virtualisation dans la mesure du possible. Avec VMware, vous pouvez installer Windows, Linux ou même Solaris. Nous utilisons également un projet appelé GNS3 pour émuler les routeurs Cisco, les pare-feu ou les routeurs Juniper. c) Vous pouvez uniquement tester le reste des périphériques si vous avez un client qui vous aide à tester et à implémenter de nouveaux périphériques.

Voici quelques idées pour commencer. Mais je dois vous dire, que ce n'est pas trivial et cela prend beaucoup de temps ....

J'espère que vous avez quelques idées pour commencer ...

0

Je ne sais pas si c'est open source, mais nous utilisons ici Spiceworks (http://www.spiceworks.com) en tant que plateforme de gestion informatique. Vous pourriez avoir une certaine utilité à explorer cela.

Questions connexes