Estoy trabajando en un proxy para Linux (C++) que, entre otras funciones, realiza un seguimiento de las conexiones tcp y las asocia con el pid del proceso. Para hacer eso, obtengo el inodo en /proc/net/tcp y luego analizo todos los procesos en /proc/pid/fd para ver qué proceso lo contiene. Muy claro.
El problema es que a veces los clientes pueden abrir y cerrar la conexión más rápido de lo que el proxy puede analizar los fds de los procesos. Noté este campo: "ubicación del socket en la memoria", que está presente en /proc/net/tcp https://www.kernel.org/doc/Documentation/networking/proc_net_tcp.txt
y me pregunto si podría ser de alguna ayuda, todo está muy mal documentado y no encontré ningún recurso en línea relacionado con esto.
Mis preguntas son: ¿qué se entiende exactamente por ubicación de la memoria del socket, cómo se puede acceder a ella y qué puedo encontrar allí?
Gracias.