Examinando las conexiones de red con el comando ss

La llegada de la suite de utilidades iproute2 a Linux, supuso que un buen número de herramientas diseñadas para el análisis de red quedaran obsoletas y otras tomaran su lugar.

Entre ellas ss, que no se refiere a las Schutzstaffel nazis, sino a un interesante comando (socket status), llamado a sustituir a netstat. Al igual que este, nos muestra las estadísticas de las conexiones actuales de red y puertos abiertos.

Si invocamos el comando en su forma más sencilla, nos muestra todas las direcciones y puertos (tanto en modo escucha, como no):

ss -a

Para mostrar únicamente las conexiones IPv4:

ss -4

De manera similar si hablamos de las IPv6:

ss -6

Las conexiones TCP:

ss -ta

O las del protocolo UDP:

ss -ua

Si queremos especificar y que nos muestre solo los sockets que tienen status “listen” (escucha). Para el protocolo TCP sería:

ss -ltn

Y en el caso de las conexiones UDP “listen”;

ss -lun

Para incrementar el nivel de detalle en las diferentes combinaciones de comandos tenemos el parámetro -e:

ss -ae

Vamos a hacer la cosa algo más interesante. Para empezar mostremos las aplicaciones que están conectadas a internet en este momento, incluyendo además su PID:

ss -p

Veamos el consumo de memoria de los diferentes sockets:

ss -m

Comprobemos ahora si hay alguna conexión SSH:

ss -o state established '( dport = :ssh or sport = :ssh )'

De tipo SMTP:

ss -o state established '( dport= :smtp or sport= :smtp )'

o las habituales HTTP:

ss -o state established '( dport = :http or sport = :http )'

A continuación examinemos las estadísticas generales:

ss -s

Filtremos lo que pasa en un puerto determinado:

ss -n dst :443

O varios de ellos:

ss -nt '( dst :443 or dst :80 )'

Examinemos ahora como estamos conectados a una dirección ip específica. Este comando nos muestra información sobre la cantidad de paquetes enviados/recibidos, el tipo de conexión o todos los puertos involucrados.

ss dst 216.58.214.174

Y por último vamos a ver las conexiones TCP activas en tiempo real. Para ello tiramos del siempre útil “watch” y lo combinamos tal que así:

watch ss -tp

Da bastante juego este comando ss, así que si os interesa el tema, os recomiendo que le echéis un vistazo al manual:

man ss

En el encontrareis muchas más opciones avanzadas de ejecución, incluyendo las que permiten filtrar por todo tipo de estados (closing, syn-sent, syn-recv, established, time-wait, etc) y conexiones.


Via: lamiradadelreplicante.com
Examinando las conexiones de red con el comando ss Examinando las conexiones de red con el comando ss Reviewed by Zion3R on 7:58 Rating: 5