硬件/软件清单开源项目

问题描述:

我想开发适用于任何操作系统的网络清单应用程序。 报告每个可能的资源都附加到网络上。 报告硬件和软件的所有相关细节。 多数民众赞成(我讨厌用这句话)我的“结束游戏”。硬件/软件清单开源项目

但是我运行之前我可以在这里抓取。我没有这种类型的开发经验,例如发现计算机硬件和软件设置。

我花了差不多两个星期的时间使用Google,并且短小了! :-(

所以我转向你问这些问题: -

我的第一步是要找到一个现有的开源项目,我可以纳入自己的代码,提取细粒度的细节我是之后,如一切有了解的hardaware和软件在一台机器上。

是否这个项目存在吗?或者我一定要开发出第一?

有我有写这一切用C?

我是guessi因此,获取有关计算机的这些信息将比打印机,扫描仪,路由器等更容易。一切你会发现连接到网络。

一旦我有权访问单个计算机的详细信息,我需要调查一下如何遍历整个打印机,扫描仪,路由器,负载平衡器,交换机,防火墙,工作站,服务器,存储设备,笔记本电脑,显示器,名单不胜枚举

我有一个问题是我没有1000机器newtork发挥! 互联网上有没有这样的资源可用? (这是一个愚蠢的问题?)

Anywho,如果你不问你不会发现!

一方面IAM真的很期待找出如何Travers的整个网络,

我应该使用TCP/IP的呢?

什么是一个很好的网站,博客,usergorup,TCP/IP开发书?

我该如何去了解穿越防火墙?

我一次可以问多少个问题? :-)

我对这个话题之前的问题结束了与蟒蛇被倡导为语言/脚本去开发这个应用程序。

说完看了几个Python示例都似乎与到WINDOWS网络 并询问Windows Management Instrumentation(WMI)。我觉得你不能依赖WMI中的内容,即使你对UNIX的内网文件没有好处。

确实存在从计算机中提取硬件和软件细节的通用代码?为什么我不能在互联网上找到它?

Pease help?

世界上没有事先

我想appologise寻求帮助之前,如果我已经打破论坛规则或没有尽力对我自己的。

虽然:-(

感谢奖我只是想开始推进,因为它是我参与过的最好的项目之一。

我受到很多不同数量的挑战的启发,并且如果我设法生产出有用的应用程序它最终会对许多人有极大的帮助。

坐提前

DD

+0

如果你想监视网络/硬件,你可能会对SNMP感兴趣。 http://fr.wikipedia.org/wiki/Simple_network_management_protocol – ereOn 2010-03-29 07:41:06

的发现解决方案的软件供应商

谢谢,我只能说:尊重,要开始一个新的:-)。万一你有兴趣也可能是什么样子:http://www.jdisc.com

现在,我们的一些经验:

  1. 编程语言: 我不会写C.使用Java或.NET 。这些语言在追踪错误或问题方面具有很大的优势。例如,在Java中(我猜也是在.NET中),你可以在失败时看到堆栈跟踪。对于某些代码段(例如WMI访问),您可能需要使用C++或C(例如,从Microsoft访问本地API)。使用Java的本地接口或COM桥接器。在.NET中,它应该更容易访问Windows API)。

  2. 设备: 好吧,网络打印机,路由器和交换机实际上更容易发现。他们通常通过SNMP公开他们的信息。 SNMP非常易于使用且非常强大。从Windows(甚至Unix)系统获取信息有点棘手。协议可能被阻止,配置错误,搞砸了......我们有些情况下,从远程设备请求数据时,WMI只是挂起。

  3. 测试设备: 由于我们也是一家规模较小的公司,我们也没有1000个不同的设备进行测试。但是,有些事情可能有所帮助:

a)对于SNMP设备,使用SNMP模拟器。我们使用Gambit Solutions的MIMIC 9.0,对此我们感到非常满意。您可以从网络设备导入SNMP漫游,并将设备模拟为网络中的设备。 b)其次,尽可能使用虚拟化。借助VMware,您可以安装Windows,Linux甚至Solaris。我们还使用名为GNS3的项目模拟思科路由器,防火墙或瞻博网络路由器。 c)如果您的客户可以帮助您测试和实施新设备,您可以仅测试其余设备。

这只是一些想法开始。但我必须告诉你,这不是微不足道的,它需要很长的时间....

希望你有一些想法开始...

我不知道它是开源的,但我们在这里使用Spiceworks(http://www.spiceworks.com)作为IT管理平台。你可能会在探索过程中获得一些用处。