En lsof output, ¿qué son esas líneas de 'calcetines'?

En lsof output, ¿qué son esas líneas de 'calcetines'?

En el comando lsof en Ubuntu/Debian, veo muchas líneas como las siguientes:

PROGRAM 829 root  140u     sock        0,8       0t0 244182 protocol: TCP

¿Cuáles son estas líneas?

¿Pueden ser resultados de intentos fallidos de conexión TCP?

Respuesta1

Esta línea se muestra cuando lsofno se puede encontrar información adicional en el socket TCP: sabe que es un socket TCP pero no más.

Hay dos razones que se me ocurren:

  • Es poco probable: el socket todavía no escucha ni se conecta: es decir, se utiliza un servidor o cliente, por ejemplosocket(AF_INET, SOCK_STREAM, 0)para crear un socket TCP pero aún no lo he llamadolisten(2)oconnect(2). Esto podría deberse a la falta de recursos o a un software defectuoso.

  • Lo más probable hoy: el proceso visto por lsoflas ejecuciones en otroespacio de nombres de red, normalmente en un contenedor (Docker, LXC, LXD...) y por lo tanto lsofno tiene acceso a la información relevante y no la muestra.

    Luego deberías ejecutar lsofdesde el mismo espacio de nombres de red que el proceso. EllsnsynsenterLos comandos pueden ser de gran ayuda para esto. Para su caso, esto probablemente funcione:

      nsenter -t 829 --net lsof -n -p 829
    

En casos normales, lsofse mostraría IPv4o IPv6en lugar de socky tendría información adicional, como el puerto de escucha o las direcciones involucradas. Incluso se mostrará una conexión aún en curso con las direcciones involucradas y, por ejemplo SYN_SENT.

información relacionada