escanear rangos ip nmap

Nmap: escaneo de rangos de IP con Nmap.

Breve introducción al escaneo de rangos con Nmap.

El escaneo de puertos con el escáner de redes Nmap (Network Mapper) es facil gracias a su flexibilidad. Se pueden escanear objetivos aislados, subredes completas, archivos con listas de objetivos, incluso se puede instruir  a Nmap generar objetivos aleatorios o descubrir posibles objetivos dentro de una red basándose en condiciones específicas o arbitrariamente. Este tutorial se centra en esos métodos.

Escaneo de un único objetivo con Nmap:

El primer ejemplo introductorio muestra cómo escanear a un único objetivo (https://linuxhint.com), Nmap considera cualquier argumento que no sea una opciòn, el siguiente ejemplo no incluye ninguna opciòn, solo llama a Nmap y define el objetivo por su nombre de dominio:

nmap linuxint.com

Nmap revela que los puertos ssh, smtp, http y https estan abiertos habiendo 372 puertos filtrados por un firewall, 624 cerrados. Nótese que Nmap por defecto escanea solamente los 1000 puertos más comunes.


El próximo ejemplo reproduce el primero pero esta vez usando la direcciòn de IP (64.91.238.144):

nmap 64.91.238.144

El mismo resultado.

Breve infotrducciòn a subredes

Para este tutorial todo lo que necesitamos saber sobre subredes es la división entre las direcciones de red y las direcciones de host. La direcciòn de red u octetos de red identifican la red y permanece inmutable para todos los dispositivos pertenecientes a esa red, mientras que las direcciones de host, u octetos de host, varían de dispositivo a dispositivo y no pueden ser usadas por dos dispositivos simultáneamente porque representan el host de cada dispositivo.


La cantidad de octetos pertenecientes a una red y al host varía y es determinado por el tipo de clase de IP. Si bien hay 5 clases de direcciones IP (solo para el protocolo IPv4) para este tutorial me enfocaré solo en las clases A, B y C.

Todas las direcciones cuyo primer octeto están dentro del rango 1 y 126 pertenecen a la clase de IP A.
Todas las direcciones cuyo primer octeto están dentro del rango numérico 128 y 191 pertenecen a la clase B. Y todas las direcciones cuyo primer octeto van del 192 al 223 pertenecen a la clase C.

RANGOCLASEOCTETO
1-126Class AX.Y.Y.Y
128-191Class BX.X.Y.Y
192-223Class CX.X.X.Y

Donde: X es la direcciòn de red e Y la direcciòn de host.



Por lo tanto si una red comienza en 192.X.X.X se trata de una red  de IP Clase C y solo el octeto final varía para identificar a cada dispositivo en la red. Si tu red es 192.168.0.X, los primeros 3 octetos permanecerán y solo el último será diferente para cada dispositivo, uno podria ser 192.168.0.3 y otro 192.168.0.5, los primeros 3 octetos permanecen como identificadores de la red.

Hay mucho más para decir sobre subredes, pero este el conocimiento básico necesario para este tutorial de Nmap, para màs informaciòn sobre este tema pueden ver https://es.wikipedia.org/wiki/Subred.

Escaneo de rangos de subred con Nmap


El escaneo de un rango perteneciente a una red clase es facil usando un guión para definir un rango. My red hogareña es de clase C con direcciones 192.168.0.X. El próximo ejemplo muestra cómo escanear un rango específico de hosts dentro de mi red clase C, el rango varía de 1 a 30.


nmap  192.168.0.1-30

Para escanear un rango específico en una red clase B usamos el mismo método implementando un guión en los últimos 2 octetos. En el próximo ejemplo los últimos 2 octetos de la red clase B con IP 186.33.X.X serán escaneados. Para el tercer octeto se define un rango entre el rango 200-220 mientras que para el cuarto definirè el rango entre 80-120. Este escaneo puede tardar un tiempo.

nmap 186.33.200-220.80-120

Y la lista continua…


Escaneo de octeto completo


Los ejemplos anteriores muestran cómo escanear rangos pertenecientes a subredes clase A y B, y si más que un rango limitado queremos escanear el octeto entero?, se puede definir un rango entre 1 y 254 pero también se puede usar un asterisco (wildcard, *), para instruir a Nmap a chequear todas las direcciones posibles. El siguiente ejemplo instruye a Nmap a escanear todos los hosts de una red de clase C.

nmap 192.168.0.*

Nmap escaneo todas las direcciones de host pertenecientes a esta red de clase C.

Se puede usar el asterisco para escanear todos los hosts del octeto de cualquier red, pero hay que tener en cuenta que usando el asterisco puede resultar en un proceso largo dependiendo del tipo de red y cantidad de hosts.

Escaneo con Nmap usando un archivo con lista de objetivos

Usar un archivo que incluya una lista predefinida de objetivos es muy fácil. En el archivo solo debe ponerse un objetivo o rango por línea. Para testear crea un archivo ejecutando:

nano targets

Incluya los objetivos que quiera escanear, un objetivo por línea como se muestra en la imagen de abajo:


Posteriormente ejecute Nmap con la opciòn -iL y defina el archivo como objetivo:

nmap -iL targets

Y mas…

Como se ve todos los hosts del archivo fueron escaneados. En un archivo también pueden definirse rangos , edite la lista e incluya la subred de su red local,en mi caso un ejemplo sería 192.168.0.1-50. Tambien usare un asterisco (wildcard) para escanear el último octeto de alguna red clase A.

Edite el archivo creado con nano y añada algun rango usando guion, asterisco o ambos como en el siguiente ejemplo. 

Tras la ediciòn ejecute nuevamente el mismo comando:

Nmap -iL targets

Nmap escanea también todas las direcciones dentro del rango definido con guión y asterisco.

Y continua…

Escaneo aleatorio con Nmap

La opciòn -iR permite instruir a Nmap a generar una lista de objetivos aleatoriamente, el usuario decide cuantos objetivos Nmap debe generar. Para generar 10 objetivos aleatorios la sintaxis es:

nmap -iR 10


Ya que los 10 objetivos son creados aleatoriamente nunca es seguro si esos hosts realmente estaran en linea, de 10 objetivos que Nmap generò sólo 4 estaban activos.

Espero que este tutorial haya sido util para aprender un poco sobre Nmap. Continua leyendo LinuxHint para más tips y actualizaciones sobre Linux y redes.


Fuente: https://linuxhint.com/nmap_scan_ip_ranges/