View Full Version : dall'inode al processo
sempre per lo stesso progetto che sto montando ho bisogno di risalire a un processo partendo dalle voci in /proc/net/tcp.
qui trovo una voce inode, e con quella dovrei riuscire a risalire al processo guardando di nuovo in /proc
cito dall'email:
1. you receive the packet from QUEUE|NFQUEUE and extract ipv4
header
2. you parse /proc/net/udp ou /proc/net/tcp to find the
corresponding connection (search on the ipv4 header of the
packet).
3. you get inode number which give you the process by lookng again
in /proc
il casino e che non so assolutamente come passare da sto inode al processo....
qualcuno me lo può spiegare?
ciao
DanieleC88
06-11-2005, 09:35
Non saprei aiutarti sul parsing, ma devi prendere l'ultima voce, che è l'inode e leggere nella corrispondente cartella, /proc/<inode>/. ;)
ne abbiamo parlato su irc, e non corrisponde.
tenete conto che un output è:
NA01:/home/ultio# cat /proc/net/tcp
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
0: 0100007F:0019 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 6203 1 de4adb60 3000 0 0 2 -1
1: 6900FF05:A2A9 0611FED5:0050 01 00000000:00000000 00:00000000 00000000 1000 0 8031 1 d285e7e0 224 40 8 2 -1
2: 6900FF05:E8E1 673BEFD8:0050 01 00000000:00000000 00:00000000 00000000 1000 0 7901 1 d285e420 266 40 24 2 -1
3: 6900FF05:D889 0E052154:1A0B 01 00000000:00000000 02:00080EC1 00000000 1000 0 7438 2 de4ad3e0 240 62 30 2 -1
e che nessuna voce sembra rispecchiare direttamente acun pid :(
ciao
ilsensine
07-11-2005, 09:16
Non puoi farlo direttamente, in quanto ad un singolo inode possono corrispondere più "istanze aperte" possedute da diversi processi. L'unica è sfogliarsi /proc/<pid>/fd/.
:eek:
meno male che me lo hanno consigliato su netfilter con la voce:
"Why not simply use /proc interface" :sofico:
e vabbe` provo a implementarlo e guardo quanto e` veloce...
grazie, ciao!
scusa, ci ho pensato un attimo e mi e venuto un colpo.....
devo aprire TUTTI i /proc/pid/fd alla ricerca di un link che mi punti alla socket con l'inode giusto tra quadre????
ok che lo fa il pc e non lo faccio io a mano tutte le volte, ma non e` un po` macchinoso?
volevo solo sapere se e` questo che intendi.
cmq ci ho provato e sembra andare
grazie, ciao!
PS: scusate la puntegiatura e gli apostrofi/accenti messi a caso... quando mi abituero` a ste tastiere americane dell'uni mi saro` gia` laureato :D
ilsensine
07-11-2005, 15:31
Sì esattamente. Guarda allo strace di fuser.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.