Saltar al contenido

Ver los Puertos Abiertos en un Servidor Linux

  • por

¿Te has preguntado alguna vez cómo saber qué puertos están abiertos en tu servidor Linux? Puede que necesites esta información para asegurar tu servidor, solucionar problemas de conectividad o simplemente tener un mejor control de tu sistema. En este artículo, te explicaremos paso a paso cómo ver los puertos abiertos en un servidor Linux utilizando varias herramientas y comandos. ¡Vamos a sumergirnos en el mundo de los puertos y descubrir cómo puedes controlarlos!

Saber qué puertos están abiertos en tu servidor Linux es esencial para cualquier sysadmin. Ya sea que estés buscando fortalecer la seguridad de tu servidor o resolver problemas de red, conocer los puertos abiertos te dará una visión clara de qué servicios están accesibles y desde dónde. En este artículo, te enseñaremos cómo utilizar herramientas como netstat, ss, lsof y nmap para listar los puertos abiertos en tu sistema.

¿Qué es un Puerto y Por Qué es Importante?

Un puerto es un punto de conexión a través del cual los datos entran o salen de un sistema. Los puertos son cruciales para la comunicación de red, ya que permiten a los servicios y aplicaciones interactuar entre sí. Conocer los puertos abiertos en tu servidor te ayudará a:

  • Identificar servicios activos.
  • Detectar posibles vulnerabilidades.
  • Gestionar y optimizar el tráfico de red.

Herramientas y Comandos para Ver Puertos Abiertos

1. Usar netstat

El comando netstat es una herramienta poderosa para mostrar información sobre conexiones de red, tablas de enrutamiento y más. Aquí te mostramos cómo usarlo para ver los puertos abiertos:

netstat -tuln

Explicación de las opciones:

  • -t: Muestra conexiones TCP.
  • -u: Muestra conexiones UDP.
  • -l: Muestra puertos en estado de escucha (listening).
  • -n: Muestra direcciones numéricas en lugar de resolver nombres de host.

Ejemplo de salida:

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp6       0      0 :::80                   :::*                    LISTEN
udp        0      0 0.0.0.0:123             0.0.0.0:*

2. Usar ss

El comando ss es una alternativa moderna y eficiente a netstat. Es especialmente útil para sistemas más recientes:

ss -tuln

Las opciones son las mismas que para netstat, y la salida es similar, proporcionando información detallada sobre los puertos abiertos y los servicios en escucha.

3. Usar lsof

lsof es otra herramienta útil que lista todos los archivos abiertos, incluyendo los sockets de red:

sudo lsof -i -P -n

Explicación de las opciones:

  • -i: Muestra información de red.
  • -P: Muestra números de puerto en lugar de resolver nombres.
  • -n: Muestra direcciones IP numéricas.

Ejemplo de salida:

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd      1234 root    3u  IPv4  12345      0t0  TCP *:22 (LISTEN)
apache2   5678 www    4u  IPv6  67890      0t0  TCP *:80 (LISTEN)

4. Usar nmap

nmap es una herramienta poderosa para escanear puertos y obtener una visión detallada de tu red. Para escanear los puertos abiertos en tu propio equipo:

sudo nmap -sT -O localhost

Explicación de las opciones:

  • -sT: Realiza un escaneo de puertos TCP.
  • -O: Intenta detectar el sistema operativo del host.

Ejemplo de salida:

Starting Nmap 7.91 ( https://nmap.org ) at 2024-06-23 10:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000024s latency).
Not shown: 995 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
123/tcp  open  ntp

Conclusión

Conocer los puertos abiertos en tu servidor Linux es una habilidad esencial para cualquier sysadmin. Ya sea que uses netstat, ss, lsof o nmap, cada herramienta ofrece una visión única y detallada de los puertos y servicios en tu sistema. Ahora que tienes este conocimiento, puedes monitorear y gestionar mejor la seguridad y el rendimiento de tu servidor. ¡Empieza a explorar y mantén tu sistema seguro!

¿Te quedó alguna duda? ¡Déjanos un comentario y estaremos encantados de ayudarte!

Join the conversation

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *