15%

Alexhost te concede deseos

Responder a la encuesta y gana premios

ALEX26
Comenzar
25.12.2024

Verificando Puertos Abiertos y en Escucha en Linux Usando Netstat y SS

Comprobando Puertos Abiertos y en Escucha en Linux Usando netstat y ss

Monitorear puertos abiertos y en escucha en un sistema Linux es una práctica esencial para mantener la seguridad del sistema, realizar solución de problemas de red y gestionar eficazmente tu infraestructura de servidor. Al revisar regularmente qué puertos están abiertos y qué servicios los están utilizando, puedes identificar riesgos de seguridad potenciales, detectar intentos de acceso no autorizados y asegurarte de que tu sistema no esté expuesto a vulnerabilidades innecesarias.

Entender qué servicios están vinculados a puertos específicos también ayuda a detectar mala configuración o comportamiento inesperado, como procesos desconocidos escuchando en puertos sensibles. Este conocimiento reduce significativamente el riesgo de una violación de seguridad al permitirte cerrar puertos no utilizados o asegurar adecuadamente los activos.

En este artículo, explicaremos cómo usar los comandos netstat y ss para comprobar puertos abiertos y en escucha en un sistema Linux.

Entendiendo Puertos y Sus Tipos

Antes de usar las herramientas, es importante entender los tipos básicos de puertos que puedes encontrar:

  • Puertos abiertos: Puertos en los que las aplicaciones están activamente escuchando conexiones entrantes.
  • Puertos en escucha: Puertos vinculados a un servicio o aplicación que está esperando tráfico de red.
  • Protocolos comunes:
    • TCP: Protocolo de Control de Transmisión, orientado a la conexión y confiable.
    • UDP: Protocolo de Datagramas de Usuario, sin conexión, más rápido pero menos confiable.

Comprobando Puertos con netstat

¿Qué es netstat?

netstat es una herramienta clásica de línea de comandos que proporciona estadísticas de red e información sobre conexiones de red, incluidos puertos abiertos y en escucha. Aunque ha sido descontinuada en favor de herramientas más nuevas como ss, todavía se utiliza ampliamente en muchos sistemas.

Instalando netstat

El comando netstat es parte del paquete net-tools. En distribuciones modernas de Linux, puede que necesite ser instalado manualmente.

Debian / Ubuntu

sudo apt install net-tools

CentOS / RHEL

sudo yum install net-tools

Usando netstat para Comprobar Puertos Abiertos y en Escucha

Para mostrar todos los puertos TCP y UDP en escucha en tu sistema, ejecuta:

sudo netstat -tuln

  • -t: Mostrar puertos TCP
  • -u: Mostrar puertos UDP
  • -l: Mostrar solo puertos en escucha
  • -n: Mostrar direcciones numéricas en lugar de resolver nombres de host

Entendiendo la Salida

  • Dirección Local: La dirección IP y el puerto donde el servicio está escuchando.
  • Dirección Remota: La IP y el puerto remotos para conexiones activas.
  • Estado: El estado de la conexión, como
    LISTEN
    para puertos abiertos.

Filtrando Puertos o Servicios Específicos con netstat

Puedes filtrar la salida para enfocarte en un puerto o servicio específico. Por ejemplo, para comprobar los servicios que están escuchando en el puerto 80 (HTTP):

sudo netstat -tuln | grep ":80"

Este comando muestra todos los servicios que están escuchando en el puerto 80.

Comprobando Puertos con ss

¿Qué es ss?

ss es una utilidad moderna que ha reemplazado a netstat en muchas distribuciones de Linux. Es más rápida y eficiente, especialmente en sistemas con un gran número de conexiones de red. El comando ss puede mostrar puertos abiertos, estadísticas de sockets e información detallada de la red.

Usando ss para Comprobar Puertos Abiertos y en Escucha

La sintaxis de ss es similar a la de netstat. Para listar todos los puertos TCP y UDP en escucha, ejecuta:

ss -tuln

  • -t: Mostrar sockets TCP
  • -u: Mostrar sockets UDP
  • -l: Mostrar sockets en escucha
  • -n: Mostrar direcciones numéricas

La salida proporciona una visión clara de todos los puertos en escucha y sus estados.

Uso Avanzado de ss

El comando ss ofrece opciones de filtrado avanzadas para un análisis más detallado.

Mostrar Solo Puertos TCP en Escucha

ss -tl

Mostrar Solo Puertos UDP en Escucha

ss -ul

Mostrar Puertos en Escucha con IDs de Proceso Asociados

Para identificar qué proceso está utilizando un puerto específico, ejecuta:

ss -tulnp

La opción -p muestra el nombre del proceso y el PID asociado con cada puerto en escucha, lo cual es útil para la solución de problemas.

Comparando netstat y ss

Ambas herramientas sirven propósitos similares, pero hay diferencias importantes:

  • Rendimiento: ss es más rápida y eficiente que netstat, especialmente en sistemas ocupados.
  • Disponibilidad: ss está incluida por defecto en la mayoría de las distribuciones modernas de Linux, mientras que netstat puede requerir instalación manual.
  • Opciones de filtrado: ss proporciona capacidades de filtrado y visualización más avanzadas.

Cuándo Usar netstat

  • En sistemas Linux más antiguos.
  • Si ya estás familiarizado con la sintaxis de netstat.

Cuándo Usar ss

  • Cuando se requiere un mejor rendimiento.
  • Para análisis y filtrado avanzados de red.

Otras Herramientas para Comprobar Puertos Abiertos

Además de netstat y ss, se pueden usar otras herramientas para comprobar puertos abiertos y en escucha.

Usando lsof

lsof lista archivos abiertos, incluidos sockets de red. Para comprobar qué proceso está utilizando el puerto 80:

sudo lsof -i :80

Este comando muestra los procesos vinculados al puerto 80.

Usando nmap

nmap es una herramienta de escaneo de red que se puede usar para detectar puertos abiertos en un sistema:

sudo nmap -sT localhost

Esto escanea puertos TCP en la máquina local.

Conclusión

Monitorear puertos abiertos y en escucha es una tarea crítica para los administradores de sistemas Linux. Herramientas como netstat y ss facilitan la identificación de servicios activos, la solución de problemas de red y la mejora de la seguridad del servidor.

Si bien netstat sigue siendo útil en sistemas más antiguos, ss es la opción preferida para entornos modernos de Linux debido a su velocidad y eficiencia. Ya sea que estés asegurando un servidor Linux o diagnosticando el comportamiento de la red, estas herramientas proporcionan la visibilidad necesaria para gestionar puertos abiertos de manera efectiva.

15%

Alexhost te concede deseos

Responder a la encuesta y gana premios

ALEX26
Comenzar