Saya memiliki BusyBox (BusyBox v1.01 (200812.19-21: 31 + 0000) ultra-tua (jangan tanya mengapa) BusyBox (shell)) di DreamBox saya. Saya ingin mengetahui proses mana yang membuka koneksi mana yang menggunakan netstat. Tapi saya menemukan bahwa netstat BusyBox tidak mengandung opsi -p . Kemungkinan lain apa yang harus saya cari tahu proses mana yang telah membuka (dan menggunakan) soket yang sesuai?
10
Jawaban:
Anda dapat menemukan informasi yang setara dalam bentuk yang sedikit lebih buruk (alias heksadesimal) di
/proc/net/tcp
. Di sana, Anda dapat menemukan inode koneksi, yang dapat Anda cari di bawah/proc/$pid/fd/
.Sebagai contoh:
(Di netstat normal, tetapi tidak di busybox netstat,
-e
opsi juga memberi Anda informasi tambahan itu.)dan
Anda memerlukan akses root untuk langkah kedua.
Tidak nyaman sebagai
-p
pilihan, jelas, tetapi karya-karya dalam mengikat. Bisa dituliskan, jika perlu.sumber
6115
dan menggunakannya seperti ini:find /proc/ -type l | grep /fd/ | xargs ls -la 2>/dev/null | grep 6115
Ini mungkin tidak membantu, jika Anda tidak memiliki kesempatan untuk membangun kembali Busybox, tetapi jika itu membantu siapa pun ...
Busybox memang memiliki opsi konfigurasi untuk mendukung
-p
pergantian Busyboxnetstat
. Lihat opsiCONFIG_FEATURE_NETSTAT_PRG
, yang dipilih di menboxen busybox melalui Utilitas Jaringan → netstat → Aktifkan PID / Output nama program .sumber
Jika Anda memiliki atau dapat
ss
menggunakan perangkat Anda, PID tersebut juga dapat menunjukkan kepada Anda:sumber