J'ai un BusyBox ultra ancien (ne demandez pas pourquoi) (BusyBox v1.01 (2008.12.19-21: 31 + 0000) Coque intégrée (ash)) sur ma DreamBox. Je voudrais savoir quel processus a ouvert quelle connexion en utilisant netstat. Mais j'ai découvert que netstat de BusyBox ne contient pas l' option -p . Quelles autres possibilités ai-je pour savoir quel processus a ouvert (et utilise) le socket correspondant?
10
Réponses:
Vous pouvez trouver les informations équivalentes sous une forme légèrement plus laide (aka hexadécimal) dans
/proc/net/tcp
. Là, vous pouvez trouver l'inode de la connexion, sous lequel vous pouvez rechercher/proc/$pid/fd/
.Par exemple:
(Dans netstat normal, mais pas dans netbox occupé, l'
-e
option vous donne également ces informations supplémentaires.)et
Vous avez besoin d'un accès root pour la deuxième étape.
Pas aussi pratique que l'
-p
option, évidemment, mais fonctionne dans une liaison. Peut être scripté, si nécessaire.la source
6115
et l'utiliser comme ceci:find /proc/ -type l | grep /fd/ | xargs ls -la 2>/dev/null | grep 6115
Cela peut ne pas aider, si vous n'avez pas la possibilité de reconstruire Busybox, mais au cas où cela aiderait quelqu'un ...
Busybox dispose d'une option de configuration pour prendre en charge le
-p
basculement de Busyboxnetstat
. Voir l'optionCONFIG_FEATURE_NETSTAT_PRG
, sélectionnée dans busybox menuconfig via Networking Utilities → netstat → Enable PID / Program name output .la source
Si vous avez ou pouvez obtenir
ss
sur votre appareil, il peut aussi vous montrer le PID:la source