Я не думаю, что есть другой способ, / proc / net / *
и / proc / * / fd /
кажутся быть тем, что читают lsof
и netstat -p
. Также было бы невозможно иметь уникальное сопоставление сокетов (или портов TCP) с процессами, поскольку несколько процессов могут иметь копии одного и того же сокета. netstat -p
, кажется, показывает только один из них, lsof
, конечно, перечисляет все. Кроме того, поскольку вы начинаете с пакета, у него может вообще не быть исходного сокета: он может поступать извне системы или из необработанного / пакетного сокета