Introducción
El comando ss es una poderosa utilidad en Linux que le permite monitorear y mostrar información sobre los sockets de red. A diferencia de netstat, ss proporciona información más detallada y es más rápido y eficiente. Esto lo convierte en una herramienta esencial para administradores de sistemas e ingenieros de redes.
En este artículo discutiremos los conceptos básicos del comando ss, su sintaxis y algunas de sus características principales. También cubriremos algunos ejemplos de uso avanzado del comando ss para ayudarlo a comenzar con esta poderosa herramienta.
Listar todas las conexiones de red
Para enumerar todas las conexiones de red, utilice la siguiente sintaxis:
ss -a
Este comando mostrará una lista de todas las conexiones de red, incluidas las que se encuentran en ESCUCHAR, ESTABLECIDAS y otros estados. El resultado de este comando incluirá direcciones IP de origen y destino, puertos de origen y destino, protocolo (TCP, UDP, etc.), estado de conexión y otra información.
Listar conexiones TCP
Para enumerar solo las conexiones TCP, use la siguiente sintaxis:
ss -t
Este comando mostrará una lista de todas las conexiones TCP, incluidas las que se encuentran en LISTEN, ESTABLECIDO y otros estados. El resultado de este comando incluirá direcciones IP de origen y destino, puertos de origen y destino, protocolo (TCP), estado de conexión y otra información.
Listar conexiones UDP
Para enumerar solo las conexiones UDP, use la siguiente sintaxis:
ss -u
Este comando mostrará una lista de todas las conexiones UDP. El resultado de este comando incluirá direcciones IP de origen y destino, puertos de origen y destino, protocolo (UDP), estado de conexión y otra información.
Filtrar conexiones por puerto
Puede filtrar las conexiones de red por puerto usando la siguiente sintaxis:
ss -t dst:port
Este comando enumerará todas las conexiones TCP con un puerto de destino igual al puerto especificado. Por ejemplo, para enumerar todas las conexiones TCP con un puerto de destino de 80, use el siguiente comando:
ss -t dst:80
Filtrar conexiones por dirección IP
Puede filtrar las conexiones de red según la dirección IP utilizando la siguiente sintaxis:
ss dst IP_ADDRESS
Este comando enumerará todas las conexiones con una dirección IP de destino igual a la dirección IP especificada. Por ejemplo, para enumerar todas las conexiones con una dirección IP de destino de 192.168.1.100, use el siguiente comando:
ss dst 192.168.1.100
Ver estadísticas para una conexión específica
Puede ver las estadísticas de una conexión específica utilizando la siguiente sintaxis:
ss -i state IP_ADDRESS:port
Este comando mostrará información detallada sobre la conexión especificada, incluido el estado de la conexión, la cantidad de paquetes y bytes enviados y recibidos, y otra información. Por ejemplo, para ver las estadísticas de una conexión TCP con una dirección IP de destino de 192.168.1.100 y un puerto de destino de 80, use el siguiente comando:
ss -i state 192.168.1.100:80
Listar los puertos de escucha
Para enumerar los puertos de escucha, utilice la siguiente sintaxis:
ss -l
Este comando mostrará una lista de todos los puertos de escucha, incluida la dirección IP y el número de puerto para cada conector de escucha. La salida de este comando también incluirá información sobre el proceso.
Ver todas las conexiones TCP establecidas
El siguiente comando mostrará todas las conexiones TCP establecidas en el sistema:
ss -t state established
El siguiente comando mostrará todas las conexiones TCP establecidas en el sistema:
ss -t state established
Ver todos los enchufes de escucha
Si desea ver todos los enchufes de escucha, puede usar el siguiente comando:
ss -l
Ver estadísticas de red para un protocolo específico
Puede ver las estadísticas de red para un protocolo específico usando el siguiente comando:
ss -s protocol
Reemplace el protocolo con el protocolo deseado (por ejemplo, tcp, udp, etc.).
Ver información de un puerto específico
Puede ver la información de un puerto específico con el siguiente comando:
ss -t state port
Reemplace el puerto con el número de puerto deseado.
Ver información para una dirección IP remota específica
Si desea ver la información de una dirección IP remota específica, puede usar el siguiente comando:
ss -o src IP_ADDRESS
Reemplace IP_ADDRESS con la dirección IP deseada.
Ver información para un trabajo específico
Puede ver información para un proceso específico usando el siguiente comando:
ss -p | grep PID
Reemplace PID con el ID de proceso del proceso deseado.
Ver información de marca de tiempo
Puede ver la información de la marca de tiempo de un socket usando el siguiente comando:
ss -o time
Ver información para un búfer de socket específico
Puede ver la información de un búfer de socket específico con el siguiente comando:
ss -o buffer SOCKET_BUFFER
Reemplace SOCKET_BUFFER con el búfer de socket deseado.
Ver información para una interfaz específica
Puede ver información para una interfaz específica usando el siguiente comando:
ss -i interface
Reemplace la interfaz con la interfaz de red deseada.
Ver información de un usuario específico
Puede ver la información de un usuario específico usando el siguiente comando:
ss -u user
Reemplace el usuario con el nombre de usuario deseado.
Conclusión
El comando ss es una herramienta invaluable para monitorear y analizar sockets de red en Linux. Ya sea que sea un administrador de sistemas, un ingeniero de redes o simplemente un entusiasta de Linux, tener una buena comprensión de ss puede ayudarlo a diagnosticar problemas de red, mejorar el rendimiento de la red y optimizar su sistema.
En conclusión, el comando ss es una herramienta esencial para cualquiera que trabaje en un entorno de red. Con sus características y opciones avanzadas, puede obtener una visión más profunda de su red y tomar decisiones informadas para mejorar su rendimiento. Por lo tanto, asegúrese de familiarizarse con esta poderosa herramienta y utilícela en su próximo proyecto de Linux.