🖧 Puertos y Conexiones de Red en Linux

1. ¿Qué es un puerto?

Un puerto es una "puerta virtual" en una máquina que permite a los servicios de red comunicarse.
Cada puerto está asociado a un número del 0 al 65535.

2. Ver puertos abiertos 🔍

sudo netstat -tuln

Explicación rápida:

ss -ntlp 

o

 cat /proc/net/tcp 

3. Conectarse a un puerto

Usando nc (netcat):

nc <IP> <puerto>

Usando telnet (más viejo, pero a veces requerido en CTFs):

telnet <IP> <puerto>

4. Ver procesos que usan puertos

sudo lsof -i -P -n

O para un puerto específico:

lsof -i :<número de puerto>

ncat (Netcat Seguro)

ncat es una versión mejorada y más segura de nc. Es parte del paquete de herramientas de Nmap y ofrece todas las funciones de nc con características adicionales, como soporte para conexiones seguras mediante SSL/TLS.

Funciones adicionales de ncat:

Ejemplo de uso de ncat con SSL:

bash

CopiarEditar

ncat --ssl <IP> <puerto>

ncat se recomienda cuando necesitas una conexión segura, ya que cifra los datos entre el cliente y el servidor.

5. Escuchar conexiones entrantes con nc -nlvp 🔊

nc también puede actuar como servidor, escuchando conexiones entrantes en un puerto local. Esto es útil cuando necesitas aceptar conexiones desde otro programa o sistema de red.

nc -nlvp <puerto>

Cuando usas estos parámetros, nc se pone en "modo escucha", lo que significa que esperará y aceptará conexiones entrantes en el puerto que especifiques. Este comando es ideal para situaciones como pruebas locales, ejercicios de redes en CTFs, o cuando otros procesos necesitan conectarse a tu máquina.

🔍 Parámetros explicados:

🧪 Ejemplo:

nc -nlvp 4444

Esto hace que nc se quede esperando conexiones en el puerto 4444. Cuando alguien se conecte a este puerto, se mostrará información de la conexión entrante y podrás interactuar con los datos enviados.

Esto es útil en escenarios donde tienes un programa o un binario que necesita conectar a tu máquina (por ejemplo, en el caso de Bandit 20 → 21, donde usas un puerto específico para recibir la siguiente contraseña).

📝 Ejemplo práctico: Ejercicio prático de Bandit#🏴‍☠️ Bandit Level 20 → Level 21

On this page
  • 1. ¿Qué es un puerto?
  • 2. Ver puertos abiertos 🔍
  • 3. Conectarse a un puerto
  • 4. Ver procesos que usan puertos
  • ncat (Netcat Seguro)
    1. Funciones adicionales de ncat:
  • 5. Escuchar conexiones entrantes con nc -nlvp 🔊 nc -nlvp
    1. 🔍 Parámetros explicados: