Veremos comandos básicos pero muy útiles para la gestión de cualquier sistema Linux. Estos comandos son lsof, netstat y nmap, que se ejecutan desde la consola del servidor como root.
Tipos de comandos para ver puertos abiertos en Ubuntu

Comando: lsof
El comando lsof es una parte integral de Linux y, por lo tanto, debería ser familiar para cualquier usuario de Linux. Al utilizar este comando, para ver los puertos en uso, introduzca el nombre de la aplicación (por ejemplo, sshd), el socket del programa (en este caso la dirección IP 10.86.251.138 en combinación con el puerto 22, que aparece en LISTEN) y el ID del proceso (85379).
$ sudo lsof -i -P -n
$ sudo lsof -i -P -n | grep LISTEN
Comando: netstat
Netstat tiene una sintaxis ligeramente diferente a la de lsof, pero creo que muestra parámetros más fáciles de recordar. A partir de ahora, recuerda la palabra putón, que tiene las siguientes propiedades:
p: Muestra la conexión para el protocolo especificado, que puede ser TCP o UDP.
u: Muestra todos los puertos UDP.
t: Muestra todos los puertos TCP.
o: Muestra los temporizadores.
n: Muestra el número de puerto.
a: Muestra todas las conexiones activas en el sistema.
A continuación, escriba el comando y utilice pipe para obtener información sobre un puerto específico, por ejemplo
$ netstat -p | grep numero-puerto
Comando: nmap
Con Nmap podemos realizar una serie de escaneos del sistema. Para utilizarlo, tenemos que hacer lo siguiente: nmap -sX -O Y, donde X es el valor T o U para las conexiones TCP o UDP y el valor Y es la dirección IP de nuestro ordenador (localhost para abreviar).
$ sudo nmap -sU -O localhost
$ sudo nmap -sT -O 192.168.0.1
Con estas 3 opciones tenemos suficientes herramientas para determinar los puertos abiertos en el ordenador.