Algo sobre lsof

lsof es una herramienta de Linux/Unix que debe su nombre a “lists open files”. Y bueno, eso es lo que hace: listar los ficheros abiertos en un sistema de este tipo. Como sabemos, todo en Linux/Unix son ficheros (un socket es un fichero, una unidad de DVD es un fichero, …), por lo tanto la información que nos puede proporcionar este comando es enormemente útil.
Veamos con algunos ejemplos como empezar a sacarle partido:
1) Listar todas las conexiones abiertas en nuestro host.
lsof -i
2) Listar las conexiones al puerto donde corre el servidor apache en modo no seguro.
lsof -i :80
3) Listar las conexiones desde nuestro host al host 10.2.1.1:
lsof -i@10.2.1.1
4) Listar puertos en escucha
lsof -i | grep “LISTEN”
5) Listar los procesos, conexiones y ficheros abiertos por el usuario user
lsof -u user
6) Listar todos los ficheros abiertos por el procesos syslogd
lsof -c syslogd
7) Listar los ficheros abiertos por un proceso con PID 1001
lsof -p 1001
Hay una versión GUI en http://www.geocities.co.jp/SiliconValley/1596/en/jlsof.html
Más información en netadmintools o man lsof.
