netstat inode no proc 32 bit

25/07/2006 by - Linux

Bug del comando netstat che si presenta quando i valori degli INODE iniziano a superare i 32bit. Un sistema ad alta frequenza di acessi I/O sul disco (es. creazione di molti file anche piccoli ) dopo aver lanciato il comando

netstat -nap

non mi mostrava più il processo associato alla connessione stabilita nè allo unix socket. Un problema aggirabile utilizzando l’opzione -e che visualizza lo UID associato (è facile una mappatura UID)

Il problema risiede nel codice src di netstat, netstat.c

Il tipo di “inode” è dichiarato in modo errato come int , è invece corretto l’utilizzo di un tipo ” unsigned long”.

Il fattore che mi ha illuminato è stato l’output della sezione unix socket. Alcuni presentavano ancora il processo associato, quelli con un INODE < 32bit

netstat.c

Questo è il sorgente di netstat patchato per Debian. netstat fa parte dei net-tools, scaricate i src, estraete, rimpiazzate netstat.c e lanciate make netstat e successivamente strip netstat: avrete il vostro nuovo binario.



Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.