Как я могу соответствовать каждой/proc/net/tcp записи в каждый открытый сокет?

Я пытаюсь проанализировать информацию о сокете от /proc/net/tcp и в то время как я могу определить некоторые поля, такие как адреса памяти или отправить использование очереди, я не могу найти, как каждая запись связывается со своим дескриптором сокета. например, с этими данными:

1: 5922140A:E459 D5C43B45:0050 01 00000000:00000000 00:00000000 00000000  1000        0 507218 1 f6ab1300 57 3 12 4 -1  

Я хочу знать, который является соответствующим дескриптором сокета.

15
задан frogatto 3 September 2017 в 09:11
поделиться

2 ответа

Возьмем номер inode (в данном случае 507218). Каждый открытый дескриптор файла для этого сокета (может быть несколько дескрипторов файлов для одного сокета) будет отображаться как ссылка вида:

/proc/<PID>/fd/<N> -> socket[507218]

(где - идентификатор процесса, а - дескриптор файла).

17
ответ дан 1 December 2019 в 04:00
поделиться

Зависит от архитектуры, как может быть отформатирован /proc, но в Linux:

http://linuxdevcenter.com/pub/a/linux/2000/11/16/LinuxAdmin.html

1
ответ дан 1 December 2019 в 04:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: