Подтвердить что ты не робот

Как я могу сопоставить каждую запись /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  

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

4b9b3361

Ответ 1

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

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

(где <PID> - идентификатор процесса, а <N> - файловый дескриптор).