Este script ejecutará y devolverá las direcciones IPs en el rango de dominio especificado que había respondido al ping:
#!/bin/bash
for ip in `seq 1 254; do
ping -c 1 $1.$ip | grep "64 bytes" | cut -d " " -f 4 | tr -d ":" &
done
Escribe el script anterior en el archivo ipsweep.sh .
Ahora, vamos a desglosar y tratar de entender el código.
#!/bin/bash
Es básicamente un comentario. Le estamos diciendo al ordenador que es un script de bash.
for ip in `seq 1 254; do
Esto es para bucle. Queremos ejecutar el comando para cada ip en el rango de red dado. Por lo tanto, escribimos un bucle for y lo ejecutamos en un rango para 1-254 que es el número de direcciones IP en una red particular.
ping -c 1 $1.$ip | grep "64 bytes" | cut -d " " -f 4 | tr -d ":" &
ping
Hace ping a la dirección IP.
-c 1
Un ping a una IP a la vez.
$1.$ip
$1 será la entrada del usuario. Ingresaremos los primeros tres rangos de la IP y el último rango será tomado del bucle for. Ejemplo: Si la entrada de usuario era 192.68.1 entonces en la primera ejecución de for loop $ip será 1. Por lo tanto $1.$ip resultará en 192.68.1.1 y hará ping a esta ip.
grep "64 bytes"
Intenta ejecutar un comando ping a una ip. Si la ip responde, el resultado será "64 bytes de (given_ip)". Por lo tanto, si la ip está activa, responderá y la respuesta contendrá el término "64 bytes". Por lo tanto, grep "64 bytes" simplemente filtrará las direcciones IP que respondieron de un total de 254 direcciones IP.
ping -c 1 $1.$ip | grep "64 bytes" | cut -d " " -f 4 | tr -d ":" &
Sabemos que si la ip está activa responderá. La demostración de responder será algo como esto, '64 bytes de given_ip' donde given_ip será el ip pinged también.
Por lo tanto, de toda la respuesta ahora, solo necesitaremos la dirección IP de la IP respondida.
cut -d " " -f 4
Este comando básicamente hace lo mismo. Corta toda la respuesta con el delimitador(-d) espacio en blanco(" ") y elige el cuarto término(-f 4), que será el ip.
El comando de corte básicamente producirá una salida como 192.68.1.1
Aquí no necesitamos los dos puntos (:). Solo necesitamos la IP, por lo tanto ejecutaremos el comando tr.
tr - d":"
Aquí pasamos los dos puntos(:) como delimitador y el comando tr lo elimina.
&
Básicamente permite que el hilo funcione simultáneamente.
| (pipe)
Une todos los comandos anteriores como un solo comando.
¿Cómo ejecutarlo?
Ahora guarda el archivo y pulse el siguiente comando en la terminal para ejecutar el script.
./ipsweep.sh [First three ranges of your ip]
Example:
./ipsweep.sh 192.186.1
Esto ejecutará el archivo y barrerá todas las IPs activas en el rango dado en el archivo de texto. Más tarde podemos realizar muchas operaciones de hacking relacionadas con la red en estas IPs.