¿Qué comando utilar para analizar los puertos de la máquina donde nos encontramos conectados?

netstat

sudo netstat -tulpn

De la ejecución de este comando obtendremos sobre los puertos y protocolos que escucha nuestra máquina, que programa y PID tienen asociado cada puerto y el estado del mismo.

ss

Alternativamente se puede emplear el más moderno y potente comando ss con el que se pueden obtener resultados similares.

ss -a | grep LISTEN --color

fuser

Si sabemos ya el puerto que queremos comprobar el PID del programa que escucha en un puerto lo podremos hacer con el comando siguiente, donde cambiaremos #puerto por el número de puerto, poniendo tcp o udp dependiendo del protocolo que nos interese.

sudo fuser #puerto/tcp
cat /proc/xxx y ps

Si queremos saber el programa asociado al PID obtenido ejecutaremos el comando que sigue cambiando #pid por el número obtenido.

sudo ls -l /proc/#pid/exe

Si con el nombre obtenido aún no tenemos claro que programa es podremos ejecutar man “programa” o whatis “programa”. Aunque siempre nos quedará google

Si lo que queremos saber es el propietario del programa ejecutaremos lo siguiente.

sudo ls -l /proc/#pid/cwd

O también …

sudo ps aux | grep #pid

nmap

Si queremos comprobar los puertos de una máquina remota podremos ejecutar el siguiente comando.

sudo nmap -sN -p T:#puerto URL

Donde T se refiere a tcp y puede cambiarse por U para comprobar el protocolo udp, #puerto es el número de puerto y URL es la dirección del host a comprobar.

Se puede obtener algo más de información con las siguientes opciones.

sudo nmap -p 1-65535 -T4 -A -v URL