ss
El comando ss (Socket Statistics) permite mostrar información sobre los sockets y las conexiones de red del sistema. Es la herramienta recomendada en Linux para consultar puertos abiertos, conexiones activas y servicios en escucha, sustituyendo al antiguo comando netstat.
| Categoría | Red |
|---|---|
| Disponible en | Linux (paquete iproute2) |
| Equivalente en Windows | netstat |
| ¿Requiere permisos de administrador? | No para consultas básicas. Algunas opciones muestran más información si se ejecutan como administrador. |
¿Qué significa su nombre?
ss son las siglas de Socket Statistics, que significa "estadísticas de sockets".
Un socket es un punto de comunicación entre dos procesos a través de una red o del propio sistema operativo.
¿Para qué sirve?
Permite visualizar las conexiones de red activas, los puertos abiertos y los servicios que están escuchando conexiones.
Es una herramienta muy útil para comprobar si un servidor está funcionando correctamente, identificar qué aplicación está utilizando un puerto o diagnosticar problemas de conectividad.
Sintaxis
ss [opciones]
Opciones más utilizadas
| Comando | Descripción |
|---|---|
ss |
Muestra las conexiones activas. |
ss -t |
Muestra únicamente conexiones TCP. |
ss -u |
Muestra únicamente conexiones UDP. |
ss -l |
Muestra los puertos en escucha. |
ss -n |
No resuelve nombres; muestra direcciones IP y puertos numéricos. |
ss -p |
Muestra el proceso asociado a cada conexión. |
ss -tuln |
Muestra los puertos TCP y UDP en escucha utilizando direcciones numéricas. |
Equivalencia con otros sistemas
| Linux antiguo | Linux actual | Windows |
|---|---|---|
netstat -tuln |
ss -tuln |
netstat -ano |
Consultas más habituales
Mostrar todas las conexiones
ss
Mostrar los puertos abiertos
ss -tuln
Mostrar el proceso que utiliza cada puerto
ss -tulpn
Mostrar únicamente conexiones TCP
ss -t
Ejemplo de salida
Netid State Local Address:Port Peer Address:Port
tcp LISTEN 0.0.0.0:22 0.0.0.0:*
tcp LISTEN 0.0.0.0:80 0.0.0.0:*
udp UNCONN 0.0.0.0:68 0.0.0.0:*
¿Cómo interpretar la salida?
- Netid: protocolo utilizado (TCP, UDP...).
- State: estado de la conexión (LISTEN, ESTABLISHED, etc.).
- Local Address:Port: dirección IP y puerto del equipo local.
- Peer Address:Port: dirección IP y puerto del equipo remoto.
- LISTEN: el equipo está esperando conexiones en ese puerto.
- ESTABLISHED: existe una conexión activa.
Errores habituales
- Confundir un puerto LISTEN con una conexión activa. Un puerto en escucha simplemente está preparado para recibir conexiones.
- Pensar que todos los puertos abiertos representan un problema de seguridad. Muchos pertenecen a servicios necesarios del sistema.
- Olvidar la opción
-n. Sin ella, el comando intenta resolver nombres DNS y puede tardar más en mostrar la información.
Conceptos relacionados
- Socket
- Puerto
- TCP
- UDP
- Servicio
- Conexión
- Firewall
Comandos relacionados
ippingtraceroutenetstatlsof
Curiosidades
El comando ss forma parte del paquete iproute2, el mismo que incluye el comando ip. Está diseñado para reemplazar a netstat, ofreciendo un mejor rendimiento y mostrando la información de forma más rápida, especialmente en servidores con un gran número de conexiones.
Prácticas propuestas
- Ejecuta
ss -tulne identifica todos los puertos que se encuentran en escucha. - Localiza el puerto utilizado por el servicio SSH. ¿En qué estado se encuentra?
- Abre una página web y ejecuta
ss. ¿Aparecen nuevas conexiones establecidas? - Ejecuta
ss -tulpn(como administrador si es necesario) e identifica qué proceso está utilizando el puerto 80 o el puerto 443. - Compara la salida de
ss -tulncon la denetstat -anoen Windows. ¿Qué información muestra cada uno?
Consejo: Cuando un servicio no funciona, una de las primeras comprobaciones consiste en ejecutar ss -tuln para verificar si el puerto correspondiente está realmente en escucha.