Pregunta

Saludos,

Necesito una forma (ya sea a través de C# o en un archivo .bat) para obtener una lista de todas las computadoras en una red determinada.Normalmente, uso "net view", pero esto tiende a funcionar (según tengo entendido) solo dentro de su dominio.Necesito los nombres (o al menos las direcciones IP) de todas las computadoras disponibles en mi red.

También funcionaría poder tener todas las computadoras en un dominio que no es mío (en cuyo caso usaría WORKGROUP, o cualquiera que sea el valor predeterminado).

¿Fue útil?

Solución

Nmapa es bueno para esto: use la opción -O para la toma de huellas digitales del sistema operativo y -oX "filename.xml" para producción como xml que luego puedes analizar desde c#.

Una línea de comando adecuada sería (donde 192.168.0.0/24 es la subred a escanear):

nmap -O -oX "filename.xml" 192.168.0.0/24

omita el -O si no está interesado en adivinar el sistema operativo; si solo desea un barrido de ping, use -sP o lea los documentos para conocer las innumerables otras opciones.

Otros consejos

Para ampliar lo que ha dicho Unkwntech:

También puede hacer un ping de "difusión" para evitar tener que hacer ping a cada dirección IP individualmente.

Inmediatamente después, puede usar "arp" para examinar el caché ARP y obtener una lista de qué direcciones IP están en cada dirección MAC.

Haga ping a todo lo que esté furioso, luego podrá obtener información de netbios de los sistemas que responden para identificar su nombre.

En una de mis aplicaciones web utilicé la función NetApi32 para navegar por la red.

Código:http://gist.github.com/11668

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top