Cómo saber qué aplicación escucha en un puerto con lsof
Lsof (list of open files) es una utilidad de linux para ver los ficheros abiertos. El caso es que, en linux, las conexiones internet también son ficheros abiertos, así que podemos utilizar la utilidad lsof para saber qué aplicación está escuchando en un puerto determinado. Veamos cómo utilizar esta herramienta desde la terminal de nuestro sistema operativo.
Instalación de lsof
lsof se instala en Debian, Raspbian, Ubuntu y derivados de la siguiente forma:
$sudo apt install lsof
Uso de lsof para ver qué aplicación está escuchando en un puerto
En el siguiente ejemplo veremos qué aplicación está escuchando en el puerto 8081:
$sudo lsof -i :8081
Veamos el resultado:
pi@raspberrypi:~ $ sudo lsof -i :8081 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME motion 839 motion 8u IPv4 7065 0t0 TCP *:tproxy (LISTEN) motion 839 motion 9u IPv4 69432 0t0 TCP 192.168.2.121:tproxy->192.168.2.106:1689 (ESTABLISHED) motion 839 motion 10u IPv4 69962 0t0 TCP 192.168.2.121:tproxy->192.168.2.106:4029 (ESTABLISHED)
En el ejemplo hemos utilizado nuestra raspberry pi para ver qué aplicación escucha en el puerto 8081. En este caso es el servidor motion, que publica un streaming de vídeo de nuestra cámara web USB tal como describimos en el artículo Cómo instalar un cámara web usb y acceder a ella desde tu navegador.
¿Tienes alguna duda sobre cómo hacer algo en linux? ¡Pregúntanos en los comentarios!