Я пытаюсь проанализировать информацию о сокете от /proc/net/tcp
и в то время как я могу определить некоторые поля, такие как адреса памяти или отправить использование очереди, я не могу найти, как каждая запись связывается со своим дескриптором сокета. например, с этими данными:
1: 5922140A:E459 D5C43B45:0050 01 00000000:00000000 00:00000000 00000000 1000 0 507218 1 f6ab1300 57 3 12 4 -1
Я хочу знать, который является соответствующим дескриптором сокета.
Возьмем номер inode (в данном случае 507218). Каждый открытый дескриптор файла для этого сокета (может быть несколько дескрипторов файлов для одного сокета) будет отображаться как ссылка вида:
/proc/<PID>/fd/<N> -> socket[507218]
(где
- идентификатор процесса, а
- дескриптор файла).
Зависит от архитектуры, как может быть отформатирован /proc, но в Linux:
http://linuxdevcenter.com/pub/a/linux/2000/11/16/LinuxAdmin.html