Mostramos un sencillo script en Python que escanea la disponibilidad de las IP en un rango de red dado. Utiliza el comando ping y comprueba si los equipos responden al ping para un rango indicado.

Script para escanear rango de IP con Python en Windows

A continuación mostramos el código Python que realizará las siguientes acciones:

  • Pedirá un rango de IP, por ejemplo: 192.168.1
  • Pedirá la IP inicial del rango, por ejemplo: 1
  • Pedirá la IP final del rango, por ejemplo: 10

Con los datos anteriores, el script realizará un ping desde la IP 192.168.1.1 hasta la IP 192.168.1.10, mostrando el resultado (si el ping ha sido OK o no).

Si ejecutamos el script Python anterior, con:

Nos solicitará los datos (rango, ip inicial, ip final). Ejecutará el ping para cada IP del rango y mostrará el resultado:

Script para escanear rango de IP con Python en Windows

Script para escanear rango de IP con Python en Linux

Un ejemplo del mismo script anterior, pero válido para Linux:

Como se puede observar, en el script anterior sólo cambia el parámetro -n 1 por -c 1 en el ping, el resto es idéntico. Esto es así porque en Linux, para indicar el número de intentos en el comando ping, se usa -c en lugar de -n de Windows.

Script para escanear rango de IP con Python en Windows y Linux

Teniendo en cuenta lo anterior, fusionamos los dos script en uno para que sirva tanto para equipos Windows como Linux. Para ello sólo tendremos que obtener si estamos en Windows o Linux y cambiar el parámetro -c o bien -n del ping. El script para escanear una red por IP y ping válido para Windows y Linux, sería: