Linux / Comando ss: consultar sockets, puertos a la escucha y conexiones
ss muestra sockets, los puntos que utilizan los programas para comunicarse, con sus direcciones, puertos y estados en el entorno de red actual. Permite consultar servicios a la escucha y conexiones TCP o sockets UDP, pero no demuestra por sí solo que un servicio sea accesible desde el exterior.
Cuando se ejecuta sin opciones, generalmente se muestran los sockets conectados que no están en escucha. Para verificar los puertos del servidor, incluya los sockets de escucha con -l y limite los protocolos con -t y -u. -p muestra información del proceso de conexión, pero puede requerir permisos para la información de otros usuarios.
Sintaxis básica
ss [opciones] [filtro]
La implementación instalada y las opciones pueden variar según la distribución. Verifique la descripción de man ss en el sistema actual.
Ejemplos de uso
Puerto de escucha TCP
Comprueba el estado de espera del servicio mediante la dirección y el puerto numéricos.
ss -ltn
Puertos de escucha TCP·UDP y proceso
Verifica qué proceso está utilizando el puerto. Use sudo si es necesario.
sudo ss -ltnup
Conexión de un puerto específico
Filtra las conexiones correspondientes al puerto de ejemplo 22.
ss -tn '( sport = :22 or dport = :22 )'
¿Cómo leer un socket de escucha?
ss -ltn muestra sockets TCP (-t) a la escucha (-l), con direcciones y puertos numéricos (-n).
ss -ltn
Parte de la salida de ejemplo (la dirección y el tamaño de la cola varían según el entorno):
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
0.0.0.0:22 significa que está esperando en el puerto 22 de todas las direcciones locales IPv4. Solo por el hecho de que el socket está en escucha, no se puede concluir que un firewall o una red externa pueda conectarse. El nombre del proceso se puede ver como -p, pero algunos pueden estar ocultos según los permisos.
Un servicio enlazado solo a 127.0.0.1:puerto no puede ser accedido directamente desde una interfaz externa aunque pueda conectarse desde la misma computadora. Incluso si está enlazado a 0.0.0.0, un firewall o un grupo de seguridad puede bloquearlo. Al investigar conflictos de puerto, si los permisos lo permiten, verifique el proceso propietario con ss -ltnp.
Opciones y formatos principales
| Opción o formato | Descripción |
|---|---|
-l |
Muestra sockets a la escucha. |
-t / -u |
Seleccione un socket TCP o UDP. |
-n |
Muestra la dirección y el puerto en números. |
-p |
Muestra información de los procesos que usan sockets. |
-a |
Incluye sockets a la escucha y sin escucha. |
-s |
Muestra un resumen de sockets por protocolo. |
Precauciones al usar
Si el servicio escucha solamente en 127.0.0.1, no expone ese socket directamente en otras interfaces, y escuchar en 0.0.0.0 no significa que el firewall también esté abierto. UDP no tiene un estado de conexión como TCP. Si no hay información del proceso en -p, verifique los permisos.
Preguntas frecuentes
¿Por qué no se puede acceder externamente aunque el puerto sea visible en ss?
Es necesario comprobar por separado si la dirección receptora es de bucle local (loopback) y si el firewall, enrutamiento o reglas de seguridad de la nube lo permiten.
Documentación oficial
Se puede consultar el funcionamiento exacto de las opciones y las diferencias según la implementación en la documentación oficial de ss.




