Hola a todos,

retomando el asunto del comando lsof del que hablamos un poco hace no demasiado tiempo, comentábamos que lsof -i mostraba información sobre los sockets IP que estaban abiertos.

Esta orden puede ser muy útil en el caso de que estemos buscando problemas de seguridad o simplemente controlar las comunicaciones entre tu PC y las máquinas en Internet. Aquí podemos ver ejemplo de salida:

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
dhclient 2242 root 6u IPv4 6110 UDP *:bootpc
cupsd 2928 root 1u IPv4 260191390 TCP localhost:ipp (LISTEN)
mysqld 5763 mysql 4u IPv4 187454609 TCP thisserver.example.com:38530->thatserver.example.com:ldaps (CLOSE_WAIT)
sshd 17005 root 3u IPv6 264275196 TCP thisserver.example.com:ssh->thatserver.example.com:53043 (ESTABLISHED)

Normalmente verás dos reportes para cada uno de los comandos, el primero para TCP y el segundo para UDP. Para cada socket IP se muestra el PID y el usuario, en el caso de detectar alguna informacion sospechosa se puede investigar con mas detalle (por ejemplo, con ps -l 5763 para obtener mas informacion sobre el proceso mysql que se ha mostrado en la salida del comando, o bien echando un vistazo en /proc/5763/).

Para echar un vistazo en tiempo real o bien para conocer que es lo que se esta abriendo en este momento, podemos usar el comando lsof -i (con Ctrl-C salimos). Para verificar quien se esta conectando a nuestro servidor web podemos especificar erl puerto con el comando lsof -i :80: Obtendremos una lista con todas las direcciones IP o máquinas que están conectadas al servidor en el momento actual. Podemos también verificar las conexiones con una máquina en particular con el comando lsof -i@hostname.example.com (también podemos dar la dirección IP de forma directa).

Se puede obtener informacion similar sobre los sockets que están abiertos en la máquina con el comando lsof -U. Los sockets de Unix gestionan la comunicación entre procesos, mas o menos como los sockets IP pero en la máquina propiamente dicha al contrario que los IP que hacen lo mismo a través de la red. Esta informacion puede ser realmente útil cuando estamos intentado localizar algún bug.

Pues por hoy estoy es todo. Saludos a todos.

You must be logged in to post a comment.