Estou trabalhando em um proxy para Linux (C++) que, entre outras funções, monitora conexões TCP e as associa ao pid do processo. Para fazer isso, obtenho o inode em /proc/net/tcp e analiso todos os procs em /proc/pid/fd para ver qual processo o contém. Bem direto.
O problema é que às vezes os clientes conseguem abrir e fechar a conexão mais rápido do que o proxy consegue analisar os fds dos processos. Notei este campo - "localização do soquete na memória", que está presente em /proc/net/tcp https://www.kernel.org/doc/Documentation/networking/proc_net_tcp.txt
e me pergunto se isso pode ajudar em alguma coisa, a coisa toda está muito mal documentada e não encontrei nenhum recurso online relacionado a isso.
Minhas perguntas são: o que exatamente significa localização da memória do soquete, como ela pode ser acessada e o que posso encontrar lá?
Obrigado.