Cómo encontrar todos los clientes conectados a puertos HTTP o HTTPS


En este breve artículo rápido, aprenderá cómo encontrar todos los clientes (usando sus direcciones IP) conectados a un servidor web Apache o Nginx en puertos HTTP o HTTPS en un servidor Linux.

En Linux, cada servicio que se ejecuta en el servidor escucha el socket para que un cliente realice una solicitud de conexión. Tras una conexión exitosa de un cliente, se crea un socket (una combinación de una dirección IP y un puerto (un número que identifica una aplicación/servicio al que está conectado el cliente)).

Lectura recomendada: Cómo ver puertos TCP y UDP en tiempo real

Para obtener la información detallada de estos sockets, usaremos un comando netstat, que muestra las conexiones de socket activas.

Por ejemplo, puede utilizar estas herramientas para obtener la información de estadísticas de socket de todos los clientes conectados a un puerto o servicio específico.

# ss
OR
# netstat

Para obtener la lista de todos los clientes conectados a HTTP (puerto 80) o HTTPS (puerto 443), puede usar el comando netstat, que enumerará todas las conexiones (independientemente del estado en el que se encuentren), incluidas las estadísticas de sockets de UNIX.

# ss -o state established '( sport = :http or sport = :https )'
OR
# netstat -o state established '( sport = :http or sport = :https )'

Alternativamente, puede ejecutar el siguiente comando para enumerar los números de puerto numéricos.

# ss -tn src :80 or src :443
OR
# netstat -tn src :80 or src :443

También puede encontrar útiles los siguientes artículos:

  1. 4 formas de averiguar qué puertos están escuchando en Linux
  2. Cómo comprobar que los puertos remotos son accesibles mediante el comando "nc"

Eso es todo lo que tenemos en este breve artículo. Para obtener más información sobre la utilidad ss, lea su página de manual (man ss). Puede comunicarse con nosotros para cualquier pregunta, a través del formulario de comentarios a continuación.