Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/08/2004, 09:12
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
BUeno .. creo que primero antes de afrontar el tema tendría que ver várias cosas:

1) PHP es un lenguaje del lado del servidor -no de los clientes- (que sería flash, javacript .. etc). PHP no tiene funciones específicas para hacer un "ping" por ejemplo .. pero si que tiene funciones para "lanzar" comandos al S.O. y esos comandos serán los que correspondan además que cambiarán según el S.O. que uses.

2) Javascript por ejemplo o flash .. NO tienen permiso para ver detalles de un PC (cliente) como que hardware está instalado o software. En tal caso tendrías que recurrir a un ActiveX o similar que (previa autorización de instalación) pueda acceder a dicha información de cada PC y remitirla al servidor (para que PHP la recoja y la gestione).

O bien, alguna aplicación tipo VB o similar que corra en cada máquina y que tendrá que hacer dos funcionalidades básicas:
a) Obtener dicha información del PC (Hardware/software)
b) Correr como "servidor" como para que puedas obtener esta información ante una petición desde el servidor (vía PHP) por sockets conectando a dicha máquina al puerto que corra ese "servidor".

A su vez, por mi parte no estoy familiarizado con esos detalles y protocolos como "NetBios" y cosas así .. pero tal vez por ahí (usando dicho protocolo) pódrías obtener dicha información sin necesidad de programa adicinal corriendo en el "cliente".

Lo único que conozco es que ya hay software que hace el inventario que quieres y que pueden (la mayoría) recolectar dicha información para su gestión centralizada sobre una BD cualquiera . .. la cual sería más fáctible accederla directamente con PHP que no dejar todo el grueso del trabajo a PHP propiamente (con todos los inconvenientes que tiene para estas taréas).

Ejemplos:
http://www.deksoftware.com/dni/
http://www.ipinventory.com/
http://www.pcinfo.biz/en/r-3.html

(y si usas google: network inventory .. verás muchos más)

Podrías preguntar en el foro de "Seguridad y Redes" como poder obtener dicha información de cada PC de una RED .. que es lo que necesitarías y como lo harías "a mano" sobre la "shell" (línea de comandos) del S.O. ejecutando ciertos comandos própios del S.O.

Cuando los conozcas .. entonces usas PHP y sus funciones exec() (o si son "IP/puerto" lo que tienes que acceder: fsockopen() y afines) para ejecutar/obtener dicha información. y de ahí a procesarla según lo que obtengas.

Un saludo,