Tutorial de comandos ss de Linux para principiantes (8 ejemplos)

Cuando se trata de acceder a información relacionada con los sockets a través de la línea de comandos en Linux, la primera herramienta que nos viene a la mente es netstat. Sin embargo, hay otra utilidad que puede hacer este trabajo por ti.

Se llama ss. En este tutorial, hablaremos de los fundamentos de esta herramienta utilizando algunos ejemplos fáciles de entender. Pero antes de hacerlo, vale la pena mencionar que todos los casos aquí se han probado en una máquina Ubuntu 18.04 LTS.

El comando ss de Linux

El comando ss en Linux te permite investigar los sockets. A continuación se muestra su sintaxis:

ss [options] [ FILTER ]

Y esto es lo que dice la página man de la herramienta al respecto:

ss is used to dump socket statistics. It allows showing information similar to netstat.  
It can display more TCP and state information than other tools.

A continuación hay algunos ejemplos al estilo de las preguntas y respuestas que deberían darte una mejor idea de cómo funciona el comando ss.

Q1. ¿Cómo se utiliza el comando ss?

En su forma más básica, puedes utilizar el comando ss ejecutando «ss» sin ninguna opción.

ss

A continuación se muestra la salida que produjo el comando en mi caso:

Verás que ss muestra los sockets con conexiones establecidas en su salida por defecto.

Q2. ¿Cómo hacer que ss suprima la línea de cabecera?

La supresión de las cabeceras puede hacerse utilizando la opción de línea de comandos -H.

ss -H

La siguiente captura de pantalla muestra esta opción de línea de comandos en acción:

Así puedes ver que la línea de cabecera no aparece en este caso.

Q3. ¿Cómo hacer que ss muestre tanto los sockets que escuchan como los que no escuchan?

Puedes hacerlo utilizando la opción de línea de comandos -a.

ss -a

Ten en cuenta que las tomas que escuchan se omiten por defecto, por lo que usar -a hace que ss las incluya en la salida. Sin embargo, si quieres que ss sólo muestre las tomas que escuchan, utiliza la opción de línea de comandos -l.

ss -l

Q4. ¿Cómo hacer que ss muestre los procesos que utilizan sockets?

Si quieres que el comando ss muestre la información de los procesos junto con el resto de la información que ya produce en la salida, utiliza la opción de línea de comandos -p.

ss -p

La siguiente captura de pantalla muestra la salida en mi caso:

Así puedes ver que la información de los procesos se muestra en la salida.

Q5. ¿Cómo hacer que ss produzca información resumida?

Si no quieres ver la salida que el comando ss produce por defecto. Entonces hay una opción mediante la cual puedes pedir a ss que proporcione un pequeño resumen de la información que analiza.

Este resumen puede producirse utilizando la opción de línea de comandos -s:

ss -s

Por ejemplo, el siguiente es el resumen proporcionado en mi caso:

Total: 1334 (kernel 0)
TCP:   41 (estab 35, closed 3, orphaned 0, synrecv 0, timewait 3/0), ports 0

Transport Total     IP        IPv6
*      0         -         -        
RAW      1         0         1        
UDP      7         5         2        
TCP      38        37        1        
INET      46        42        4        
FRAG      0         0         0

Q6. ¿Cómo hacer que ss muestre sólo los sockets IPv4 o IPv6?

Esto puede hacerse utilizando las opciones -4 y -6.

Por ejemplo, para hacer que ss sólo muestre los sockets IPv4, ejecuta el siguiente comando:

ss -4

De forma similar, para IPv6, ejecuta el siguiente comando:

ss -6

Q7. ¿Cómo hacer que ss sólo muestre los sockets TCP o UDP?

Hay diferentes opciones de línea de comandos que puedes utilizar -t para TCP y -u para UDP.

A continuación encontrarás un útil extracto de la página del manual del comando ss.

       -t, --tcp
              Display TCP sockets.

       -u, --udp
              Display UDP sockets.

       -d, --dccp
              Display DCCP sockets.

       -w, --raw
              Display RAW sockets.

       -x, --unix
              Display Unix domain sockets (alias for -f unix).

       -S, --sctp
              Display SCTP sockets.

       --vsock
              Display vsock sockets (alias for -f vsock).

Conclusión

El comando ss es una herramienta muy útil si tu trabajo en Linux implica la creación de redes. En este tutorial hemos hablado de algunas opciones de la línea de comandos que ofrece ss. Cuando hayas terminado de practicarlas, dirígete a lapágina del manual de la herramienta para obtener más información.

También te podría gustar...