jueves, 9 de junio de 2022

Script de barrido de IPs

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.