Netstat es uno de esos comandos que, aunque sencillo a primera vista, guarda un poder inmenso en manos de administradores de sistemas, técnicos de redes y usuarios curiosos que quieren saber qué sucede con su conexión a internet. Su nombre proviene de “network statistics”, y como sugiere, se encarga de mostrar estadísticas detalladas sobre las conexiones de red del sistema, incluyendo puertos abiertos, conexiones activas, protocolos en uso y mucho más.
Para explicarlo de forma más cercana, el comando netstat es como una herramienta especial en Linux que te ayuda a comprender y comprobar cómo se conecta tu ordenador a internet. Y no solo eso: también puede ayudarte a detectar intrusos, problemas de conexión, o servicios innecesarios corriendo en segundo plano.
Recuerda que tenemos disponibles Servidores VPS para que puedas practicar tus comandos
Aunque su uso se ha visto parcialmente reemplazado por herramientas más modernas como ss
, iftop
o nmap
, netstat sigue siendo una herramienta básica y confiable en entornos Linux, Windows e incluso macOS.
¿Cómo funciona netstat en Linux y Windows?
Netstat es un comando de consola o terminal, por lo que no tiene interfaz gráfica. Al ejecutarlo, el sistema devuelve una tabla de información sobre conexiones de red y puertos. Su comportamiento varía ligeramente entre sistemas operativos, pero sus funciones clave son universales.
En Linux
En la mayoría de distribuciones modernas, netstat forma parte del paquete net-tools
, que en algunos sistemas ya no viene instalado por defecto. Si no lo tienes, puedes instalarlo con:
sudo apt install net-tools
Una vez instalado, puedes comenzar a usarlo con simplemente escribir:
netstat
ste comando te devolverá una lista de conexiones abiertas, pero lo interesante viene cuando usamos opciones adicionales.
En Windows
En Windows, netstat viene preinstalado. Para ejecutarlo:
- Abre el Símbolo del sistema (CMD).
- Escribe:
netstat
y presiona Enter.
Verás una lista de conexiones activas, con información como la dirección IP local y remota, el estado de la conexión, y el protocolo usado (TCP o UDP).
Principales opciones y parámetros del comando netstat
Netstat despliega su verdadero poder cuando se usa con opciones específicas. Aquí te dejo un desglose de las más útiles y comunes:
Opción | Descripción |
---|---|
-a | Muestra todas las conexiones y puertos en escucha. |
-t | Filtra solo conexiones TCP. |
-u | Filtra solo conexiones UDP. |
-n | Muestra direcciones IP y puertos numéricamente (no los resuelve a nombres). |
-p | Muestra el PID (ID del proceso) asociado a cada conexión. |
-l | Muestra solo puertos que están en estado de «escucha». |
-r | Muestra la tabla de enrutamiento. |
-s | Muestra estadísticas por protocolo. |
-c | Actualiza la información continuamente (útil para monitoreo en tiempo real). |
Ejemplo combinado (en Linux)
netstat -tulnp
Este comando muestra todas las conexiones TCP y UDP en estado de escucha, sin resolver nombres, e indicando qué proceso las abrió. Es una forma muy eficiente de saber qué servicios están usando la red en tu sistema.
Ejemplos prácticos del uso de netstat
Visualizar conexiones activas
Para ver las conexiones que están establecidas actualmente en tu sistema:
netstat -ant
Esto mostrará todas las conexiones TCP activas, con IP y puertos incluidos. Muy útil para detectar conexiones sospechosas.
Ver puertos abiertos
Los puertos en escucha pueden representar servicios activos. Algunos son necesarios (como el puerto 22 para SSH), pero otros podrían ser vulnerabilidades
netstat -ltnp
Este comando es clave para auditar tu sistema y cerrar servicios innecesarios.
Diagnosticar problemas de red
¿Tu aplicación no se conecta? ¿Crees que hay algo bloqueando la conexión?
Usa:
netstat -s
Te da un resumen por protocolo (TCP, UDP, ICMP…), útil para diagnosticar paquetes perdidos, errores de transmisión o congestión.
Crea tu propio mini dashboard de red con netstat y Gnuplot
Aunque netstat
es una herramienta basada en texto, podemos combinarla con otras utilidades de Linux para crear un pequeño dashboard gráfico que nos dé una visión rápida del estado de la red en nuestro servidor. Aquí te explico cómo hacerlo paso a paso.
📦 ¿Qué necesitas?
netstat
(paquetenet-tools
)awk
,grep
,cut
,sed
(ya vienen por defecto en la mayoría de sistemas)gnuplot
para graficar
Instala Gnuplot (si no lo tienes):
sudo apt update && sudo apt install gnuplot
🧠 ¿Qué vamos a hacer?
Vamos a crear un script que:
- Use
netstat
para contar conexiones por estado (ESTABLISHED, TIME_WAIT, etc.). - Genere un archivo con esos datos.
- Genere un gráfico con Gnuplot.
- Repita el proceso cada minuto para monitoreo en tiempo real.
📜 Script Bash: dashboard_netstat.sh
#!/bin/bash
# Directorio temporal para guardar los datos
mkdir -p /tmp/netstat_monitor
# Archivo de salida de datos
OUTFILE="/tmp/netstat_monitor/connections.dat"
# Inicializar el archivo
echo "# Timestamp ESTABLISHED TIME_WAIT LISTENING" > $OUTFILE
# Bucle infinito para monitorizar cada minuto
while true; do
TIMESTAMP=$(date +%H:%M:%S)
EST=$(netstat -ant | grep ESTABLISHED | wc -l)
TIMEW=$(netstat -ant | grep TIME_WAIT | wc -l)
LISTEN=$(netstat -ant | grep LISTEN | wc -l)
echo "$TIMESTAMP $EST $TIMEW $LISTEN" >> $OUTFILE
# Generar gráfico
gnuplot -persist <<-EOFMarker
set title "Conexiones de Red (Netstat)"
set xlabel "Hora"
set ylabel "Conexiones"
set xdata time
set timefmt "%H:%M:%S"
set format x "%H:%M"
set grid
set terminal png size 800,600
set output '/tmp/netstat_monitor/netstat_plot.png'
plot "$OUTFILE" using 1:2 with lines title "ESTABLISHED", \
"$OUTFILE" using 1:3 with lines title "TIME_WAIT", \
"$OUTFILE" using 1:4 with lines title "LISTENING"
EOFMarker
echo "Gráfico actualizado en /tmp/netstat_monitor/netstat_plot.png"
sleep 60
done
🟢 ¿Cómo lo uso?
- Guarda el script como
dashboard_netstat.sh
- Dale permisos de ejecución:
chmod +x dashboard_netstat.sh
Ejecútalo con permisos:
sudo ./dashboard_netstat.sh
El gráfico generado se actualizará cada minuto y estará disponible en:
/tmp/netstat_monitor/netstat_plot.png
📊 Resultado
Tendrás un dashboard visual básico de las conexiones de red, útil para detectar picos anómalos, servicios que consumen demasiados sockets o simplemente para entender el comportamiento de tu red a lo largo del tiempo.
Casos comunes donde netstat es indispensable
- Auditoría de seguridad: Detectar conexiones remotas que no reconoces o servicios escuchando que no sabías que estaban activos.
- Soporte técnico: Cuando el cliente dice «internet no funciona», netstat te ayuda a comprobar si el tráfico realmente sale o entra.
- Administración de servidores: Para verificar si los servicios web, SSH o bases de datos están en escucha en los puertos correctos.
- Desarrollo: Ver si tu app está haciendo las conexiones correctas y no está filtrando información por error.
Alternativas modernas a netstat: ¿sigue siendo útil hoy?
Sí, aunque ha perdido popularidad frente a herramientas como:
ss
: Más rápido y moderno, reemplazo natural en sistemas Linux.lsof -i
: Muestra qué procesos están usando qué puertos.iftop
ynethogs
: Visualizan tráfico en tiempo real.nmap
: Escaneo externo de puertos y servicios.
Aun así, netstat sigue siendo útil por su simplicidad y disponibilidad universal. No necesitas instalar nada adicional en la mayoría de los sistemas, y puedes obtener una visión muy clara en segundos.
Consejos para aprovechar al máximo netstat
- Combínalo con otros comandos: Como
grep
, para filtrar conexiones específicas.
netstat -tulnp | grep 80
- Úsalo con frecuencia: Aunque no tengas problemas, ver el «estado normal» te ayuda a detectar anomalías cuando algo va mal.
- Automatiza reportes: Puedes crear scripts que usen netstat y envíen reportes de conexiones.
- Vigila los puertos sospechosos: Puertos abiertos innecesarios = riesgo de seguridad.
- Integra en tus procesos de revisión: Si administras servidores, haz de netstat parte de tu checklist.
Por qué netstat sigue siendo una herramienta clave
En un mundo lleno de herramientas gráficas, escáneres y dashboards web, netstat representa la potencia de lo simple y confiable. Es un comando que, en segundos, puede darte información crítica sobre el estado de tu red, ayudarte a resolver problemas o incluso protegerte de intrusiones.
Ya seas un administrador de servidores, un usuario curioso o un desarrollador, aprender a usar netstat es un paso fundamental para comprender cómo funciona tu conexión con el mundo exterior.
Opinión Personal
Personalmente, netstat fue uno de los primeros comandos que me hizo sentir que tenía el control real sobre mi sistema. Ver en tiempo real cómo mi equipo se comunicaba con el mundo exterior fue revelador. Me ayudó a entender conceptos que hasta entonces solo había leído por encima: puertos, conexiones activas, servicios en escucha… todo eso tomó forma frente a mis ojos con una simple línea de código.
Hoy, incluso con herramientas gráficas y utilidades más modernas, sigo volviendo a netstat cuando necesito una visión rápida, precisa y sin rodeos de lo que pasa en mi red. Es de esas herramientas que, si aprendes a usarla bien, te acompaña toda la vida profesional.
Y tú, ¿ya usaste netstat alguna vez? ¿Lo prefieres frente a herramientas más actuales?
👇 Déjame tu opinión en los comentarios, me encantaría leerte.