Los administradores de sistemas a menudo necesitan identificar a los clientes conectados a puertos específicos. Esto se hace para prevenir accesos no autorizados y asegurar el funcionamiento sin interrupciones del sistema operativo.
En este artículo, te mostraremos cómo averiguar todos los clientes conectados a los puertos HTTP (puerto 80) y HTTPS (puerto 443), usando netstat
y ss
en Linux.
¿Qué es la utilidad netstat?
La utilidad netstat
proporciona información sobre las conexiones de red activas, los puertos en escucha y otros datos relacionados con la red. Es útil para solucionar problemas y mantener el funcionamiento de la red en Linux, aunque está obsoleta en muchas distribuciones modernas, donde ss
es la herramienta recomendada.
Para ejecutar la utilidad netstat
, ejecuta el siguiente comando en la terminal:
netstat
También puedes leer: Cómo instalar el comando netstat en Linux.
¿Qué es la utilidad ss?
La utilidad ss
(de Socket Statistics) está diseñada para mostrar estadísticas detalladas sobre los sockets. Es más rápida que netstat
y proporciona información más detallada sobre el estado de la red.
Para ejecutar la utilidad ss
, ejecuta el siguiente comando en la terminal:
ss

¿Cómo saber quién está conectado a los puertos 80 y 443?
HTTP y HTTPS son dos protocolos usados para acceder y transferir datos entre navegadores web y servidores web. El primero funciona a través del puerto 80, y el segundo a través del 443. HTTPS proporciona un nivel adicional de seguridad mediante el cifrado de datos, lo que lo hace preferible para la transmisión de información confidencial a través de internet.
Para obtener una lista de todos los clientes conectados a los puertos 80 o 443 (como servidores escuchando o conexiones salientes), usa uno de estos comandos. Nota que algunos requieren permisos de superusuario (sudo
):
- Para verificar conexiones donde el puerto local es 80 o 443 (servidores escuchando):
sudo ss -tln '( sport = :80 or sport = :443 )'
sudo netstat -tln | grep ':80\|:443'
- Para verificar conexiones establecidas hacia puertos remotos 80 o 443 (como cliente):
sudo ss -tn '( dport = :80 or dport = :443 )'
sudo netstat -tn | grep ':80\|:443'
También puedes leer: Cómo redirigir Apache HTTP a HTTPS.

Analicemos la estructura de los comandos:
-t
: opción que indica que solo se deben mostrar las conexiones TCP.-n
: parámetro que indica que se deben mostrar las direcciones IP y los números de puerto.-l
: muestra puertos en estado de escucha (solo para servidores).( sport = :80 or sport = :443 )
: filtra conexiones donde el puerto local es 80 o 443.( dport = :80 or dport = :443 )
: filtra conexiones donde el puerto remoto es 80 o 443.grep ':80\|:443'
: filtra la salida denetstat
para mostrar líneas con los puertos 80 o 443.
También puedes usar estos comandos para conexiones establecidas (como cliente):
sudo ss -tnp state established '( dport = :http or dport = :https )'
sudo netstat -tnp | grep ':80\|:443'
Donde:
-p
: muestra el programa asociado con cada conexión (requieresudo
).state established
: filtra la salida, mostrando solo las conexiones establecidas.( dport = :http or dport = :https )
: filtra conexiones hacia los puertos 80 (HTTP) o 443 (HTTPS) remotos.
Conclusiones
Hemos mostrado cómo usar los comandos netstat
y ss
para encontrar clientes conectados a los puertos HTTP o HTTPS, ya sea como servidor o cliente. Los ejemplos te ayudarán a mantener la seguridad y el rendimiento de los servidores web, y a asegurar una comunicación fluida entre clientes y servicios. Nota que netstat
puede no estar disponible en sistemas modernos; en esos casos, usa ss
.
Si tienes alguna pregunta, háznosla saber en los comentarios.
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.