fbpx Comando nmap en Linux: Escanear Puertos (Ejemplos) | Certificação Linux

Comando nmap en Linux: Escaneo de Puertos, Servicios y Redes

📅 01/01/2019 ⏱ 7 min ✍️ Uira Ribeiro
Linuxcomandos
Comando nmap en Linux: Escaneo de Puertos, Servicios y Redes
Exam Pass App — mais de 7.000 questões LPI, offline, em 5 idiomas, disponível no Android e na App Store
Disponible en
Google Play
Disponible en
App Store

El Comando nmap en Linux es una herramienta poderosa para descubrir los puertos abiertos en hosts locales o remotos.

Puede ser instalado con cualquier gestor de paquetes. A diferencia de las herramientas netstat, ss y lsof que verifican los sockets o archivos abiertos, nmap realiza una búsqueda de puertos abiertos por el método de "prueba y error", intentando conectarse en los puertos conocidos, y si encuentra uno abierto, verifica qué tipo de servicio ofrece el puerto.

Usando NMAP para Encontrar Puertos Abiertos en una Red

Para verificar los puertos abiertos del 1 al 1000:

$ nmap localhostStarting Nmap 7.70 ( https://nmap.org ) at 2019-10-23 06:01 -03Nmap scan report for localhost (127.0.0.1)Host is up (0.000098s latency).Not shown: 999 closed portsPORT    STATE SERVICE22/tcp  open  sshNmap done: 1 IP address (1 host up) scanned in 0.05 seconds

Un pequeño script puede ser escrito para comparar los puertos abiertos en relación con un archivo previo:

Primero se debe crear el archivo previo para servir de comparación en el futuro:

$ nmap localhost | grep open > original

El script a continuación ejecuta nmap y compara el resultado con el archivo "original". Si hay diferencia, se envía un correo electrónico:

#!/bin/bashnmap localhost | grep open > atualdiff original atualif [ $? -eq 0 ]; then     echo “nada mudou”else     mail [email protected] < atualfi

Verificar puertos reservados con nmap

La opción "-v" verifica todos los puertos TCP reservados en la máquina scanme.nmap.org en modo detallado:

$ nmap -v  scanme.nmap.org

Starting Nmap 6.40 ( http://nmap.org ) at 2021-12-08 22:01 -03
Initiating Ping Scan at 22:01
Scanning scanme.nmap.org (45.33.32.156) [2 ports]
Completed Ping Scan at 22:01, 0.07s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 22:01
Completed Parallel DNS resolution of 1 host. at 22:01, 0.02s elapsed
Initiating Connect Scan at 22:01
Scanning scanme.nmap.org (45.33.32.156) [1000 ports]
Discovered open port 80/tcp on 45.33.32.156
Discovered open port 22/tcp on 45.33.32.156
Discovered open port 9929/tcp on 45.33.32.156
Discovered open port 31337/tcp on 45.33.32.156
Completed Connect Scan at 22:01, 1.07s elapsed (1000 total ports)
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.075s latency).
Not shown: 996 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
9929/tcp  open  nping-echo
31337/tcp open  Elite

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 1.26 seconds

Escaneo SYN con nmap

La opción "-sS" inicia un escaneo SYN sigiloso en cada máquina en la red de tamaño /24 donde reside la dirección scanme.nmap.org.

La opción "-O" determinará qué sistema operativo se está ejecutando en cada host que está funcionando. Esto requiere privilegios de root debido al escaneo SYN y a la detección del sistema operativo:

$ sudo nmap -sS -O scanme.nmap.org/24
Starting Nmap 6.40 ( http://nmap.org ) at 2021-12-08 22:04 -03
Nmap scan report for scanme.nmap.org (45.33.32.156)
Host is up (0.070s latency).
Not shown: 996 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
9929/tcp  open  nping-echo
31337/tcp open  Elite
Device type: general purpose|WAP|webcam|firewall|storage-misc
Running (JUST GUESSING): Linux 2.6.X|3.X|2.4.X (91%), Tandberg embedded (86%), Fortinet Linux 2.6.X (86%), IPFire Linux 2.6.X (85%), Check Point Linux 2.6.X (85%), Axcient embedded (85%)
OS CPE: cpe:/o:linux:linux_kernel:2.6.32 cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:2.4 cpe:/h:tandberg:vcs cpe:/o:fortinet:linux_kernel:2.6 cpe:/o:ipfire:linux:2.6.32 cpe:/o:linux:linux_kernel:2.6.18
Aggressive OS guesses: Linux 2.6.32 - 2.6.35 (91%), Linux 2.6.32 - 2.6.39 (91%), Linux 2.6.32 - 3.0 (90%), Linux 2.6.18 (89%), Linux 3.2 - 3.6 (89%), Linux 2.6.32 (88%), Linux 3.1.9 (88%), Linux 2.6.39 (88%), Linux 2.6.32 - 2.6.33 (88%), Linux 2.6.9 - 2.6.27 (88%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 14 hops
(...)

Verificar puertos específicos con nmap

La opción "-sV" realiza la enumeración del host y un escaneo TCP en la primera mitad de la subred 198.116.0.0/16. Esto prueba si los sistemas ejecutan SSH (22), DNS (53), POP3 (110) o IMAP (143) en sus puertos estándar o cualquier cosa en el puerto 4564. Para cualquiera de estos puertos encontrados abiertos, se usa la detección de versión para determinar qué aplicación se está ejecutando:

$ nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127
Starting Nmap 6.40 ( http://nmap.org ) at 2021-12-08 22:08 -03
Nmap scan report for ip-172-30-0-191.ec2.internal (172.30.0.191)
Host is up (0.00016s latency).
PORT     STATE  SERVICE VERSION
22/tcp   open   ssh     OpenSSH 7.4 (protocol 2.0)
53/tcp   closed domain
110/tcp  closed pop3
143/tcp  closed imap
4564/tcp closed unknown
(...)

Escaneo de hosts aleatorios con nmap

En este ejemplo nmap selecciona 100 hosts aleatoriamente y verifica si hay servidores web (puerto 80). La enumeración del host se desactiva con -Pn:

$ nmap -v -iR 100 -Pn -p 80
Starting Nmap 6.40 ( http://nmap.org ) at 2021-12-08 22:11 -03
Initiating Parallel DNS resolution of 10 hosts. at 22:11
Completed Parallel DNS resolution of 10 hosts. at 22:11, 1.20s elapsed
(...)

Guardar datos de nmap en XML

En este ejemplo nmap verifica 4096 IPs para cualquier servidor web (puerto 80 - sin hacer ping) y guarda la salida en formato XML:

$ nmap -Pn -p80 -oX pb-port80scan.xml  216.163.128.20/20

Descubre si el objetivo usa algún firewall

La opción "-sA" realiza el escaneo para verificar si el host usa algún firewall linux para filtrar paquetes:

$ sudo nmap -sA facebook.comStarting Nmap 6.40 ( http://nmap.org ) at 2021-12-08 22:29 -03Nmap scan report for facebook.com (157.240.229.35)Host is up (0.00055s latency).rDNS record for 157.240.229.35: edge-star-mini-shv-02-iad3.facebook.comAll 1000 scanned ports on facebook.com (157.240.229.35) are filtered

Descubre hosts activos con escaneo de ping

La opción "-sP" realiza un escaneo de tipo ping en una red:

$ nmap -sP 172.30.0.0/24Starting Nmap 6.40 ( http://nmap.org ) at 2021-12-08 22:31 -03Nmap scan report for go.universobh.com.br (172.30.0.30)Host is up (0.00037s latency).Nmap scan report for ip-172-30-0-191.ec2.internal (172.30.0.191)Host is up (0.00035s latency).Nmap done: 256 IP addresses (2 hosts up) scanned in 5.04 seconds

Esta categoría de escaneo no siempre es eficaz, ya que la mayoría de las redes protege sus hosts de ping.

Escanea los posibles puertos abiertos

La opción "--open" de nmap muestra los posibles puertos abiertos de un host:

$ nmap --open google.ptStarting Nmap 6.40 ( http://nmap.org ) at 2021-12-08 22:33 -03Nmap scan report for google.pt (172.217.15.99)Host is up (0.015s latency).rDNS record for 172.217.15.99: iad30s21-in-f3.1e100.netNot shown: 998 filtered portsPORT STATE SERVICE80/tcp open http443/tcp open https

Prueba rápida de puertos abiertos con nmap

La opción "-T5" realiza un escaneo rápido de posibles puertos abiertos:

$ nmap -T5 facebook.comStarting Nmap 6.40 ( http://nmap.org ) at 2021-12-08 22:35 -03Nmap scan report for facebook.com (157.240.229.35)Host is up (0.00068s latency).rDNS record for 157.240.229.35: edge-star-mini-shv-02-iad3.facebook.comNot shown: 996 filtered portsPORT STATE SERVICE80/tcp open http443/tcp open https843/tcp closed unknown5222/tcp closed xmpp-client

Precaución al usar nmap

Precaución al ejecutar nmap en hosts hospedados en Amazon AWS, Google Cloud o Microsoft Azure, ya que verifican los logs en sus firewalls de borde para confirmar que no hay actividad sospechosa de "PenTest" en sus redes.

Nmap Guía Rápida

Seleccionar objetivos con NMAP

Escaneo de IP úniconmap 192.168.1.1
Escaneo de un hostnmap www.testhostname.com
Escaneo de un rango de IPsnmap 192.168.1.1-20
Escaneo de una subrednmap 192.168.1.0/24
Escaneo desde un archivo de textonmap -iL list-of-ips.txt

Seleccionar puertos con NMAP

Escaneo de un puertonmap -p 22 192.168.1.1
Escaneo de un rango de puertosnmap -p 1-100 192.168.1.1
Escaneo de los 100 puertos comunes (rápido)nmap -F 192.168.1.1
Escaneo de todos los 65535 puertosnmap -p- 192.168.1.1

Seleccionar tipos de escaneo con NMAP

Escaneo usando TCP connectnmap -sT 192.168.1.1
Escaneo usando TCP SYN (predeterminado)nmap -sS 192.168.1.1
Escaneo de puertos UDPnmap -sU -p 123,161,162 192.168.1.1
Escaneo de puertos - ignora descubrimientonmap -Pn -F 192.168.1.1

Detección de SO (sistema operativo) con NMAP

Detecta SO y Serviciosnmap -A 192.168.1.1
Detecta serviciosnmap -sV 192.168.1.1
Detecta servicios de forma agresivanmap -sV --version-intensity 5 192.168.1.1
Detecta servicios por el bannernmap -sV --version-intensity 0 192.168.1.1

Formatos de salida de NMAP

Guardar en archivonmap -oN outputfile.txt 192.168.1.1
Guardar en XMLnmap -oX outputfile.xml 192.168.1.1
Guardar en TXT para grepnmap -oG outputfile.txt 192.168.1.1
Guardar en todos los formatosnmap -oA outputfile 192.168.1.1

Escaneo HTTP con NMAP

Obtener los títulos de las páginas HTMLnmap --script=http-title 192.168.1.0/24
Obtener las cabeceras HTTPnmap --script=http-headers 192.168.1.0/24
Encontrar aplicaciones web nmap --script=http-enum 192.168.1.0/24

Aprende mucho más sobre Linux en nuestro curso en línea. Puedes realizar la inscripción aquí. Si ya tienes una cuenta, o quieres crear una, simplemente ingresa o crea tu usuario aquí.

¿Te gustó? Comparte

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Después de años viendo profesionales perder horas en tareas simples por no conocer las herramientas correctas de Linux, decidí enseñar.
Hoy soy autor de la mayoría de los Materiales de Aprendizaje oficiales de la LPI y mentor de más de 14,000 alumnos certificados.

Conoce mi historia completa →

Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.

Certificação Linux — a plataforma líder em certificações Linux no Brasil
WhatsApp