Tengo un BusyBox ultra antiguo (no pregunte por qué) (BusyBox v1.01 (2008.12.19-21: 31 + 0000) Shell incorporado (ceniza)) en mi DreamBox. Me gustaría saber qué proceso abrió qué conexión usando netstat. Pero descubrí que netstat de BusyBox no contiene la opción -p . ¿Qué otras posibilidades tengo para averiguar qué proceso ha abierto (y está usando) el socket correspondiente?
10
Respuestas:
Puede encontrar la información equivalente en forma ligeramente más fea (también conocida como hexadecimal) en
/proc/net/tcp
. Allí, puede encontrar el inodo de la conexión, que puede buscar debajo/proc/$pid/fd/
.Por ejemplo:
(En netstat normal, pero no en busybox netstat, la
-e
opción también le brinda esa información adicional).y
Necesita acceso de root para el segundo paso.
No es tan conveniente como la
-p
opción, obviamente, pero funciona en un enlace. Podría ser un guión, si es necesario.fuente
6115
y usarlo así:find /proc/ -type l | grep /fd/ | xargs ls -la 2>/dev/null | grep 6115
Esto puede no ayudar, si no tiene la oportunidad de reconstruir Busybox, pero en caso de que ayude a alguien ...
Busybox tiene una opción de configuración para admitir el
-p
cambio de Busyboxnetstat
. Consulte la opciónCONFIG_FEATURE_NETSTAT_PRG
, seleccionada en la configuración del menú busybox a través de Networking Utilities → netstat → Activar salida PID / Nombre del programa .fuente
Si tiene o puede acceder
ss
a su dispositivo, también puede mostrarle el PID:fuente