Cuando esté solucionando problemas de red en Linux o esté buscando formas de mejorar la seguridad de su máquina Linux, necesitará saber si los puertos están abiertos y cuáles. En este artículo, veremos diferentes formas de enumerar o mostrar puertos abiertos en Linux.
¿Qué es un puerto?
Un puerto es un número de 16 bits (0 a 65535) que ayuda a identificar una aplicación o proceso determinado en un sistema operativo Linux (Unix). El puerto diferencia una aplicación de otra en un sistema Linux.
A continuación se muestran las diferentes categorías de puertos:
- 0 – 1023 – Denominados Puertos Bien Conocidos
- 1024 – 49151 –Conocidos como Puertos Registrados
- 49152 – 65535 – Conocidos como Puertos Dinámicos
Con el siguiente comando, se muestra una lista de aplicaciones y puertos en su terminal:
TCP: TCP significa Protocolo de control de transmisión. Es el protocolo más utilizado en Internet. TCP no es solo una comunicación unidireccional, sino que envía paquetes para confirmar que recibió sus paquetes.
UDP: También conocido como Protocolo de datagramas de usuario. Es un protocolo de comunicaciones alternativo a TCP. El protocolo UDP funciona de manera similar a TCP. Sin embargo, ignora todas las cosas de verificación de errores. UDP es necesario cuando se desea velocidad y no se necesita corrección de errores.
TOMAS: Socket permite la comunicación de dos procesos diferentes en la misma o en diferentes máquinas.
Veamos diferentes formas de enumerar un puerto abierto en Linux.
1. Netstat
En este método usaremos el comando netstat -atu
para comprobar si hay puertos abiertos en Linux.
usamos el -a
, -t
y -u
banderas para netstat.
- -a: muestra todos los enchufes
- -t: muestra conexiones TCP
- -tu: muestra conexiones UDP
También puede agregar el -p
indicador para mostrar el PID relacionado del proceso o nombre del programa.
Para mostrar solo los puertos UDP, puede usar el siguiente comando:
Además, puede usar el siguiente comando para buscar puertos TCP:
2. lsof
En lugar de usar netstat, podemos usar el lsof
Comando para mostrar puertos abiertos en Linux:
El siguiente comando también puede ayudar a mostrar sockets abiertos:
Además, puede usar el siguiente comando para enumerar todas las conexiones TCP:
Además, puede usar el siguiente comando para conexiones UDP:
3. Comando asignado a la red
En este método usaremos nmap
para detectar el puerto abierto en su sistema. Podemos usar el siguiente comando para mostrar las conexiones del puerto tcp:
Finalmente, para mostrar las conexiones del puerto udp, podemos usar el siguiente comando:
Conclusión
Cuando se trata de la seguridad de su PC con Linux, lo primero que debe hacer es cerrar todos los puertos innecesarios para evitar el acceso externo. Con los métodos enumerados anteriormente, podrá verificar fácilmente los puertos abiertos en un sistema Linux y determinar qué puertos deben cerrarse o permanecer abiertos.