Una red está compuesta por sistemas con direcciones y en esos sistemas se tiene servicios. Esa dirección se llama “Dirección IP” y el servicio podría ser muchas cosas, pero básicamente es un software que se ejecuta en el sistema y es accesible a través de la red en un número de puerto.
Recomendaciones:
- Cómo revisar lista de puertos abiertos en Linux
- Aprende a localizar y cerrar un puerto abierto en Linux
- Cómo saber qué puertos están abiertos en Windows
1. Introducción a Puertos de Red
Estos son algunos puertos comunes que encontrarás al usar el escaneo de puertos:
21
: FTP (Protocolo de transferencia de archivos)22
: SSH (Secure Shell)23
: Telnet25
: SMTP (Protocolo simple de transferencia de correo)53
: DNS (Servidor de nombres de dominio)80
: HTTP (Protocolo de transferencia de hipertexto)110
: POP3 (Protocolo de oficina de correo)143
: IMAP (Protocolo de acceso a mensajes de Internet)443
: HTTPS (Protocolo seguro de transferencia de hipertexto)
Los puertos del 0 al 1023 pertenecen a los puertos estandarizados, que la Internet Assigned Numbers Authority (IANA) es la principal responsable de asignar.
Los números de puerto 1024 a 49151 están reservados para servicios registrados de forma predeterminada. Sin embargo, estos también se asignan a programas cliente, especialmente cuando se trata de sistemas Linux.
Los puertos 49152 a 65535 asignan dinámicamente sistemas operativos a los clientes.
Hay tantas herramientas de escaneo de puertos disponibles, pero también puedes usar los siguientes comandos de Linux para escanear puertos abiertos en cualquier máquina de destino.
2. Escanear puertos abiertos con el comando ss
El comando ss
funciona como cualquier comando en la plataforma Linux. El comando ss
se usa para volcar estadísticas de socket y muestra información de manera similar (aunque más simple y rápida) a netstat
como se explica a continuación.
El comando ss
también puede mostrar aún más información TCP y de estado que la mayoría de las otras herramientas como netstat
o lsof
.
Para mostrar las conexiones TCP en escucha usando ss
, el comando es:
ss -tl
Donde, t
representa el puerto TCP y l
representa los sockets de escucha.
Para mostrar conexiones UDP de escucha, el comando es:
ss -ul
Donde u
representa el puerto UDP.
Y en caso de que desees mostrar las conexiones TCP y UDP, el comando es:
ss -lntup
Donde p
representa el nombre del proceso.
Si deseas mostrar todas las conexiones de socket, simplemente puedes usar el comando ss
.
3. Escanear puertos abiertos con el comando netstat
Netstat
, derivado de las palabras network y statistics, es un programa que se controla mediante comandos emitidos en la línea de comandos.
Ofrece estadísticas básicas sobre todas las actividades de la red e informa a los usuarios sobre qué puertos y direcciones se están ejecutando las conexiones correspondientes (TCP, UDP) y qué puertos están abiertos para tareas.
Para verificar todos los puertos abiertos con netstat
, el comando es:
netstat -pnltu
Donde p
representa el ID de proceso asociado con el servicio, n
representa el numérico del puerto en ejecución, l
representa los conectores de escucha, t
representa la conexión TCP y u
representa la conexión UDP.
En los sistemas operativos Windows, puedes usar los servicios netstat a través de la línea de comando (cmd). Consulta: +200 Comandos para utilizar desde Ejecutar en Windows
4. Escanear puertos abiertos con el comando lsof
lsof
es una utilidad de línea de comandos para todos los sistemas operativos similares a Unix y Linux para verificar la list of open files (“lista de archivos abiertos”).
El comando lsof
se utiliza principalmente para recuperar información sobre archivos abiertos por diversos procesos. Los archivos abiertos en un sistema pueden ser de diferentes tipos, como archivos de disco, sockets de red, etc.
Para mostrar los puertos abiertos, escribe el siguiente comando:
lsof -i
Y en caso de que solo desees mostrar sockets abiertos, puedes usar:
lsof -n -P | grep LISTEN
Para mostrar solo las conexiones TCP, escribe:
lsof -i tcp
5. Escanear puertos abiertos con el comando Nmap
Nmap es uno de los escáneres de seguridad de red de código abierto gratuitos, generalmente utilizado para el descubrimiento de redes y la auditoría de seguridad. Entre otras cosas, también puedes usar NMAP para escanear puertos abiertos, monitorear hosts y propósitos de inventario de red.
En Kali Linux, Nmap ya está preinstalado, pero en el caso de Ubuntu o cualquier otra distribución de Linux, puedes instalar nmap
escribiendo el comando:
sudo apt install nmap
Para el sistema operativo Windows, el paquete de instalación de Nmap viene con una GUI front-end para Nmap llamada Zenmap, utilizada para controlar Nmap desde una interfaz de usuario en lugar de una línea de comandos.
Para buscar puertos TCP abiertos, escribe:
nmap -sT -O localhost
El comando anterior iniciará una exploración de conexión TCP contra el host de destino. Una exploración de conexión TCP es la exploración predeterminada que se realiza si no es posible una exploración SYN TCP. Este tipo de exploración solicita que el sistema operativo subyacente intente conectarse con el host/puerto de destino mediante la llamada al sistema ‘connect‘.
Y para UDP, el comando es:
nmap -sU localhost
El comando anterior iniciará un escaneo de puerto UDP contra el host de destino. Una exploración UDP envía un paquete UDP a los puertos de destino. Si se recibe una respuesta, el puerto se clasifica como Open. Si no se recibe respuesta después de múltiples transmisiones, el puerto se clasifica como open/filtered.
6. Más Recursos
A continuación, existen otras herramientas y artículos de ayuda para un escaneo de puertos eficaz:
- Cómo usar Nmap: Tutorial para principiantes
- NMAP: 5 ejemplos de cómo utilizar este potente escáner de red
- Alternativas a Nmap: Escaneo de red simple a avanzado
- WebMap: Un panel de control y reporte de Nmap
Si te gusta el contenido y deseas apoyar a la mejora del sitio web, considera hacer una contribución ¡haciendo clic aquí por favor!. ¡NO ES OBLIGATORIO, GRACIAS! 🙂
¿Te ha gustado este artículo? Sigue este blog en su fanpage de Facebook, Twitter, Instagram y/o YouTube para que no te pierdas del mejor contenido informático y hacking!