Netstat Commands Reference
Referencia completa de comandos netstat y ss para Linux, macOS y Windows con ejemplos buscables.
List all connections
netstat -ass -aList listening ports (TCP+UDP)
netstat -tulnss -tulnShow TCP connections
netstat -tnss -tnShow UDP connections
netstat -unss -unShow process PIDs
netstat -tulnpss -tulnp⚠ Linux/macOS may require root for PID visibility
Show routing table
netstat -rip routeShow network statistics
netstat -sss -sCount connections by state
netstat -an | awk '{print $6}' | sort | uniq -c | sort -rnss -tan | awk 'NR>1 {print $1}' | sort | uniq -cFind process using a port
netstat -tulnp | grep :8080ss -tulnp | grep :8080⚠ Replace 8080 with your port number
Show socket summary
netstat -iss -iAcerca de esta herramienta
Netstat y ss son utilidades de línea de comandos que muestran conexiones de red activas, tablas de enrutamiento, estadísticas de interfaz e información de sockets en sistemas Linux, macOS y Windows. Netstat ha sido la opción tradicional durante décadas, pero ss (estadísticas de socket) es el reemplazo moderno en sistemas Linux—es más rápido, más legible y muestra información detallada del estado del socket. Entender estas herramientas es esencial para que los administradores de redes diagnostiquen problemas de conectividad, identifiquen qué aplicaciones utilizan recursos de red, monitoreen actividad de puertos y localicen conexiones inesperadas y servicios de escucha.
Esta guía de referencia organiza los comandos netstat y ss más útiles por tarea: verificar qué puertos están escuchando, ver conexiones activas, encontrar ID de procesos asociados con actividad de red, analizar tráfico por protocolo, listar todos los sockets en diferentes estados y monitorear estadísticas de interfaz de red. Cada comando se explica con su propósito y formato de salida típico, lo que facilita encontrar la sintaxis exacta que necesitas sin memorizar docenas de banderas. El formato que se puede buscar te permite filtrar rápidamente por nombre de comando, tipo de protocolo o caso de uso—ya sea que estés solucionando problemas de un servicio colgado, auditando puertos abiertos por seguridad o investigando el consumo de ancho de banda.
Los administradores de sistemas, ingenieros de DevOps y profesionales de seguridad confían en estos comandos diariamente para comprender el comportamiento de la red del sistema, detectar conflictos de puertos, verificar que los servicios estén escuchando correctamente e identificar accesos de red no autorizados. Ya seas nuevo en estas herramientas o necesites un recordatorio rápido de la sintaxis correcta, esta referencia ahorra tiempo al proporcionar ejemplos reales y prácticos que puedes copiar y adaptar inmediatamente para tu tarea específica de diagnóstico o monitoreo de red.
Preguntas Frecuentes
Implementación de Código
import subprocess
import platform
def run_netstat(args: list[str]) -> str:
"""Run netstat command and return output."""
try:
result = subprocess.run(["netstat"] + args, capture_output=True, text=True, timeout=10)
return result.stdout
except FileNotFoundError:
# Try ss on Linux if netstat not found
if platform.system() == "Linux":
result = subprocess.run(["ss"] + args, capture_output=True, text=True, timeout=10)
return result.stdout
return "netstat not found"
# Show all listening TCP ports
print("=== Listening TCP ports ===")
system = platform.system()
if system == "Linux":
print(run_netstat(["-tlnp"])) # or ss -tlnp
elif system == "Darwin": # macOS
print(run_netstat(["-an", "-p", "tcp"]))
elif system == "Windows":
print(run_netstat(["-ano", "-p", "TCP"]))
# Parse listening ports
def get_listening_ports() -> list[dict]:
"""Parse ss output on Linux to get listening ports."""
result = subprocess.run(["ss", "-tlnp"], capture_output=True, text=True)
ports = []
for line in result.stdout.splitlines()[1:]:
parts = line.split()
if len(parts) >= 4 and parts[0] == "LISTEN":
ports.append({"state": parts[0], "local": parts[3], "process": parts[6] if len(parts) > 6 else ""})
return ports
if system == "Linux":
for p in get_listening_ports():
print(p)Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.