Busybox, netstat, no -p


10

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?


Apakah ini bagian dari versi busybox?
— Zoredache

Sayangnya tidak.
— a1337q

Jawaban:


15

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:

$ cat /proc/net/tcp
sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode
 0: 00000000:0016 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 6115 1 f5adc4c0 300 0 0 2 -1
...

(Di netstat normal, tetapi tidak di busybox netstat, -eopsi juga memberi Anda informasi tambahan itu.)

dan

$ sudo ls -l /proc/2560/fd
...
lrwx------ 1 root root 64  7 jan 22.50 3 -> socket:[6115]

Anda memerlukan akses root untuk langkah kedua.

Tidak nyaman sebagai -ppilihan, jelas, tetapi karya-karya dalam mengikat. Bisa dituliskan, jika perlu.


Kedengarannya keren, tetapi netstat saya tidak berfungsi sebagaimana mestinya, tidak menghasilkan apa-apa tambahan dengan opsi -e . Saya memiliki 6 kolom juga dengan -e : Proto, Recv-Q, Send-Q, Alamat Lokal, Alamat Asing, Negara. Apakah ada cara dengan port? Saya dapat melihat port ..
— a1337q

Anda benar, saya pasti mengacaukan tes saya. Saya mengeditnya untuk memberi Anda solusi yang berfungsi.
— Peter Eisentraut

2
Bagaimana Anda menemukan nomor "2560" yang Anda ketikkan pada perintah kedua? Itu pertanyaannya.
— ygoe

1
@ygoe, Anda harus menggunakan 6115dan menggunakannya seperti ini:find /proc/ -type l | grep /fd/ | xargs ls -la 2>/dev/null | grep 6115
— Sam

3

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 -ppergantian Busyboxnetstat . Lihat opsi CONFIG_FEATURE_NETSTAT_PRG, yang dipilih di menboxen busybox melalui Utilitas Jaringan → netstat → Aktifkan PID / Output nama program .


0

Jika Anda memiliki atau dapat ssmenggunakan perangkat Anda, PID tersebut juga dapat menunjukkan kepada Anda:

ss -ltp # for TCP
ss -lup # for UDP
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.