El comando netstat es una herramienta de línea de comandos en GNU/Linux ampliamente utilizada para monitorear y diagnosticar el estado de las conexiones de red y el tráfico de red en el sistema.


El comando netstat es una herramienta de línea de comandos en GNU/Linux ampliamente utilizada para monitorear y diagnosticar el estado de las conexiones de red y el tráfico de red en el sistema. Su nombre deriva de "network statistics", y su funcionalidad permite a los administradores y usuarios supervisar información crítica de la red, como conexiones activas, puertos abiertos, y estadísticas de paquetes. Aunque netstat ha sido reemplazado en algunas distribuciones modernas por ss, sigue siendo una herramienta valiosa, especialmente en sistemas legacy y en entornos donde se necesita compatibilidad.

¿Para Qué se Usa el Comando netstat?

netstat se utiliza principalmente para:

  • Verificar conexiones de red activas.
  • Revisar qué puertos están en uso y qué servicios los están utilizando.
  • Monitorear el tráfico de red, tanto entrante como saliente.
  • Comprobar el estado de interfaces de red y sus estadísticas.
  • Identificar procesos asociados a conexiones específicas, útil para el diagnóstico de problemas de red.

Es un comando esencial para los administradores de sistemas y profesionales de la seguridad, ya que permite una visión detallada del tráfico y el estado de red del sistema en tiempo real.

Sintaxis Básica

La sintaxis básica del comando netstat es la siguiente:

netstat [opciones]

Las opciones permiten ajustar los datos mostrados y cómo se presentan, lo cual es esencial para un análisis detallado. Algunas de las opciones más utilizadas son:

  • -a: Muestra todas las conexiones y puertos escuchando.
  • -t: Muestra solo conexiones TCP.
  • -u: Muestra solo conexiones UDP.
  • -l: Muestra solo sockets en estado de escucha.
  • -n: Muestra direcciones y puertos de manera numérica.
  • -p: Muestra el PID y nombre del proceso que utiliza la conexión.
  • -r: Muestra la tabla de rutas del sistema.

Ejemplos de Uso

A continuación, algunos ejemplos prácticos de netstat junto con una explicación de los resultados esperados.

Mostrar Todas las Conexiones Activas

Este comando lista todas las conexiones activas y todos los puertos en estado de escucha, tanto TCP como UDP. Es útil para tener una visión general de las conexiones en el sistema.

netstat -a

Conexiones TCP activas

Con esta opción se muestra únicamente las conexiones activas que utilizan el protocolo TCP, lo cual es ideal para diagnosticar problemas específicos con conexiones de red.

netstat -at

Conexiones UDP activas

Este comando lista las conexiones activas que usan el protocolo UDP. Como UDP no tiene verificación de estado, estas conexiones son “sin estado” y son comunes en aplicaciones de transmisión en tiempo real.

netstat -au

Puertos en estado de escucha

Esta opción muestra solo los puertos que están escuchando activamente en el sistema, que es útil para identificar servicios que están a la espera de conexiones.

netstat -l

Mostrar direcciones y puertos de forma numérica

La opción -n obliga a netstat a mostrar direcciones IP y números de puertos en formato numérico en lugar de resolver nombres, acelerando el comando y proporcionando detalles específicos para cada conexión.

netstat -an

Mostrar PID y Nombre del Proceso

Este comando es especialmente útil para identificar qué proceso está utilizando una conexión específica. La opción -p muestra el PID y el nombre del proceso. Es posible que se necesiten permisos de superusuario para ver todos los procesos, por lo que es común usar sudo.

sudo netstat -p

Ver la tabla de rutas del sistema

La opción -r muestra la tabla de rutas de red, que indica las rutas disponibles para llegar a otras redes desde el sistema. Esto es muy útil para diagnosticar problemas de conectividad de red en redes complejas.

netstat -r

Ejemplo completo: Revisar conexiones TCP en uso por un proceso específico

Supongamos que queremos ver qué conexiones TCP están activas en el sistema y qué procesos las están usando. Podemos ejecutar el siguiente comando como usuario t3rr0rz0n3:

sudo netstat -atp | grep t3rr0rz0n3

Aquí, el comando lista solo las conexiones TCP activas en el sistema, junto con el PID y nombre del proceso asociado. Al utilizar grep, podemos filtrar por un proceso específico, como aquellos que se ejecutan bajo el usuario t3rr0rz0n3.

Comando para monitorizar la actividad de conexiones en tiempo real

Si necesitamos monitorizar cambios en las conexiones de red en tiempo real, podemos combinar netstat con watch:

watch -d 'netstat -antp'

Este comando actualiza la salida de netstat cada dos segundos, resaltando los cambios. Es muy útil para observar la actividad de red en sistemas con tráfico cambiante, por ejemplo, durante una auditoría o revisión de seguridad.

Clonclusión

netstat es una herramienta poderosa para la supervisión de red en sistemas GNU/Linux. A pesar de haber sido reemplazada en algunos entornos por ss, sigue siendo ampliamente utilizada debido a su capacidad para ofrecer información detallada sobre conexiones, puertos y procesos asociados a la red. Con esta guía, tienes a mano los ejemplos y opciones más útiles para comenzar a utilizar netstat en tus actividades de monitoreo y diagnóstico de red en GNU/Linux.


¿Buscas otro comando?

¡Revisa nuestro "Diccionario de comandos para GNU/Linux"!

Diccionario de comandos para GNU/Linux
Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación