En el post anterior presentamos una nueva herramienta para investigar conexiones de red. Para continuar con el tema, en esta oportunidad compartiremos otros ejemplos del uso de ss en Linux. ¡Comencemos!
Ejemplos del uso de ss en Linux
Como veremos a continuación, podemos usar ss para mostrar más información que solamente una lista de servicios de red que se estén ejecutando en nuestro equipo. En los siguientes ejemplos mostraremos cómo filtrar esa información de manera tal que nos resulte útil.
Ejemplo 1: Filtrar conexiones por uno o varios puertos
Si deseamos ver las conexiones entrantes filtrando por uno o varios puertos TCP (digamos el 80 y el 22, por ejemplo), podemos utilizar la opción sport (de source port) de la siguiente manera:
ss -tn '( sport = :80 or sport = :22 )'
Si desde nuestro equipo se estuvieran estableciendo conexiones salientes a puertos específicos de un host remoto, podríamos utilizar dport (destination port) seguido de los puertos de destino.
Además de los números de los puertos se pueden utilizar los nombres de los servicios (como por ejemplo ssh, http, https, etc).
Ejemplo 2: Mostrar conexiones a una dirección IP destino
Para refinar el ejemplo anterior, podemos indicar qué dirección de IP destino nos interesa examinar en una conexión saliente. Para empezar, establezcamos una conexión vía telnet al puerto 80 (el servidor web) de google.com (74.125.196.138):
telnet 74.125.196.138 80
A continuación, ejecutemos el siguiente comando desde otra terminal:
ss -nt dst 74.125.196.138:80
donde la opción combinada -nt
hace que ss muestre conexiones TCP únicamente y que no se realice la resolución de nombres en la conexión.
En la Fig. 1 podemos ver la conexión establecida en una terminal y la identificación de la misma mediante ss en la otra:
En el man page de la herramienta se pueden encontrar más ejemplos sobre su uso.
Espero que este post les haya resultado útil. ¡Nos leemos en breve!