Saltar la navegación

ss

El comando ss muestra información sobre los sockets del sistema. Si no se dan argumentos muestra los sockets TCP que tienen una conexión establecida actualmente:

# ss
State       Recv-Q Send-Q                                   Local Address:Port                                       Peer Address:Port   
ESTAB       0      0                                         192.168.1.52:55228                                      74.125.230.0:http    
ESTAB       0      0                                         192.168.1.52:38638                                     150.214.80.25:http    
ESTAB       0      0                                            127.0.0.1:51236                                         127.0.0.1:42375   
ESTAB       0      0                                         192.168.1.52:41151                                    78.140.184.184:http    
ESTAB       0      0                                            127.0.0.1:42375                                         127.0.0.1:51236

Para ver solo los sockets TCP que están en escucha se usa la opción -l:

# ss -l
State       Recv-Q Send-Q                                   Local Address:Port                                       Peer Address:Port   
LISTEN      0      128                                                  *:telnet                                                *:*       
LISTEN      0      20                                                 ::1:smtp                                                 :::*       
LISTEN      0      20                                           127.0.0.1:smtp                                                  *:*       
LISTEN      0      50                                           127.0.0.1:51235                                                 *:*       
LISTEN      0      50                                           127.0.0.1:51236                                                 *:*

Con -a se verán todos los sockets TCP:

# ss -a
State       Recv-Q Send-Q                                   Local Address:Port                                       Peer Address:Port   
LISTEN      0      128                                                  *:telnet                                                *:*       
LISTEN      0      20                                                 ::1:smtp                                                 :::*       
LISTEN      0      20                                           127.0.0.1:smtp                                                  *:*       
LISTEN      0      50                                           127.0.0.1:51235                                                 *:*       
LISTEN      0      50                                           127.0.0.1:51236                                                 *:*       
ESTAB       0      0                                            127.0.0.1:51236                                         127.0.0.1:42503   
ESTAB       0      0                                         192.168.1.52:37362                                    31.170.164.234:http    
TIME-WAIT   0      0                                            127.0.0.1:42499                                         127.0.0.1:51236  

Otras opciones:

-n   Muestra los puertos en forma numérica.
-r Intenta convertir a nombres las direcciones IP y los puertos. 
-e Muestra información extra (temporizadores, inodo, uid, etc.)
-o Muestra información de los temporizadores.
-p Muestra el proceso que usa el socket.
-s Muestra un resumen estadístico.
-4 Muestro sólo sockets IPv4.
-6 Muestra sólo sockets IPv6.
-t Muestra sólo los sockets TCP.
-u Muestra sólo los sockets UDP.
-s Muestra un resumen estadístico.

Después de las opciones de ss se puede poner un filtro más o menos complejo. La sintaxis general es la siguiente:

ss [opciones] [ FILTRO ]

donde FILTRO sigue el siguiente formato:

FILTRO := [ state ESTADO-TCP ]  [ exclude ESTADO-TCP ] [ EXPRESIÓN ]

Si se especifica state los sockets deben estar en el estado especificado (ESTABLISED, LISTENING, TIME-ẂAIT, CLOSED, CLOSED-WAIT, etc.). Con exclude se excluirán los que se encuentren en el estado que acompaña a dicha cláusula. Por último, la EXPRESIÓN puede ser como sigue:

  • Se pueden utilizar los operadores and (por defecto), or y not.
  • { src | dst }  [IP[/prefijo]][:puerto]  (src o dst no pueden ir sin un valor)
# ss dst 127.0.0.0
# ss dst 127.0.0.1:42720
# ss dst 127.0.0.0/24:42720
# ss dst 127.0.0.0/24 or src 127.0.0.0/24
# ss dst 127.0.0.0/24 and src 127.0.0.0/24

En esta última orden, el operador and puede omitirse pues se usa por defecto:

# ss dst 127.0.0.0/24 src 127.0.0.0/24
  •  { dport | sport }  { eq | neq | gt | ge | lt | le } [IP]:puerto

Con los operadores gt, ge, lt y le la dirección IP no participa, sólo el puerto.

# ss dport gt :1024
# ss dport eq :80

Ejemplos más complejos:

ss -o state established '( sport eq :http or sport eq :https ) dst 193.233.7.0/24'
ss state established sport neq :80 and sport neq :https or not dst 193.233.7.0/24

 

 

Licencia: licencia de software libre GPL