¿Cómo saber qué programa está escuchando qué puerto en linux?

Escribo esto para tenerlo a la mano, porque seguido me pasa que dejo corriendo un servicio y choca con otro y no me acuerdo cuál era.

ss es una utilidad que permite investigar puertos de red y es parte del paquete iproute2. Provee una funcionalidad similar a netstat (ahora obsoleto). El comando que más utilizo es:

# ss -tulpn

Las opciones significan:

-t Listar sockets TCP

-u Listar sockets UDP

-l Listar sockets que están escuchando (por defecto se omiten)

-p Mostrar el proceso que está usando el socket

-n Usa el valor numérico del puerto. Esto es importante pues de otra manera se listará el nombre del servicio que ss cree que está asignado a ese puerto por defecto.