Não acredito que exista outra forma, /proc/net/*
e /proc/*/fd/
parecem ser o que lsof
e netstat -p
lêem. Ter um mapeamento exclusivo de soquetes (ou portas tcp) para processos também seria impossível, já que vários processos podem ter cópias do mesmo soquete. netstat -p
parece mostrar apenas um deles, lsof
, claro, lista todos. Além disso, como você está começando de um pacote, ele pode não ter um soquete de origem: ele pode vir de fora do sistema ou de um soquete bruto / de pacote