[Python-es] obtener el ip de la pc y su sistema operativo (sistemas remotos)

David Villa dvilla en gmx.net
Vie Feb 12 23:27:06 CET 2010


On Fri, 12 Feb 2010 10:44:57 -0500 (EST)
"Boris Perez Canedo" <inf200523 en ucf.edu.cu> osó decir:

> 
> 
> Hola a todos,
> 
> Me gustaria saber como realizar un scan de la red y de esta manera
> obtener los ip que estan siendo utilizados y el sistema operativo
> asociado.
> 
> Se que se puede
> ejecutar el comando ping u otros para cosas similares desde python
> pero hacer esto, por ejemplo con ping, llevaria mucho tiempo, ya que
> habria que empezar a probar ip por ip
> 
> y podrian haber 10 maquinas encendidas en 100 posibilidades o mas.
> Otra cosa seria una especie de ping a la direccion de broadcast de la
> subred y asi obtener respuestas "instantaneas" pero desgraciadamente
> el comando ping no funciona asi. Hay alguna implementacion del
> protocolo ICMP en python que permita hacer esto?
> 
> Otras posibilidades que no sean con ICMP tambien son bienvenidas.
> 
> Gracias.
> 

Yo tengo un scriptillo Python que usa la librería scapy y que quizá te
puede servir. Lo que hace es un ping ARP, de modo que puedes tener la
lista de todos los hosts conectados en la LAN en pocos segundos. Además
utiliza el OUI de la MAC pasa listar el fabricante (esto lo puedes
eliminar si no lo necesitas). Lo que no hace es darte el SO.

Es importante señalar que cómo usa ARP solo sirve para máquinas que se
encuentren en el mismo dominio de broadcast que tu máquina.

Puedes encontrar el script en:

https://arco.esi.uclm.es/svn/public/misc/scapy/arping.py

Si no quieres filtrar lo puedes usar simplemente con: 

$ sudo ./arping.py ""

Saludos

------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: no disponible
URL: <http://mail.python.org/pipermail/python-es/attachments/20100212/1a885555/attachment.pgp>


Más información sobre la lista de distribución Python-es