El ss
comando es un reemplazo moderno del clásico netstat
. Puede usarlo en Linux para obtener estadísticas sobre sus conexiones de red. A continuación, se explica cómo trabajar con esta práctica herramienta.
Un reemplazo para el netstat
comando obsoleto , ss
le brinda información detallada sobre cómo su computadora se comunica con otras computadoras, redes y servicios.
ss
muestra estadísticas para el Protocolo de control de transmisión (TCP), el Protocolo de datagramas de usuario (UDP), Unix (interproceso) y sockets sin procesar. Los sockets sin procesar operan en el nivel OSI de la red , lo que significa que los encabezados TCP y UDP deben ser manejados por el software de la aplicación, no por la capa de transporte. Los mensajes del Protocolo de mensajes de control de Internet (ICMP) y la utilidad de ping utilizan sockets sin formato.
No es necesario que lo instale ss
, ya que forma parte de una distribución de Linux actualizada. Sin embargo, su salida puede ser muy larga; hemos obtenido resultados que contienen más de 630 líneas. Los resultados también son muy amplios.
Debido a esto, hemos incluido representaciones de texto de los resultados que obtuvimos, ya que no cabrían en una captura de pantalla. Los hemos recortado para que sean más manejables.
El uso ss
sin opciones de línea de comandos enumera los sockets que no están escuchando. Es decir, enumera los sockets que no están en estado de escucha.
Para ver esto, escriba lo siguiente:
ss
Netid State Recv-Q Send-Q Dirección local: Puerto Dirección del mismo nivel: Puerto Proceso u_str ESTAB 0 0 * 41826 * 41827 u_str ESTAB 0 0 / ejecutar / systemd / journal / stdout 35689 * 35688 u_str ESTAB 0 0 * 35550 * 35551 ... u_str ESTAB 0 0 * 38127 * 38128 u_str ESTAB 0 0 / ejecutar / dbus / system_bus_socket 21243 * 21242 u_str ESTAB 0 0 * 19039 * 19040 u_str ESTAB 0 0 / ejecutar / systemd / journal / stdout 18887 * 18885 u_str ESTAB 0 0 / ejecutar / dbus / system_bus_socket 19273 * 17306 icmp6 UNCONN 0 0 *: ipv6-icmp *: * udp ESTAB 0 0 192.168.4.28% enp0s3: bootpc 192.168.4.1:bootps
Las columnas son las siguientes:
Para los sockets UDP, la columna «Estado» suele estar en blanco. Para los sockets TCP, puede ser uno de los siguientes:
Para ver los sockets de escucha, agregaremos la -l
opción (listening), así:
ss -l
Netid State Recv-Q Send-Q Dirección local: Puerto Dirección del mismo nivel: Puerto Proceso nl UNCONN 0 0 rtnl: NetworkManager / 535 * nl UNCONN 0 0 rtnl: evolution-addre / 2987 * ... u_str ESCUCHA 0 4096 / run / systemd / private 13349 * 0 u_seq ESCUCHA 0 4096 / run / udev / control 13376 * 0 u_str ESCUCHAR 0 4096 /tmp/.X11-unix/X0 33071 * 0 u_dgr UNCONN 0 0 / ejecutar / systemd / journal / syslog 13360 * 0 u_str ESCUCHA 0 4096 /run/systemd/fsck.progress 13362 * 0 u_dgr UNCONN 0 0 / ejecutar / usuario / 1000 / systemd / notificar 32303 * 0
Todos estos enchufes están desconectados y escuchando. El «rtnl» significa enrutamiento netlink, que se utiliza para transferir información entre el kernel y los procesos del espacio de usuario.
Para enumerar todos los sockets, puede usar la -a
opción (todos):
ss -a
Netid State Recv-Q Send-Q Dirección local: Puerto Dirección del mismo nivel: Puerto Proceso nl UNCONN 0 0 rtnl: NetworkManager / 535 * nl UNCONN 0 0 rtnl: evolution-addre / 2987 * ... u_str ESCUCHAR 0100 público / showq 23222 * 0 u_str ESCUCHAR 0100 privado / error 23225 * 0 u_str ESCUCHAR 0100 privado / reintentar 23228 * 0 ... udp UNCONN 0 0 0.0.0.0:631 0.0.0.0:* udp UNCONN 0 0 0.0.0.0:mdns 0.0.0.0:* ... tcp ESCUCHA 0128 [::]: ssh [::]: * tcp ESCUCHA 0 5 [:: 1]: ipp [::]: * tcp ESCUCHAR 0100 [:: 1]: smtp [::]: *
La salida contiene todos los enchufes, independientemente del estado.
También puede aplicar un filtro para que solo se muestren los sockets coincidentes. Usaremos la -t
opción (TCP), por lo que solo se enumerarán los sockets TCP:
ss -a -t
La -u
opción (UDP) realiza el mismo tipo de acción de filtrado. Esta vez, solo veremos sockets UDP:
ss -a -u
Estado Recv-Q Send-Q Dirección local: Puerto Dirección del mismo nivel: Puerto Proceso UNCONN 0 0 0.0.0.0:631 0.0.0.0:* UNCONN 0 0 0.0.0.0:mdns 0.0.0.0:* UNCONN 0 0 0.0.0.0:60734 0.0.0.0:* UNCONN 0 0127.0.0.53% lo: dominio 0.0.0.0:* ESTAB 0 0192.168.4.28% enp0s3: bootpc 192.168.4.1:bootps UNCONN 0 0 [::]: mdns [::]: * UNCONN 0 0 [::]: 51193 [::]: *
Para ver solo sockets Unix, puede incluir la -x
opción (Unix), como se muestra a continuación:
ss -a -x
Netid State Recv-Q Send-Q Dirección local: Puerto Dirección del mismo nivel: Puerto Proceso u_str ESTAB 0 0 * 41826 * 41827 u_str ESTAB 0 0 * 23183 * 23184 u_str ESTAB 28 0 @ / tmp / .X11-unix / X0 52640 * 52639 ... u_str ESTAB 0 0 / ejecutar / systemd / journal / stdout 18887 * 18885 u_str ESTAB 0 0 / ejecutar / dbus / system_bus_socket 19273 * 17306
El filtro para sockets sin formato es la -w
opción (sin formato):
ss -a -w
Los sockets que utilizan el protocolo TCP / IP versión 4 se pueden enumerar mediante la -4
opción (IPV4):
ss -a -4
Puede activar el filtro IP correspondiente versión 6 con la -6
opción (IPV6), así:
ss -a -6
Puede enumerar los sockets por el estado en el que se encuentran con la state
opción. Esto funciona con estados establecidos, de escucha o cerrados. También usaremos la opción de resolución ( -r
), que intenta resolver las direcciones de red en nombres y los puertos en protocolos.
El siguiente comando buscará conexiones TCP establecidas e ss
intentará resolver los nombres:
ss -t -r estado establecido
Se enumeran cuatro conexiones que están en el estado establecido. El nombre de host, ubuntu20-04, se ha resuelto y se muestra «ssh» en lugar de 22 para la conexión SSH en la segunda línea.
Podemos repetir esto para buscar sockets en el estado de escucha:
ss -t -r estado escuchando
Recv-Q Send-Q Dirección local: Puerto Dirección del mismo nivel: Puerto Proceso 0128 localhost: 5939 0.0.0.0:* 0 4096 localhost% lo: dominio 0.0.0.0:* 0128 0.0.0.0:ssh 0.0.0.0:* 0 5 localhost: ipp 0.0.0.0:* 0100 localhost: smtp 0.0.0.0:* 0128 [::]: ssh [::]: * 0 5 ip6-localhost: ipp [::]: * 0100 ip6-localhost: smtp [::]: *
Puede enumerar los sockets usando un protocolo particular con las opciones dport
y sport
, que representan los puertos de destino y de origen, respectivamente.
Escribimos lo siguiente para enumerar los sockets que usan el protocolo HTTPS en una established
conexión (observe el espacio después del paréntesis de apertura y antes del de cierre):
ss -un estado establecido '(dport =: https o sport =: https)'
Podemos usar el nombre del protocolo o el puerto normalmente asociado con ese protocolo. El puerto predeterminado para Secure Shell (SSH) es el puerto 22.
Usaremos el nombre del protocolo en un comando y luego lo repetiremos usando el número de puerto:
ss -a '(dport =: ssh o sport =: ssh)'
ss -a '(dport =: 22 o sport =: 22)'
Como era de esperar, obtenemos los mismos resultados.
Con la dst
opción (destino), podemos enumerar las conexiones a una dirección IP de destino en particular.
Escribimos lo siguiente:
ss -a dst 192.168.4.25
Para ver qué procesos están usando los sockets, puede usar la opción de procesos ( -p
), como se muestra a continuación (tenga en cuenta que debe usar sudo
):
sudo ss -t -p
Estado Recv-Q Send-Q Dirección local: Puerto Dirección del mismo nivel: Puerto Proceso ESTAB 0 0192.168.4.28:57650 54.218.19.119:https usuarios: (("firefox", pid = 3378, fd = 151)) ESTAB 0 0 192.168.4.28:ssh 192.168.4.25:43946 usuarios: (("sshd", pid = 4086, fd = 4), ("sshd", pid = 3985, fd = 4))
Esto nos muestra que las dos conexiones establecidas en los sockets TCP están siendo utilizadas por el demonio SSH y Firefox.
El ss
comando proporciona la misma información proporcionada anteriormente por netstat
, pero de una manera más simple y accesible. Puede consultar la página de manual para obtener más opciones y consejos.
El mundo del gaming ha experimentado un crecimiento exponencial en los últimos años. La…
Stokkete/Shutterstock.com ¿Sigue utilizando una unidad flash USB obsoleta para almacenar sus archivos? ¿Por qué no…
LG Los fabricantes siempre intentan mejorar el rendimiento de imagen de los monitores. Como resultado,…
Patty Chan/Shutterstock.com Si cree en lo que ve en las redes sociales, puede pensar en…
Seksan.TH/Shutterstock.com Los servicios de suscripción como Netflix, Game Pass y Spotify nos permiten consumir tantas…
fatmawati achmad zaenuri/Shutterstock El acceso a Internet, oa cualquier otra red, se rige por la…